:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #172033; background: #f4f6fa; }
* { box-sizing: border-box; }
body { display: flex; flex-direction: column; min-height: 100vh; margin: 0; font-size: 16px; line-height: 1.5; }
a { color: #174ea6; }
.site-header { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem max(clamp(1rem,4vw,3rem),env(safe-area-inset-right)) 1rem max(clamp(1rem,4vw,3rem),env(safe-area-inset-left)); background: #101827; }
.site-header a { color: #fff; text-decoration: none; }
.site-identity { display: flex; align-items: center; gap: .65rem; min-width: 180px; }.site-identity img { width: auto; max-width: 150px; height: 42px; object-fit: contain; }.site-identity span { display: grid; }.site-identity strong { font-size: 1.05rem; }.site-identity small { color: #b9c5d8; font-size: .7rem; line-height: 1.15; }
.site-header nav { display: flex; align-items: center; gap: 1rem; }.site-menu-toggle { display: none; min-height: 42px; padding: .5rem .75rem; border: 1px solid #ffffff66; border-radius: .4rem; color: #fff; background: transparent; font: inherit; font-weight: 700; cursor: pointer; }
.header-search { display: flex; flex: 1 1 420px; max-width: 620px; }.header-search input { width: 100%; min-height: 40px; padding: .5rem .75rem; border: 0; border-radius: .4rem 0 0 .4rem; font: inherit; }.header-search button { min-height: 40px; padding: .5rem .8rem; border: 0; border-radius: 0 .4rem .4rem 0; color: #fff; background: #174ea6; font-weight: 700; cursor: pointer; }
.catalog-nav { display: flex; flex-wrap: wrap; gap: .5rem; padding: .65rem clamp(1rem,4vw,3rem); overflow: visible; border-bottom: 1px solid #d8e0ea; background: #fff; }
.nav-category { position: relative; flex: 0 0 auto; }
.nav-category summary { padding: .45rem .7rem; list-style: none; cursor: pointer; font-weight: 700; }
.nav-category summary span,.nav-brands a span { color: #667085; font-size: .8rem; }
.nav-menu { min-width: 230px; padding: .65rem; border: 1px solid #d8e0ea; border-radius: .5rem; background: #fff; box-shadow: 0 12px 28px #17203320; }
.catalog-nav > .nav-category[open] > .nav-menu { position: absolute; z-index: 20; top: 100%; left: 0; }
.nav-menu a { display: block; padding: .4rem; text-decoration: none; }
.nav-menu .nav-menu { margin-left: .5rem; border: 0; box-shadow: none; }
.nav-brands { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid #e1e6ed; }
.account-main { flex: 1 0 auto; width: min(960px, calc(100% - 2rem)); margin: 2rem auto; }
.home-main { display: flex; align-items: center; width: 100%; margin: 0; padding: clamp(1rem,2vw,2rem) 0; }.home-main .service-home { width: min(1487px,calc(100vw - 2rem)); }
.site-footer { flex: 0 0 auto; padding: 0 clamp(1rem,4vw,3rem); color: #172033; background: #aebbc5; }.footer-assurances { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid #7f919f; }.footer-assurances div { display: grid; gap: .2rem; }.footer-assurances span { font-size: .85rem; }.footer-columns { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(1rem,4vw,4rem); padding: 2rem 0; }.footer-columns section { display: flex; flex-direction: column; align-items: flex-start; gap: .4rem; }.footer-columns h2 { margin: 0 0 .45rem; font-size: .9rem; text-transform: uppercase; }.footer-columns p,.footer-columns address { margin: 0 0 .35rem; font-style: normal; }.footer-columns a { color: #172033; }.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-top: 1px solid #7f919f; font-size: .85rem; }
.account-panel { width: min(520px, 100%); margin: 0 auto; padding: 1.5rem; border: 1px solid #d8e0ea; border-radius: .65rem; background: #fff; }
.account-panel.wide { width: 100%; }
.account-form { display: grid; gap: 1rem; }
.account-form label { display: grid; gap: .35rem; }
.account-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]) { width: 100%; min-height: 44px; padding: .55rem .7rem; border: 1px solid #9aa7b9; border-radius: .35rem; font: inherit; }
.account-form button, .button, .secondary { min-height: 44px; padding: .65rem 1rem; border: 1px solid #174ea6; border-radius: .4rem; color: #fff; background: #174ea6; font: inherit; text-decoration: none; cursor: pointer; }
.secondary { color: #172033; background: #fff; border-color: #9aa7b9; }
.check { display: flex!important; grid-template-columns: auto 1fr; align-items: center; }
.account-heading, .address-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.address-row { padding: 1rem 0; border-bottom: 1px solid #e1e6ed; }
.address-row form { display: inline; }
.link-action { border: 0; color: #a02424; background: transparent; font: inherit; text-decoration: underline; cursor: pointer; }
.validation { color: #a02424; }
.auction-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 1rem; }
.auction-card { padding: 1.25rem; border: 1px solid #d8e0ea; border-radius: .65rem; background: #fff; }
.auction-card h2 { font-size: 1.1rem; }
.status { display: inline-block; padding: .2rem .55rem; border-radius: 999px; color: #174ea6; background: #e8f0fe; font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.auction-facts { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 1rem; }
.auction-facts div { padding: 1rem; border-radius: .5rem; background: #f4f6fa; }
.auction-facts dt { color: #5a6575; font-size: .85rem; }
.auction-facts dd { margin: .2rem 0 0; font-weight: 700; }
.bid-form { max-width: 480px; margin-top: 1.5rem; }
.notice { padding: .75rem 1rem; border-left: 4px solid #27864a; background: #eaf7ef; }
.live-strip { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.connected { color: #197141; }
.reconnecting { color: #9a5b12; }
.auction-room { position: relative; min-height: 330px; margin: 1.25rem 0; overflow: hidden; border-radius: .8rem; background: linear-gradient(#162039 0 56%,#512f25 56% 59%,#1d2638 59%); box-shadow: inset 0 0 60px #0008; }
.room-lights { position: absolute; inset: 0; background: radial-gradient(circle at 25% -20%,#ffeab055,transparent 42%),radial-gradient(circle at 75% -20%,#ffeab055,transparent 42%); }
.auction-stage { position: absolute; top: 38px; left: 50%; width: 240px; height: 150px; transform: translateX(-50%); }
.rostrum { position: absolute; left: 54px; bottom: 0; width: 132px; height: 72px; padding-top: 24px; border: 4px solid #9b6a35; color: #f8ddb0; background: linear-gradient(90deg,#59351c,#8a582c,#59351c); text-align: center; font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.auctioneer { position: absolute; left: 93px; top: 0; width: 54px; height: 88px; }
.auctioneer-head,.bidder-head { position: absolute; left: 50%; width: 30px; height: 34px; border-radius: 48% 48% 44% 44%; background: #bf835e; transform: translateX(-50%); }
.auctioneer-body,.bidder-body { position: absolute; left: 50%; bottom: 0; width: 50px; height: 56px; border-radius: 18px 18px 3px 3px; background: #18233c; transform: translateX(-50%); }
.gavel { position: absolute; right: 4px; top: 38px; width: 78px; height: 72px; transform-origin: 70% 75%; }
.gavel-head { position: absolute; top: 4px; left: 0; width: 46px; height: 20px; border-radius: 4px; background: #b87937; box-shadow: inset 0 0 0 4px #75451f; }
.gavel-handle { position: absolute; top: 20px; left: 38px; width: 9px; height: 55px; border-radius: 5px; background: #9a5d28; transform: rotate(-34deg); transform-origin: top; }
.audience { position: absolute; inset: 188px 5% 0; display: flex; align-items: end; justify-content: space-around; perspective: 600px; }
.bidder { --depth: 0; position: relative; width: 48px; height: calc(86px + var(--depth) * 8px); transform: scale(calc(.78 + var(--depth) * .08)); transform-origin: bottom; }
.bidder-head { top: 0; width: 25px; height: 28px; background: hsl(calc(22 + var(--seat) * 4) 38% calc(52% + var(--depth) * 5%)); }
.bidder-body { width: 44px; height: 52px; background: hsl(calc(210 + var(--seat) * 13) 35% 30%); }
.paddle { position: absolute; z-index: 3; top: 8px; right: -7px; display: grid; place-items: center; width: 27px; height: 35px; border-radius: 50% 50% 42% 42%; color: #1f2838; background: #f5dfb4; font: 700 .62rem/1 system-ui; transform: translateY(38px) rotate(7deg); transform-origin: 50% 130%; box-shadow: 0 11px 0 -9px #c9a46a; }
.bidder.raising .paddle { animation: raise-paddle 1.35s cubic-bezier(.2,.8,.2,1); }
.auction-room.bid-flash { animation: room-flash .75s ease-out; }
.gavel.strike { animation: gavel-strike 1s cubic-bezier(.25,.8,.3,1); }
.room-closed .room-lights { opacity: .3; transition: opacity 1s; }
.auction-announcement { min-height: 1.5em; font-weight: 700; color: #172033; text-align: center; }
.extension-alert { padding: .8rem 1rem; border: 2px solid #de8b1f; border-radius: .5rem; color: #6b3d00; background: #fff1d6; text-align: center; font-weight: 800; }
.extension-alert.show { animation: extension-pulse 1s ease-in-out 2; }
.closing-soon #countdown { color: #b42318; animation: countdown-pulse 1s ease-in-out infinite; }
.cart-lines { display: grid; gap: .75rem; margin: 1rem 0; }
.cart-line { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #e1e6ed; }
.cart-line form { display: flex; align-items: end; gap: .5rem; }
.cart-line input { width: 74px; min-height: 44px; padding: .45rem; }
.cart-total { display: flex; justify-content: flex-end; gap: 2rem; margin: 1rem 0; font-size: 1.2rem; }
.table-scroll { overflow-x: auto; }
.table-scroll table { width: 100%; border-collapse: collapse; }
.table-scroll th,.table-scroll td { padding: .8rem; border-bottom: 1px solid #e1e6ed; text-align: left; }
.order-totals { margin-left: auto; width: min(360px,100%); }
.order-totals div { display: flex; justify-content: space-between; padding: .35rem 0; }
.order-totals dd { margin: 0; font-weight: 700; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1rem; }
.retail-page { display: grid; gap: 1.5rem; }.retail-heading { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; padding: clamp(1.25rem,3vw,2.5rem); border-radius: .8rem; color: #fff; background: linear-gradient(120deg,#071a43,#174ea6); }.retail-heading h1 { margin: .15rem 0 .5rem; font-size: clamp(2rem,5vw,4rem); }.retail-heading p { max-width: 760px; color: #e8f1ff; }.retail-heading .eyebrow { color: #79d6ff; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.retail-heading .button { flex: none; }.retail-product-grid { grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); }
.product-card { padding: 1rem; border: 1px solid #d8e0ea; border-radius: .65rem; background: #fff; }
.product-card img { width: 100%; aspect-ratio: 4/3; object-fit: contain; background: #fff; }
.product-card h2 { font-size: 1rem; }
.condition-offers { display: grid; gap: .55rem; margin: 1rem 0; padding: 0; border: 0; }.condition-offers legend { margin-bottom: .45rem; font-weight: 800; }.condition-offer { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem; border: 1px solid #b7c2d2; border-radius: .5rem; color: #172033; background: #fff; text-decoration: none; }.condition-offer span { display: grid; }.condition-offer small { color: #59677a; }.condition-offer.selected { border: 2px solid #174ea6; background: #edf4ff; }.condition-offer.unavailable { opacity: .58; color: #697386; background: #eef1f4; border-color: #d6dbe1; cursor: not-allowed; filter: grayscale(1); }.condition-stock-alert { display: inline-block; margin: -.2rem 0 .35rem .7rem; font-size: .85rem; }.condition-stock-alert button { padding: .45rem .7rem; }.configuration-variants .condition-offer { align-items: center; }.variant-swatch { width: 52px; height: 52px; object-fit: contain; border-radius: .35rem; background: #fff; }
.product-detail { display: grid; grid-template-columns: minmax(280px,1fr) minmax(280px,1fr); gap: 2rem; }
.product-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
.product-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: contain; background: #fff; }
.product-price { margin: 1rem 0; color: #172033; font-size: 1.7rem; font-weight: 800; }
.in-stock { color: #197141; font-weight: 700; }.sold-out { color: #a02424; font-weight: 700; }
.condition-stock-alert.standalone { margin-left: 0; }.stock-alert-active { margin-right: .5rem; color: #197141; font-weight: 800; }
.add-cart { display: flex; align-items: end; gap: .75rem; margin: 1rem 0; }.add-cart label { display: grid; }.add-cart input { width: 80px; min-height: 44px; }.add-cart button { min-height: 44px; padding: .65rem 1rem; border: 0; border-radius: .4rem; color: #fff; background: #174ea6; }
.warranty-options { display: grid; gap: .6rem; margin: 1rem 0; padding: 1rem; border: 1px solid #d8e0ea; border-radius: .5rem; }.warranty-options label { display: block; }.warranty-options input { margin-right: .4rem; }
.product-page { display: grid; gap: 1.25rem; }
.product-primary { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr); gap: 1rem; }
.product-media,.product-buybox,.product-content-card,.product-recommendations { border: 1px solid #d8e0ea; border-radius: .7rem; background: #fff; }
.product-media { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: .75rem; padding: 1rem; }
.product-thumbnails { display: grid; align-content: start; gap: .5rem; }
.product-thumbnail { width: 72px; height: 64px; padding: .25rem; border: 2px solid transparent; border-radius: .45rem; background: #fff; cursor: pointer; }
.product-thumbnail.selected { border-color: #174ea6; box-shadow: 0 0 0 2px #174ea622; }
.product-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.product-main-image { display: grid; min-height: 410px; place-items: center; overflow: hidden; }
.product-main-image img { width: 100%; max-height: 520px; object-fit: contain; }
.product-image-placeholder { color: #667085; }
.product-videos { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: .75rem; padding-top: .75rem; border-top: 1px solid #e1e6ed; }
.product-buybox { align-self: start; padding: clamp(1.25rem,3vw,2rem); }
.product-buybox h1 { margin: .25rem 0 .75rem; font-size: clamp(1.5rem,3vw,2.2rem); line-height: 1.15; }
.product-brand { margin: 0; color: #174ea6; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.product-identifiers { color: #5a6575; font-size: .9rem; }
.condition-badge { display: inline-block; padding: .28rem .65rem; border-radius: 999px; color: #155c35; background: #eaf7ef; font-size: .85rem; font-weight: 800; }
.rating-summary,.review-stars { color: #ad6900; }.rating-summary a { margin-left: .35rem; }.review-list { display: grid; gap: 1rem; }.review { padding: 1rem 0; border-top: 1px solid #e1e6ed; }.review h3,.review p { margin: .35rem 0; }.review small { color: #5a6575; }
.in-stock span { color: #5a6575; font-weight: 500; }
.warranty-options legend { padding: 0 .35rem; font-weight: 800; }
.warranty-options label { display: flex; align-items: center; gap: .45rem; padding: .55rem; border-radius: .4rem; }
.warranty-options label:has(input:checked) { background: #e8f0fe; }
.warranty-options label span { display: grid; flex: 1; }.warranty-options small { color: #5a6575; }
.add-cart button { flex: 1; font-weight: 800; }.add-cart label { gap: .25rem; }
.save-product button,.save-product-link { display: block; width: 100%; text-align: center; }
.purchase-assurances { display: grid; gap: .35rem; padding: 1rem 0 0 1.25rem; border-top: 1px solid #e1e6ed; color: #455064; font-size: .9rem; }
.product-information { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; align-items: start; }
.product-content-card,.product-recommendations { padding: 1.25rem; }.product-content-card h2,.product-recommendations h2 { margin-top: 0; }
.product-description { white-space: pre-line; }
.product-policy-body { white-space: pre-line; }
.specification-list { margin: 0; }.specification-list div { display: grid; grid-template-columns: minmax(120px,.8fr) 1.2fr; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid #e1e6ed; }.specification-list dt { color: #5a6575; }.specification-list dd { margin: 0; font-weight: 700; }
.product-recommendations .product-card h3 { font-size: 1rem; }
.search-page { display: grid; gap: 1.25rem; }.catalog-filters { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); align-items: end; gap: .8rem; padding: 1rem; border: 1px solid #d8e0ea; border-radius: .65rem; background: #fff; }.catalog-filters label:not(.check) { display: grid; gap: .3rem; color: #455064; font-size: .9rem; font-weight: 700; }.catalog-filters input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.catalog-filters select { width: 100%; min-height: 44px; padding: .5rem; border: 1px solid #9aa7b9; border-radius: .35rem; background: #fff; font: inherit; }.catalog-filters .check { min-height: 44px; }.pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1rem; }.pagination a { padding: .5rem .8rem; border: 1px solid #174ea6; border-radius: .4rem; text-decoration: none; }
@keyframes raise-paddle { 0%,100%{transform:translateY(38px) rotate(7deg)} 22%,72%{transform:translateY(-46px) rotate(-7deg)} }
@keyframes room-flash { 0%{box-shadow:inset 0 0 60px #0008} 35%{box-shadow:inset 0 0 80px #f5c34d99} 100%{box-shadow:inset 0 0 60px #0008} }
@keyframes gavel-strike { 0%{transform:rotate(0)} 48%{transform:rotate(-62deg)} 62%{transform:rotate(-58deg) translateY(4px)} 100%{transform:rotate(0)} }
@keyframes extension-pulse { 50%{transform:scale(1.02);box-shadow:0 0 0 6px #de8b1f22} }
@keyframes countdown-pulse { 50%{opacity:.55} }
@media (prefers-reduced-motion: reduce) { .auction-room *, .auction-room, .extension-alert, .closing-soon #countdown { animation:none!important; transition:none!important; } }
@media(max-width:760px){.account-heading,.address-row{align-items:stretch;flex-direction:column}.account-heading form{width:100%}.account-heading button{width:100%}.cart-line{grid-template-columns:1fr}.site-header{align-items:stretch;flex-direction:column}.site-header nav{flex-wrap:wrap;justify-content:flex-start}.header-search{order:2;width:100%;max-width:none}.product-detail,.product-primary,.product-information{grid-template-columns:1fr}.product-media{grid-template-columns:1fr}.product-thumbnails{grid-row:2;grid-auto-flow:column;grid-auto-columns:72px;overflow-x:auto}.product-main-image{min-height:280px}.product-videos{grid-column:1}.product-purchase .add-cart{position:sticky;z-index:10;bottom:.5rem;padding:.65rem;border-radius:.55rem;background:#fff;box-shadow:0 8px 30px #17203335}}
.assistant { position: fixed; right: 1rem; bottom: 1rem; z-index: 50; }
.assistant-launcher { min-height: 48px; padding: .75rem 1rem; border: 0; border-radius: 999px; color: #fff; background: #174ea6; box-shadow: 0 8px 24px #17203340; font: inherit; font-weight: 800; cursor: pointer; }
.assistant-panel { width: min(380px,calc(100vw - 2rem)); overflow: hidden; border: 1px solid #cbd5e1; border-radius: .8rem; background: #fff; box-shadow: 0 16px 45px #17203355; }
.assistant-panel[hidden] { display: none; }
.assistant-panel header { display: flex; justify-content: space-between; padding: .85rem 1rem; color: #fff; background: #101827; }
.assistant-panel header small { display: block; color: #cbd5e1; }.assistant-panel header button { border: 0; color: #fff; background: transparent; font-size: 1.5rem; cursor: pointer; }
.assistant-messages { display: grid; gap: .65rem; height: 300px; padding: 1rem; overflow-y: auto; background: #f4f6fa; }
.assistant-message { max-width: 88%; margin: 0; padding: .65rem .8rem; border-radius: .7rem; background: #fff; box-shadow: 0 1px 3px #17203318; }
.assistant-message.customer { justify-self: end; color: #fff; background: #174ea6; }.assistant-message.bot { justify-self: start; }
.assistant-panel form { display: grid; grid-template-columns: 1fr auto; gap: .5rem; padding: .75rem; }.assistant-panel textarea { resize: vertical; padding: .55rem; border: 1px solid #9aa7b9; border-radius: .4rem; font: inherit; }.assistant-panel form button { border: 0; border-radius: .4rem; color: #fff; background: #174ea6; font-weight: 700; }
.assistant-disclaimer { display: block; padding: 0 .75rem .75rem; color: #667085; }.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.consent-banner { position: fixed; z-index: 60; left: 1rem; right: 1rem; bottom: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 900px; margin: auto; padding: 1rem; border: 1px solid #cbd5e1; border-radius: .7rem; background: #fff; box-shadow: 0 12px 36px #17203355; }.consent-banner[hidden] { display: none; }.consent-banner p { margin: 0; }.consent-banner div { display: flex; flex: 0 0 auto; gap: .5rem; }.consent-banner button { min-height: 44px; padding: .55rem .8rem; border: 1px solid #174ea6; border-radius: .4rem; color: #fff; background: #174ea6; font: inherit; cursor: pointer; }
@media(max-width:600px){.consent-banner{align-items:stretch;flex-direction:column}.consent-banner div,.consent-banner button{width:100%}.assistant{right:.6rem;bottom:.6rem}}
@media(max-width:800px){.footer-assurances,.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.home-main{align-items:flex-start}}
@media(max-width:520px){.footer-assurances,.footer-columns{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}
@media(max-width:1000px){.site-header{display:grid;grid-template-columns:auto 1fr;align-items:center}.site-menu-toggle{display:inline-flex;align-items:center;gap:.4rem;justify-self:start}.site-identity{justify-self:end}.header-search{grid-column:1/-1;grid-row:2;width:100%;max-width:none}.site-header nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:.5rem;border:1px solid #344258;border-radius:.5rem;background:#17243a}.site-header nav a{min-height:44px;padding:.7rem;border-radius:.35rem}.site-header nav a:hover,.site-header nav a:focus-visible{background:#263852}.site-header.site-header-enhanced nav{display:none}.site-header.site-header-enhanced.nav-open nav{display:grid}}
@media(max-width:520px){.site-header nav{grid-template-columns:1fr}.site-identity span{display:none}}
.service-home { width: min(1487px,calc(100vw - 2rem)); margin-left: 50%; transform: translateX(-50%); }
.home-banner-rotator { position: relative; }.home-banner-stage { position: relative; min-height: clamp(260px,31vw,466px); }
.service-banner { position: relative; display: block; min-height: clamp(260px,31vw,466px); overflow: hidden; border-radius: .8rem; color: var(--banner-text,#fff); background: var(--banner-background,#101827); box-shadow: 0 12px 35px #17203326; text-decoration: none; }
.service-banner-slide { position: absolute; inset: 0; z-index: 0; opacity: 0; }.service-banner-slide.is-active { z-index: 1; opacity: 1; }.service-banner-slide.use-fade { transition: opacity .4s ease; }.service-banner-slide[hidden] { display: none; }
.service-banner picture,.service-banner picture::after { position: absolute; inset: 0; }.service-banner picture::after { content: ""; display: block; background: linear-gradient(90deg,#07101fe6 0%,#07101fb8 42%,transparent 76%); }
.service-banner img { width: 100%; height: 100%; object-fit: cover; }
.service-banner-copy { position: relative; z-index: 1; display: grid; align-content: center; width: min(620px,62%); min-height: clamp(260px,31vw,466px); padding: clamp(1.4rem,5vw,4.5rem); }
.service-banner-copy h2 { margin: .15rem 0 .7rem; font-size: clamp(2rem,4.5vw,4.2rem); line-height: 1.02; }.service-banner-copy>p:not(.service-banner-kicker) { margin: 0 0 1.25rem; font-size: clamp(1rem,1.6vw,1.25rem); }
.service-banner-kicker { margin: 0; color: var(--banner-accent,#73c5ff); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.service-banner-action { justify-self: start; padding: .75rem 1.15rem; border-radius: .35rem; color: var(--banner-background,#07101f); background: var(--banner-accent,#fff); font-weight: 800; text-decoration: none; }
.theme-light picture::after { background: linear-gradient(90deg,#fffffff2 0%,#ffffffc2 42%,transparent 76%); }
.home-banner-controls { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; display: flex; align-items: center; gap: .45rem; padding: .35rem; border-radius: 999px; background: #07101fcc; }.home-banner-controls button { min-width: 40px; min-height: 40px; border: 1px solid #ffffff55; border-radius: 999px; color: #fff; background: transparent; cursor: pointer; }.home-banner-controls button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }.home-banner-dots { display: flex; gap: .35rem; }.home-banner-dots button { min-width: 12px; min-height: 12px; width: 12px; height: 12px; padding: 0; background: #ffffff66; }.home-banner-dots button[aria-selected=true] { background: #fff; }
.home-empty { padding: clamp(2rem,6vw,5rem); border-radius: .8rem; background: #fff; text-align: center; }
@media(max-width:760px){.home-banner-stage,.service-banner,.service-banner-copy{min-height:clamp(420px,135vw,650px)}.service-banner-copy{align-content:end;width:100%;padding:2rem 1.25rem}.service-banner picture::after{background:linear-gradient(0deg,#07101ff2 0%,#07101fa8 52%,transparent 82%)}.theme-light picture::after{background:linear-gradient(0deg,#fffffff5 0%,#ffffffb8 52%,transparent 82%)}.service-banner-copy h2{font-size:clamp(2rem,10vw,3.2rem)}}
.wholesale-page { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(1.25rem,4vw,4rem); align-items:start; }.wholesale-intro { position:sticky; top:1rem; padding:clamp(1.5rem,4vw,3rem); border-radius:.8rem; color:#fff; background:linear-gradient(135deg,#063c34,#087f6b); }.wholesale-intro h1 { font-size:clamp(2.2rem,5vw,4.5rem); line-height:1; }.wholesale-intro .eyebrow { color:#a7f3d0; }.form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1rem; }.form-grid>div { display:grid; gap:.35rem; }
@media(max-width:800px){.wholesale-page{grid-template-columns:1fr}.wholesale-intro{position:static}}
.site-footer { padding-right:max(clamp(1rem,4vw,3rem),env(safe-area-inset-right)); padding-bottom:max(0px,env(safe-area-inset-bottom)); padding-left:max(clamp(1rem,4vw,3rem),env(safe-area-inset-left)); }
@media(min-width:761px) and (max-width:1100px){.home-banner-stage,.service-banner,.service-banner-copy{min-height:clamp(360px,52vw,560px)}.service-banner-copy{width:min(680px,72%);padding:clamp(2rem,5vw,4rem)}.service-banner-copy h2{font-size:clamp(2.4rem,5.5vw,4rem)}.product-primary{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px) and (orientation:landscape) and (max-height:520px){.home-main{padding:.5rem 0}.home-banner-stage,.service-banner,.service-banner-copy{min-height:max(300px,calc(100dvh - 150px))}.service-banner-copy{align-content:center;width:62%;padding:1.25rem 2rem}.service-banner-copy h2{font-size:clamp(1.8rem,6vw,2.8rem)}.service-banner-copy>p:not(.service-banner-kicker){font-size:.95rem;margin-bottom:.75rem}.service-banner picture::after{background:linear-gradient(90deg,#07101fee 0%,#07101fbd 52%,transparent 86%)}.home-banner-controls{right:.5rem;bottom:.5rem}}
@media(horizontal-viewport-segments:2){.service-banner-copy{width:env(viewport-segment-width 0 0);max-width:env(viewport-segment-width 0 0);padding-right:clamp(1rem,5vw,4rem)}.home-banner-controls{right:1rem}}
@media(pointer:coarse){button,.button,.secondary,.service-banner-action,.catalog-nav a,.catalog-nav summary{min-height:44px}.home-banner-controls button{min-width:44px;min-height:44px}}
@media(max-width:700px){.retail-heading{align-items:stretch;flex-direction:column}.retail-heading .button{align-self:flex-start}}
.service-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(250px,1fr)); gap: 1rem; }.service-card,.service-detail,.service-inquiry { padding: clamp(1.25rem,3vw,2rem); border: 1px solid #d8e0ea; border-radius: .7rem; background: #fff; }.service-card { display: grid; align-content: start; }.service-card .button { justify-self: start; margin-top: auto; }.service-detail { max-width: 900px; margin: auto; }.service-summary { color: #455064; font-size: 1.2rem; }.service-body,.preserve-lines { white-space: pre-line; }.service-inquiry { margin-top: 2rem; background: #f8fafc; }.service-inquiry textarea { width: 100%; padding: .65rem; border: 1px solid #9aa7b9; border-radius: .35rem; font: inherit; }.inquiry-trap { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.document-preview { max-width: 850px; padding: clamp(1.25rem,4vw,3rem); border: 1px solid #aeb8c6; background: #fff; box-shadow: 0 8px 30px #17203318; }.document-preview h3 { margin-bottom: .35rem; }.timeline { display: grid; gap: .8rem; }.timeline li { padding: .8rem 1rem; border-left: 4px solid #174ea6; background: #f4f7fb; }
@media print { .site-header,.catalog-navigation,.site-footer,.assistant,.consent-banner,.account-heading a,.document-preview + p,.timeline,.timeline + * { display:none!important; } body,.account-main,.account-panel { margin:0!important; padding:0!important; background:#fff!important; box-shadow:none!important; } .account-panel > * { display:none!important; } .account-panel > h2,.account-panel > .document-preview { display:block!important; } .account-panel > h2:not(:has(+ .document-preview)) { display:none!important; } .document-preview { max-width:none; border:0; box-shadow:none; } }

.bid-form[hidden] { display: none; }

@media (max-width: 700px) { .catalog-nav { display: block; } .catalog-nav > .nav-category[open] > .nav-menu { position: static; } .catalog-nav .nav-menu { min-width: 0; overflow-wrap: anywhere; } }

/* Listing navigation */
.listing-toolbar, .listing-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.listing-pagination a { padding:.65rem 1rem; border:1px solid var(--theme-border,#d8e0ea); border-radius:.4rem; }
