:root{--ink:#11243b;--muted:#53657a;--line:#dce4ec;--paper:#f5f7fa;--blue:#1849b0;--navy:#102c4b;--mint:#d7f5e5;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #3478ee;outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}
.skip{position:absolute;top:-100px;left:16px;z-index:5;padding:12px;background:white}.skip:focus{top:8px}
.site-header{background:white;border-bottom:1px solid var(--line)}.nav-wrap{max-width:1280px;min-height:82px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-.8px;color:var(--ink);text-decoration:none}.nav-wrap nav{display:flex;gap:25px;flex-wrap:wrap}.nav-wrap nav a{text-decoration:none;font-size:14px;font-weight:600;color:var(--muted)}.nav-wrap nav a:first-child{color:var(--blue)}
main{max-width:1280px;margin:auto;padding:20px 28px 72px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin:5px 0 25px;color:#8b99a9}.breadcrumbs a{text-decoration:none;color:var(--muted)}
.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--blue);margin:0 0 18px}.catalog-hero{padding:36px 0 26px;max-width:930px}h1{font-size:clamp(32px,4vw,52px);line-height:1.14;letter-spacing:-1.7px;margin:0 0 22px;font-weight:800}h2{font-size:25px;line-height:1.25;letter-spacing:-.4px;margin:0 0 17px}h3{line-height:1.35}.lead{font-size:18px;line-height:1.75;color:var(--muted);max-width:850px;margin:0 0 24px}.hero-pills{display:flex;flex-wrap:wrap;gap:10px}.hero-pills span{padding:6px 12px;border:1px solid #cbd9e6;border-radius:30px;background:white;font-size:12px;font-weight:650}
.notice{padding:17px 20px;background:#eaf1fd;border-left:3px solid #6594df;border-radius:0 8px 8px 0;font-size:13px;line-height:1.65;color:#25405e;margin:20px 0 28px}.notice a{font-weight:700}
.filters{display:grid;grid-template-columns:2fr 1.25fr 1fr;gap:16px;background:white;border:1px solid var(--line);padding:23px;border-radius:var(--radius);margin:28px 0}.filters label,.request-form label{font-size:12px;font-weight:700;color:var(--muted);display:flex;flex-direction:column;gap:7px}.filters input,.filters select,.request-form input,.request-form textarea{display:block;width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #bac9d9;border-radius:8px;background:white;color:var(--ink);font-size:14px}.filters button{align-self:end;min-height:46px}.list-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin:32px 0 18px}.list-head h2{margin:0}.list-head p{color:var(--muted);font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.product-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;display:flex;flex-direction:column;position:relative;transition:box-shadow .15s,border-color .15s}.product-card:hover{border-color:#9eb7d6;box-shadow:0 8px 25px #102c4b0b}.card-kicker{color:#65758a;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.045em;display:flex;justify-content:space-between;gap:14px}.card-kicker span{white-space:nowrap}.product-card h3{font-size:19px;letter-spacing:-.3px;margin:15px 0 6px}.product-card h3 a{color:var(--ink);text-decoration:none}.territory{font-size:13px;color:var(--muted);margin:0 0 20px}.card-stats{display:flex;align-items:center;gap:14px;margin-top:auto;padding:16px 0;border-top:1px solid #e9edf3;border-bottom:1px solid #e9edf3}.card-stats strong{font-size:27px;font-weight:750;letter-spacing:-.8px;white-space:nowrap}.card-stats span{font-size:11px;line-height:1.5;color:var(--muted)}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:19px 0 14px}.price{font-size:25px;letter-spacing:-.5px;font-weight:750}.price small{font-size:11px;font-weight:500;color:var(--muted)}.status{display:inline-block;font-size:11px;font-weight:700;color:#285e48;background:var(--mint);padding:4px 9px;border-radius:6px}.card-link{font-size:13px;font-weight:750;display:flex;justify-content:space-between;text-decoration:none;margin-top:6px}
.pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin:33px 0 55px;font-size:13px}.pagination a,.pagination button{padding:9px 15px;background:white;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--blue)}.browse{margin-top:42px}.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.link-grid a{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:10px 13px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.link-grid span{font-size:12px;color:var(--muted)}.text-link{display:inline-block;margin-top:25px;font-size:14px;font-weight:700}
.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:50px;padding:20px 0 40px;align-items:start}.product-hero{padding-top:16px}.product-hero h1{font-size:clamp(31px,3.2vw,45px)}.product-hero h1 span{color:var(--blue)}.product-hero .lead{font-size:16px}.metrics{display:grid;grid-template-columns:1.15fr 1fr .8fr;gap:18px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics strong{display:block;font-size:30px;letter-spacing:-.6px;line-height:1.25}.metrics span{font-size:12px;line-height:1.4;color:var(--muted);display:block;margin-top:8px}.inventory-note{font-size:12px;color:var(--muted);max-width:700px;margin-top:20px}.buy-panel{background:var(--navy);color:white;border-radius:20px;padding:29px;box-shadow:0 13px 35px #102c4b12}.buy-panel .status{background:#c9eedc}.price-label{font-size:13px;margin:23px 0 0;color:#c4d5e8}.big-price{font-size:53px;font-weight:750;letter-spacing:-2px;line-height:1.2;margin:0}.big-price span{font-size:15px;font-weight:500;letter-spacing:0;color:#c4d5e8}.buy-panel>p:not(.big-price):not(.price-label){font-size:13px}.buy-panel ul{padding:18px 0 0 18px;border-top:1px solid #34516e;font-size:12px;line-height:2}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:15px;border-radius:8px;padding:13px 17px;text-decoration:none;font-size:14px;font-weight:750;min-height:48px}.primary{background:var(--blue);color:white}.buy-panel .primary{background:#d6f4e4;color:#0b3d2b;display:flex;margin-top:23px}.secondary{background:#edf2f9;color:var(--blue)}.small-note{font-size:12px;color:var(--muted);line-height:1.7}.buy-panel .small-note{color:#c2d0df;font-size:11px;margin-top:16px}.buy-panel a:not(.button){color:#e1f7ec}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:55px}.panel{padding:29px;border:1px solid var(--line);background:white;border-radius:var(--radius);margin-bottom:20px}.panel p{font-size:14px;color:var(--muted)}.specs{display:grid;grid-template-columns:1fr 1.7fr;font-size:13px;margin:22px 0 0}.specs dt,.specs dd{margin:0;padding:13px 0;border-top:1px solid #e6ecf2}.specs dt{font-weight:650;padding-right:20px}.specs dd{color:var(--muted)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}td,th{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:650;background:#f7f9fc}td:first-child{font-weight:650}details{border-bottom:1px solid var(--line);padding:15px 0}summary{font-size:14px;font-weight:650;cursor:pointer}details p{margin:12px 0 4px}.side-notes{padding-top:15px;font-size:13px;color:var(--muted)}.side-notes h2{font-size:20px;color:var(--ink)}.side-notes ol{padding-left:20px;line-height:1.8}.side-notes li{margin:16px 0}.reference{overflow-wrap:anywhere;font-family:monospace}.related{margin-top:55px}
.request-wrap,.method-page{max-width:850px;margin:35px auto}.request-form{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:20px}.request-form label{font-size:14px}.request-form input,.request-form textarea{font-size:16px}.honeypot{position:absolute;left:-10000px;opacity:0}.request-summary{display:flex;align-items:start;justify-content:space-between;gap:25px}.request-summary h2{font-size:22px}.request-summary p{margin:8px 0}.request-summary .price{white-space:nowrap}.method-page h1{font-size:40px}#request-status{margin:0;font-size:14px}
footer{border-top:1px solid var(--line);background:white}.footer-wrap{max-width:1280px;margin:auto;padding:35px 28px;display:flex;justify-content:space-between;gap:30px;font-size:12px;color:var(--muted)}.footer-wrap nav{display:flex;flex-wrap:wrap;align-content:center;gap:12px 20px;max-width:580px}.footer-wrap a{color:var(--muted);text-decoration:none}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-layout{grid-template-columns:minmax(0,1fr) 310px;gap:28px}.detail-layout{grid-template-columns:minmax(0,1fr) 220px;gap:25px}.metrics{gap:10px}.metrics strong{font-size:26px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){main{padding:15px 18px 45px}.nav-wrap{padding:15px 18px;flex-wrap:wrap;gap:13px}.nav-wrap nav{gap:17px}.nav-wrap nav a{font-size:12px}.brand{font-size:18px}.catalog-hero{padding-top:15px}h1{letter-spacing:-1px}.lead{font-size:16px}.product-layout,.detail-layout{grid-template-columns:1fr}.product-layout{gap:25px;padding-top:0}.buy-panel{padding:25px}.side-notes{padding:12px 8px}.panel{padding:22px}.filters{padding:17px;gap:13px}.search-label{grid-column:1/-1}.filters label{font-size:11px}.list-head{align-items:start;flex-direction:column;gap:3px}.list-head p{margin:0 0 10px}.card-kicker{flex-wrap:wrap;gap:3px}.card-stats{align-items:start;flex-direction:column;gap:4px}.card-stats strong{font-size:26px}.product-card{padding:18px}.product-card h3{font-size:17px}.price{font-size:23px}.card-bottom{flex-wrap:wrap}.footer-wrap{flex-direction:column;gap:12px}.specs{grid-template-columns:1fr}.specs dt{padding-bottom:0}.specs dd{border:0;padding-top:5px}.method-page h1{font-size:31px}.request-form{padding:20px}.request-summary{flex-direction:column;gap:5px}}
@media(max-width:450px){.product-grid,.link-grid{grid-template-columns:1fr}.card-stats{flex-direction:row;gap:18px;align-items:center}.card-kicker{justify-content:space-between}.metrics{grid-template-columns:1fr 1fr}.metrics>div:last-child{grid-column:1/-1;display:flex;gap:14px;align-items:center}.metrics>div:last-child span{margin:0}.pagination{gap:10px;font-size:12px}.pagination a,.pagination button{padding:8px 10px}.breadcrumbs{font-size:11px}.request-wrap{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep products visible near the first fold on wide catalogue screens. */
/* Let narrow grid columns shrink; wide tables retain their own scroll area. */
@media(max-width:720px){.product-layout,.detail-layout{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1100px){.catalog-hero{padding:18px 0 14px}.catalog-hero h1{font-size:44px;margin-bottom:16px}.catalog-hero .lead{font-size:16px;margin-bottom:16px}.filters{grid-template-columns:1.8fr 1.3fr 1fr 1.3fr 1fr auto;gap:12px;padding:20px}.filters input,.filters select{font-size:12px}.filters button{font-size:12px;padding:10px 12px}.notice{margin-bottom:22px}}
/* Account-bound one-time purchase forms. Hidden access controls must stay hidden. */
[hidden] { display: none !important; }
#purchase-form { display: grid; gap: 18px; max-width: 760px; }
#purchase-form label { display: grid; gap: 6px; font-weight: 600; }
#purchase-form input:not([type="checkbox"]) { min-height: 44px; border: 1px solid #cbd5e1; border-radius: 8px; padding: 10px 12px; font: inherit; width: 100%; box-sizing: border-box; }
#purchase-form .check-label { display: block; font-weight: 400; line-height: 1.6; }
.check-label input { margin-right: 8px; }
.billing-grid { display: grid; grid-template-columns: 160px 1fr; gap: 18px; }
.download-actions { display: flex; gap: 16px; flex-wrap: wrap; margin: 24px 0; }
#orders-list .product-card { min-width: 0; overflow-wrap: anywhere; }
button:disabled { cursor: not-allowed; opacity: .55; }
@media (max-width: 520px) { .billing-grid { grid-template-columns: 1fr; } }
.catalog-quality-note{font-size:12px;color:var(--muted);margin:10px 0 18px}
.catalog-advanced{display:contents}.filters .filter-toggle{display:none}
.product-purchase-bar{display:none}
#apercu,#dates{scroll-margin-top:20px}
@media(max-width:720px){
  .catalog-hero{padding:12px 0 8px}.catalog-hero .eyebrow{margin-bottom:10px}
  .catalog-hero h1{font-size:29px;margin-bottom:12px}.catalog-hero .lead{font-size:14px;line-height:1.55;margin-bottom:12px}
  .hero-pills{gap:6px}.hero-pills span{padding:4px 8px;font-size:11px}
  .catalog-quality-note{font-size:11px;line-height:1.5;margin:10px 0 14px}
  .filters{margin:15px 0;padding:14px;gap:10px}
  .filters.enhanced .filter-toggle{display:inline-flex;font-size:12px;padding:10px}
  .filters.enhanced:not(.advanced-open) .catalog-advanced{display:none}
  .filters .catalog-advanced{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;grid-column:1/-1}
  .list-head{margin-top:22px}.breadcrumbs{margin-bottom:16px}
  body:has(.product-purchase-bar){padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .product-purchase-bar{position:fixed;z-index:25;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:white;border-top:1px solid #dce4ec;box-shadow:0 -5px 24px #102c4b12;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
  .product-purchase-bar strong{font-size:21px;line-height:1.2;display:block}.product-purchase-bar small{display:block;font-size:10px;color:var(--muted)}
  .product-purchase-bar .button{min-height:46px;font-size:13px;padding:10px 14px}
  .buy-panel ul{line-height:1.75}.buy-panel .big-price{font-size:45px}
}
