/* Shared customer navigation and featured equipment, Blueprint / Atelier. */
body.brand-blueprint .bp-nav-actions .cx-articles-link { display:inline-flex; align-items:center; min-height:48px; font-size:19px; font-weight:600; padding:0 20px 0 8px; margin-right:8px; border-right:1px solid var(--line); text-decoration:none; white-space:nowrap; }
body.brand-blueprint .cx-articles-link:hover,body.brand-blueprint .cx-articles-link[aria-current] { color:var(--accent); }
body.brand-blueprint .bp-siteheader>nav>.cx-articles-mobile { display:none; }
@media(max-width:1380px){body.brand-blueprint .bp-nav-actions .cx-articles-link { display:none; }body.brand-blueprint .bp-siteheader>nav.is-open>.cx-articles-mobile { display:flex; margin-top:12px; border-top:2px solid var(--line); }}
body.brand-blueprint .bp-siteheader { position:sticky; top:0; z-index:40; padding:18px 4%; min-height:108px; gap:28px; background:var(--bg); border-bottom:1px solid var(--line); box-shadow:0 8px 24px #0002; }
body.brand-blueprint .bp-siteheader .bp-logo img { width:300px; }
body.brand-blueprint .bp-siteheader>nav { gap:24px; font-size:17px; }
body.brand-blueprint .bp-nav-actions { gap:12px; }
body.brand-blueprint .bp-nav-quote { min-width:0; font-size:17px !important; padding:13px 18px; gap:12px; }
body.brand-blueprint .breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
body.brand-blueprint .breadcrumb>a:hover { color:var(--accent); }
body.brand-blueprint .breadcrumb>[aria-current] { color:var(--ink); }
body.brand-blueprint .bp-siteheader>nav>a { position:relative; }
body.brand-blueprint .bp-siteheader>nav>a[aria-current],body.brand-blueprint .cx-nav-catalogue summary.is-current { color:var(--accent); }
body.brand-blueprint .bp-siteheader>nav>a[aria-current]:after { content:''; position:absolute; height:2px; background:var(--accent); bottom:0; left:0; right:0; }
body.brand-blueprint .cx-nav-catalogue { position:static; }
body.brand-blueprint .cx-nav-catalogue>summary { display:flex; align-items:center; gap:9px; min-height:48px; cursor:pointer; list-style:none; font-weight:600; white-space:nowrap; }
body.brand-blueprint .cx-nav-catalogue>summary::-webkit-details-marker { display:none; }
body.brand-blueprint .cx-nav-catalogue[open]>summary { color:var(--accent); }
body.brand-blueprint .cx-nav-catalogue[open]>summary svg { transform:rotate(180deg); }
body.brand-blueprint .cx-mega-menu { position:absolute; top:100%; left:4%; right:4%; max-width:980px; margin-left:auto; padding:28px; background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--accent); box-shadow:0 18px 40px #0005; }
body.brand-blueprint .cx-mega-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:16px; border-bottom:1px solid var(--line); }
body.brand-blueprint .cx-mega-heading>span { color:var(--muted); font-size:16px; text-transform:uppercase; letter-spacing:1px; }
body.brand-blueprint .cx-mega-heading>a { gap:18px; font-weight:700; }
body.brand-blueprint .cx-mega-categories { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:20px 0; }
body.brand-blueprint .bp-siteheader nav .cx-mega-categories>a { display:grid; grid-template-columns:1fr auto; padding:18px; gap:6px 18px; white-space:normal; border:1px solid transparent; border-radius:3px; }
body.brand-blueprint .cx-mega-categories>a>b { font-size:20px; font-weight:600; }
body.brand-blueprint .cx-mega-categories>a>span:not([aria-hidden]) { grid-row:2; font-size:16px; color:var(--muted); }
body.brand-blueprint .cx-mega-categories>a>span[aria-hidden] { grid-column:2; grid-row:1 / span 2; color:var(--accent); font-size:24px; }
body.brand-blueprint .cx-mega-categories>a:hover,body.brand-blueprint .cx-mega-categories>a[data-current] { border-color:var(--line); background:#ffffff08; }
body.brand-blueprint .cx-mega-categories>a[data-current] { border-left:3px solid var(--accent); }
body.brand-blueprint .cx-mega-brands { display:flex; align-items:center; gap:30px; border-top:1px solid var(--line); padding-top:12px; }
body.brand-blueprint .cx-mega-brands>span { color:var(--muted); font-size:16px; }
body.brand-blueprint .cx-mega-brands>a { gap:12px; }
body.brand-blueprint .cx-header-search { position:absolute; top:100%; left:0; right:0; display:flex; justify-content:center; align-items:flex-start; gap:28px; padding:28px 6% 32px; background:var(--surface); border-bottom:1px solid var(--line); box-shadow:0 18px 35px #0004; }
body.brand-blueprint .cx-header-search[hidden] { display:none !important; }
body.brand-blueprint .cx-header-search>div { max-width:900px; width:100%; }
body.brand-blueprint .cx-header-search p { font-weight:600; margin:0 0 14px; }
body.brand-blueprint .cx-header-search>div>span { display:block; margin-top:12px; font-size:16px; color:var(--muted); }
body.brand-blueprint .cx-header-search>button { width:48px; height:48px; flex-shrink:0; font-size:30px !important; }
body.brand-blueprint .cx-nav-search { display:flex; align-items:stretch; border:1px solid #647b87; background:var(--bg); border-radius:3px; overflow:hidden; }
body.brand-blueprint .cx-nav-search input[type=search] { flex:1; min-width:0; border:0; border-radius:0; background:transparent; color:var(--ink); }
body.brand-blueprint .cx-nav-search button { display:flex; align-items:center; gap:20px; padding:12px 22px; border:0; background:var(--accent); color:#102330; font-weight:700; }
body.brand-blueprint .cx-mobile-search { display:none; }
body.brand-blueprint [data-quote-count] { display:inline-flex; justify-content:center; align-items:center; min-width:24px; height:24px; padding:0 5px; border-radius:12px; background:#102330; color:#fff; font-size:16px; }
body.brand-blueprint [data-quote-count][hidden] { display:none; }

body.brand-blueprint .cx-product-carousel { position:relative; min-width:0; width:100%; align-self:center; border:1px solid #526977; background:#102a39; box-shadow:0 22px 60px #0003; z-index:2; }
body.brand-blueprint .cx-carousel-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 24px; border-bottom:1px solid #385365; font-size:16px; letter-spacing:1px; color:#bfd0d9; }
body.brand-blueprint .cx-carousel-heading>div { display:flex; align-items:center; gap:18px; }
body.brand-blueprint .cx-carousel-heading button { display:flex; align-items:center; gap:9px; min-height:44px; padding:4px 0; font-size:16px !important; letter-spacing:0; color:#f5f4ef; }
body.brand-blueprint .cx-carousel-track { display:grid; touch-action:pan-y pinch-zoom; }
body.brand-blueprint .cx-carousel-slide { display:grid; grid-area:1 / 1; min-width:0; grid-template-columns:1fr; grid-template-rows:280px auto; }
body.brand-blueprint .cx-carousel-slide[hidden] { display:grid; visibility:hidden; pointer-events:none; }
body.brand-blueprint .cx-carousel-slide:not([hidden]) { animation:cx-reveal .4s ease-out both; }
body.brand-blueprint .cx-carousel-photo { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; overflow:hidden; background:#081822; }
body.brand-blueprint .cx-carousel-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:20px; mix-blend-mode:screen; }
body.brand-blueprint .cx-carousel-photo-light { background:#e6e3dc; }
body.brand-blueprint .cx-carousel-photo-light img { mix-blend-mode:multiply; }
body.brand-blueprint .cx-carousel-copy { padding:24px 28px 20px; display:flex; flex-direction:column; align-items:flex-start; }
body.brand-blueprint .cx-carousel-copy .smallcaps { color:#b5cad6; }
body.brand-blueprint .cx-carousel-copy h2 { color:#f5f4ef; font-size:32px; line-height:1.15; margin:12px 0 10px; letter-spacing:-.8px; }
body.brand-blueprint .cx-carousel-copy>p { margin:0 0 18px; color:#b5cad6; font-size:16px !important; }
body.brand-blueprint .cx-carousel-copy dl { width:100%; margin:0 0 20px; }
body.brand-blueprint .cx-carousel-copy dl>div { display:flex; justify-content:space-between; gap:18px; padding:9px 0; border-top:1px solid #3d596a; }
body.brand-blueprint .cx-carousel-copy dt { font-size:16px !important; color:#b5cad6; }
body.brand-blueprint .cx-carousel-copy dd { font-size:16px !important; margin:0; text-align:right; color:#f5f4ef; }
body.brand-blueprint .cx-carousel-offer { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 16px; margin-top:auto; padding-bottom:18px; }
body.brand-blueprint .cx-carousel-offer strong { font-size:27px; line-height:1.3; color:#f5f4ef; }
body.brand-blueprint .cx-carousel-offer>span { font-size:16px; color:#b5cad6; }
body.brand-blueprint .cx-carousel-copy>.btn { min-height:52px; width:100%; justify-content:space-between; }
body.brand-blueprint .cx-carousel-credit { display:block; margin-top:14px; color:#a9bfcb; font-size:16px !important; }
body.brand-blueprint .cx-carousel-controls { display:grid; grid-template-columns:48px minmax(0,1fr) 48px; gap:12px; padding:14px 18px; border-top:1px solid #3d596a; }
body.brand-blueprint .cx-carousel-controls>button { border:1px solid #587281; width:48px; height:48px; font-size:23px !important; color:#f5f4ef; border-radius:3px; align-self:center; }
body.brand-blueprint .cx-carousel-controls>button:hover { background:#254758; border-color:#e87932; }
body.brand-blueprint .cx-carousel-selectors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
body.brand-blueprint .cx-carousel-selectors>button { border-top:2px solid #4b6574; text-align:left; display:flex; flex-direction:column; justify-content:center; padding:9px 0; gap:4px; color:#adc3d0; }
body.brand-blueprint .cx-carousel-selectors>button[aria-pressed=true] { border-color:#e87932; color:#fff; }
body.brand-blueprint .cx-carousel-selectors span { font-size:16px; }
body.brand-blueprint .cx-carousel-selectors b { font-size:16px; font-weight:600; line-height:1.4; }
body.brand-blueprint.brand-atelier .at-hero>.cx-product-carousel { border-color:#80705e; }
body.brand-blueprint.brand-atelier .cx-carousel-slide { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); grid-template-rows:auto; }
body.brand-blueprint.brand-atelier .cx-carousel-photo { min-height:430px; }
body.brand-blueprint.brand-atelier .cx-carousel-copy { padding:32px; border-left:1px solid #526977; }
body.brand-blueprint.brand-atelier .cx-carousel-copy h2 { font:400 42px/1.12 var(--font-sans); letter-spacing:-1px; }
body.brand-blueprint.brand-atelier .cx-carousel-selectors b { font-size:16px; }
body.brand-blueprint.brand-atelier .cx-carousel-selectors>button { flex-direction:row; align-items:center; justify-content:flex-start; gap:15px; }
@keyframes cx-reveal { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1381px) {
 body.brand-blueprint .bp-siteheader>nav { display:flex; position:static; width:auto; padding:0; border:0; background:transparent; box-shadow:none; }
 body.brand-blueprint .bp-menu { display:none; }
 body.brand-blueprint .bp-siteheader nav a.bp-mobile-quote { display:none; }
}
@media(max-width:1380px) {
 body.brand-blueprint .bp-menu { display:inline-flex; }
 body.brand-blueprint .bp-siteheader>nav { display:none; position:absolute; top:100%; left:0; right:0; width:100%; padding:24px 5%; border-bottom:1px solid var(--line); background:var(--bg); max-height:calc(100dvh - 125px); overflow-y:auto; box-shadow:0 18px 30px #0005; }
 body.brand-blueprint .bp-siteheader>nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
 body.brand-blueprint .bp-siteheader>nav>a { min-height:54px; font-size:18px; border-top:1px solid var(--line); }
 body.brand-blueprint .bp-siteheader nav a.bp-mobile-quote { display:flex; gap:12px; }
 body.brand-blueprint .cx-mobile-search { display:block; margin-bottom:12px; }
 body.brand-blueprint .cx-mega-menu { position:static; margin:0; padding:0 0 20px; max-width:none; background:transparent; border:0; box-shadow:none; }
 body.brand-blueprint .cx-nav-catalogue summary { font-size:18px; justify-content:space-between; }
 body.brand-blueprint .cx-mega-heading { margin-top:12px; padding:0; }
 body.brand-blueprint .cx-mega-heading>span { display:none; }
 body.brand-blueprint .cx-mega-categories { padding:12px 0; }
}
@media(min-width:761px) and (max-width:1100px) {
 body.brand-blueprint:not(.brand-atelier) .cx-carousel-slide { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto; }
 body.brand-blueprint:not(.brand-atelier) .cx-carousel-photo { min-height:380px; }
 body.brand-blueprint .cx-carousel-copy { padding:24px; }
}
@media(max-width:760px) {
 body.brand-blueprint .bp-siteheader { min-height:90px; padding:14px 6%; gap:12px; }
 body.brand-blueprint .bp-siteheader .bp-logo img { width:245px; }
 body.brand-blueprint .bp-nav-actions { gap:4px; }
 body.brand-blueprint .cx-mega-categories { grid-template-columns:1fr; gap:0; }
 body.brand-blueprint .bp-siteheader nav .cx-mega-categories>a { padding:14px 10px; }
 body.brand-blueprint .cx-mega-categories>a>b { font-size:18px; }
 body.brand-blueprint .cx-mega-brands { gap:20px; flex-wrap:wrap; }
 body.brand-blueprint .cx-mega-brands>span { flex-basis:100%; }
 body.brand-blueprint .cx-nav-search button { padding:12px 14px; gap:8px; }
 body.brand-blueprint .cx-header-search { gap:12px; padding:20px 5%; }
 body.brand-blueprint .cx-carousel-heading { padding:10px 16px; font-size:16px; gap:10px; letter-spacing:.5px; }
 body.brand-blueprint .cx-carousel-heading>div { gap:12px; }
 body.brand-blueprint .cx-carousel-slide,body.brand-blueprint.brand-atelier .cx-carousel-slide { grid-template-columns:1fr; grid-template-rows:240px auto; }
 body.brand-blueprint.brand-atelier .cx-carousel-photo { min-height:0; }
 body.brand-blueprint .cx-carousel-copy,body.brand-blueprint.brand-atelier .cx-carousel-copy { padding:24px 20px; border-left:0; }
 body.brand-blueprint .cx-carousel-copy h2,body.brand-blueprint.brand-atelier .cx-carousel-copy h2 { font-size:32px; }
 body.brand-blueprint .cx-carousel-controls { padding:14px 12px; gap:10px; grid-template-columns:44px minmax(0,1fr) 44px; }
 body.brand-blueprint .cx-carousel-controls>button { width:44px; height:48px; }
 body.brand-blueprint .cx-carousel-selectors { gap:8px; }
 body.brand-blueprint .cx-carousel-selectors>button,body.brand-blueprint.brand-atelier .cx-carousel-selectors>button { align-items:center; flex-direction:column; justify-content:center; gap:4px; text-align:center; }
 body.brand-blueprint .cx-carousel-selectors b,body.brand-blueprint.brand-atelier .cx-carousel-selectors b { font-size:16px; }
}
@media(max-width:430px) {
 body.brand-blueprint .bp-siteheader { padding-left:5%; padding-right:5%; gap:4px; }
 body.brand-blueprint .bp-siteheader .bp-logo img { width:182px; }
 body.brand-blueprint .bp-nav-actions { gap:0; }
}
@media(prefers-reduced-motion:reduce) {
 body.brand-blueprint .cx-carousel-slide:not([hidden]) { animation:none; }
}
