:root{color-scheme:light;--ink:#151a18;--muted:#5d645f;--paper:#f6f5f0;--line:#dedfd8;--field-line:#748078;--amber:#ffbf48;--green:#243b31;font:16px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ae6500;outline-offset:3px}[hidden]{display:none!important}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.visually-hidden,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:absolute;z-index:4;background:white;padding:10px}
.utility{background:#15221c;color:#e2e9e4;font-size:.68rem;font-weight:750;letter-spacing:.13em}.utility .wrap{display:flex;justify-content:space-between;align-items:center;min-height:35px;gap:8px}.utility b,.eyebrow span{display:inline-block;width:7px;height:7px;background:var(--amber);margin-right:7px}
.masthead{display:grid;grid-template-columns:max-content minmax(160px,650px) max-content;justify-content:space-between;align-items:center;gap:36px;padding-block:18px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:950;letter-spacing:-.055em;font-size:1.35rem;line-height:1}.brand small{display:block;font-size:.56rem;letter-spacing:.31em;margin-top:4px;font-weight:850}.mark{display:grid;place-items:center;width:44px;height:44px;background:var(--amber);font-size:1.9rem;font-style:italic;color:var(--ink);clip-path:polygon(0 0,100% 0,100% 76%,76% 100%,0 100%)}.search{display:flex;border:1px solid var(--field-line);background:white;min-width:0}.search input{flex:1;min-width:0;padding:11px 14px;border:0;background:transparent}.search button,.cart{border:0;background:transparent}.search button{display:grid;place-items:center;width:48px;background:var(--green);color:white}.cart{display:flex;align-items:center;gap:7px;font-weight:750;padding:8px 0}.cart span{background:var(--amber);min-width:23px;text-align:center;border-radius:20px;font-size:.8rem}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav{border-top:1px solid var(--line);background:#fff}.nav .wrap{display:flex;gap:34px;overflow:auto}.nav a{padding-block:11px;white-space:nowrap;font-weight:700;font-size:.87rem}.nav a:hover,.section-heading a:hover{text-decoration:underline}
.hero{background:#121b17;position:relative;isolation:isolate;color:white;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101714 9%,#101714ed 29%,#10171430 72%,#10171400),var(--hero,linear-gradient(130deg,#14221b 20%,#3e4b3b 65%,#8b7046)) right 45%/cover no-repeat}.hero-inner{padding-block:66px 93px}.eyebrow{font-size:.69rem;font-weight:850;letter-spacing:.17em;color:#42594c;margin:0 0 7px}.hero .eyebrow{color:var(--amber);margin-bottom:15px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.4rem,7.5vw,6.9rem);line-height:.86;letter-spacing:-.086em;margin-bottom:23px;font-weight:950}h1 span{color:var(--amber)}.lead{max-width:400px;color:#e2e7e3;margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:21px;padding:12px 18px;border:1px solid transparent;font-weight:800;font-size:.9rem;min-height:47px}.button:hover{filter:brightness(.94)}.primary{background:var(--amber);color:var(--ink)}.dark{background:var(--green);color:white}
.finder{display:grid;grid-template-columns:1fr 3fr;gap:28px;position:relative;margin-top:-37px;padding:20px 24px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--amber);box-shadow:0 9px 28px #14251a13}.finder h2{margin:0;font-size:1.7rem;white-space:nowrap}.finder form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}label{display:grid;gap:4px;font-size:.8rem;font-weight:750}select,.field{width:100%;min-width:0;border:1px solid var(--field-line);background:#fff;padding:10px;color:var(--ink);min-height:47px}
.section{padding-block:45px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:19px}.section-heading a,.text-button{color:var(--green);font-size:.85rem;font-weight:800}.text-button{padding:0;border:0;background:none;text-decoration:underline}.section-heading p:last-child:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:.88rem}h2{font-size:clamp(1.85rem,4vw,2.8rem);line-height:1.03;letter-spacing:-.06em;margin:0;font-weight:900}
.groups,.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.group-card{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;padding:15px;border:1px solid var(--line);background:white;font-weight:800}.group-card .part-icon{grid-column:1/-1;width:55px;height:55px;color:var(--green)}.group-card:hover,.product:hover{border-color:#73897b}.catalog{background:#eaece6;border-block:1px solid var(--line)}.product{display:flex;flex-direction:column;text-align:left;background:white;border:1px solid #d8ddd6;padding:0;color:inherit}.art{background:radial-gradient(ellipse,#e7eee7,#dbe1d9);color:#3b5749;display:grid;place-items:center;min-height:130px;aspect-ratio:1.7;overflow:hidden}.art .part-icon{width:44%;height:74%;max-width:180px;stroke-width:1.4}.art img{width:100%;height:100%;object-fit:contain;min-height:0}.product-info{padding:15px;display:grid;gap:4px}.product-info strong{font-size:1.02rem;line-height:1.2}.tag{color:#42594c;font-size:.67rem;letter-spacing:.12em;font-weight:850;text-transform:uppercase}.price{font-size:1.1rem;font-weight:850}.stock{font-size:.8rem;color:#3c5747}.stock.out{color:#8a461d}.help p:last-child{margin:12px 0 0;max-width:660px;color:var(--muted)}footer{background:#16231d;color:#eaf0ea;padding-block:30px}footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}footer p{font-size:.8rem;margin:0}
dialog{width:min(750px,calc(100vw - 28px));max-height:calc(100dvh - 35px);border:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#111b17b5}.dialog-shell{position:relative;padding:35px 23px 25px}.close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:1.5rem}.detail{display:grid;grid-template-columns:1fr 1.1fr;gap:22px}.detail .art{align-self:start;aspect-ratio:1}.detail h2{font-size:1.9rem}.detail p{margin:9px 0}.detail ul{padding-left:18px}.detail form{display:grid;gap:9px;margin-top:14px}.detail form .button{justify-self:start}.detail input[type=number]{max-width:90px}.cart-lines{list-style:none;padding:0}.cart-lines li{display:flex;align-items:center;gap:12px;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.dialog-note{color:var(--muted);font-size:.86rem;margin:10px 0 0}.pages{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:12px;margin-top:10px}
@media(max-width:840px){.masthead{gap:14px}.wrap{width:calc(100% - 38px)}.finder{grid-template-columns:1fr;gap:12px}.groups,.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){.masthead{grid-template-columns:1fr auto;padding-block:12px}.search{grid-column:1/-1;grid-row:2}.nav .wrap{gap:18px}.utility .wrap{font-size:.58rem}.hero-inner{padding-block:57px 79px}.hero::before{background-position:58% center}.finder{padding:15px}.finder form{grid-template-columns:1fr 1fr}.finder .button{grid-column:1/-1}.section{padding-block:32px}.section-heading{align-items:start}.group-card{font-size:.85rem;padding:10px}.product-info{padding:11px}.detail{grid-template-columns:1fr}.detail .art{aspect-ratio:2}.detail h2{font-size:1.6rem}footer .wrap{align-items:start;flex-direction:column}}
.cart-quantity{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.cart-quantity button{width:2rem;min-height:2rem;border:1px solid var(--line);background:white;color:var(--ink)}
.cart-quantity button:disabled{opacity:.45}
.cart-lines li{flex-wrap:wrap}
.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,350px);align-items:center;gap:clamp(22px,5vw,68px);padding-block:48px}
.hero-copy h1{font-size:clamp(2.7rem,6vw,5.4rem);line-height:.95;letter-spacing:-.065em}
.hero .finder{display:block;margin:0;padding:22px;color:var(--ink);scroll-margin-top:18px}
.hero .finder h2{white-space:normal}
.hero .finder .eyebrow{color:var(--green);margin-bottom:6px}
.hero .finder form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px}
.hero .finder .button{grid-column:auto}
.product{min-width:0}
.product > .art{width:100%;min-height:0;aspect-ratio:1.55}
.product > .art img{min-width:0;max-width:100%}
.product-info{width:100%;overflow-wrap:anywhere}
.product-info .price{margin-top:4px}
@media(max-width:720px){
  .hero-inner{grid-template-columns:minmax(0,1fr);padding-block:32px;gap:24px}
  .hero::before{background-position:center}
  .hero .finder{padding:16px}
}
.catalog-layout{min-width:0}
.catalog-layout .products{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-recovery{grid-column:1/-1;background:white;border:1px solid var(--line);border-radius:8px;padding:18px}
.catalog-recovery p{margin:0 0 12px;color:var(--muted)}
.catalog-recovery .button{margin-right:12px}
.catalog-filters{display:grid;gap:12px;background:white;border:1px solid var(--line);padding:16px}
.catalog-filters h3{margin:0}
.catalog-filters label{display:grid;gap:5px;font-weight:650;font-size:.9rem}
.catalog-filters input,.catalog-filters select{width:100%;min-width:0;padding:8px;border:1px solid var(--field-line);background:white;color:var(--ink)}
#type-list{display:grid;gap:4px}
#type-list button{text-align:left;padding:8px;border:1px solid transparent;background:transparent;color:var(--ink)}
#type-list button:hover{border-color:var(--line)}
#type-list button[aria-pressed=true]{background:var(--green);color:white}
@media(max-width:850px){.catalog-layout .products{grid-template-columns:repeat(2,minmax(0,1fr))}}
#main{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "filters" "groups" "catalog" "help"}
#main > .hero{grid-area:hero}
#main > .catalog-filters{grid-area:filters;width:min(1200px,calc(100% - 38px));margin:16px auto 0}
#main > .catalog-filters .eyebrow{margin:0}
#main > #groups{grid-area:groups}
#main > #catalog{grid-area:catalog}
#main > #fitment{grid-area:help}
@media(min-width:1000px){
  #main{width:min(1320px,calc(100% - 64px));margin:20px auto 0;gap:0 22px;grid-template-columns:225px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"filters hero" "filters groups" "filters catalog" "filters help"}
  #main > .catalog-filters{width:100%;margin:0;position:sticky;top:16px;align-self:start}
  #main > .hero{border-radius:12px}
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(235px,290px);gap:24px}
  .hero-copy h1{font-size:clamp(2.5rem,4.3vw,4.8rem)}
}
@media(max-width:999px){#type-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

.hero .finder,.catalog-filters,.group-card,.product,dialog{border-radius:12px}
.hero .finder{box-shadow:0 18px 45px #0c18155c}
.catalog-filters,.group-card,.product{box-shadow:0 2px 6px #192c2010}
.product,dialog{overflow:hidden}
dialog{overflow:auto;box-shadow:0 24px 75px #101a1755}
.button,.search,#type-list button,.catalog-filters input,.catalog-filters select{border-radius:6px}
.search{overflow:hidden}
.search:focus-within{box-shadow:0 0 0 3px #ffbf4866}
.search input:focus-visible{outline-offset:-3px}
.button:active:not(:disabled){filter:brightness(.88)}
.group-card .part-icon{padding:9px;background:#edf2ec;border-radius:10px}
.product-info .price{color:var(--green)}
.product-page{padding-block:28px 48px}
.product-back{display:inline-block;margin-bottom:20px;color:var(--green);font-weight:750}
.product-back:hover{text-decoration:underline}
.product-page .detail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}
.product-page .art{border-radius:6px}
.product-page .art{max-height:520px}
.product-page .art img{padding:16px}
.product-purchase{padding-block:clamp(12px,2vw,24px)}
.product-page h1{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.035em;overflow-wrap:anywhere;margin:10px 0}
.product-purchase .price{font-size:1.8rem;color:var(--green)}
.product-purchase form{grid-template-columns:auto 1fr;align-items:end}
@media(max-width:700px){
  .product-page .detail{grid-template-columns:minmax(0,1fr)}
  .product-page .art{aspect-ratio:1.5}
}
.product > .art{background:#ffffff}
.product > .art img{padding:8px}
.art-placeholder{display:grid;justify-items:center;gap:8px;padding:12px;color:var(--muted);font-size:.84rem}
.art-placeholder .part-icon{width:48px;height:48px}
.photo-support { display: inline-flex; align-items: center; min-height: 44px; color: var(--green); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.product > .art img,.product-page .art img{object-fit:scale-down}
.product-page .art img{max-width:400px;max-height:400px}
.product-page .art-low-detail img { max-width: 260px; max-height: 260px; }
.art .photo-caption { align-self: end; padding: 10px; color: var(--muted); font-size: .84rem; }

@media(prefers-reduced-motion:no-preference){
  @keyframes storefront-enter{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
  }
  .hero-copy,dialog[open]{animation:storefront-enter 300ms ease-out both}
  .hero-photo{animation:storefront-enter 320ms ease-out 55ms both}
  .product-panel:not([hidden]){animation:storefront-enter 180ms ease-out both}
  @keyframes storefront-backdrop { from { opacity: 0; } to { opacity: 1; } }
  dialog[open]::backdrop{animation:storefront-backdrop 180ms ease-out both}
  .product{animation:storefront-enter 200ms ease-out both}
  .product:nth-child(3n+2){animation-delay:25ms}
  .product:nth-child(3n+3){animation-delay:50ms}
  .button,#type-list button{transition:background-color 160ms ease,color 160ms ease,filter 160ms ease}
  .group-card,.product{transition:box-shadow 180ms ease,border-color 180ms ease,translate 180ms ease}
  .group-card > span:last-child{transition:transform 200ms ease}
  .button,.browse-open,.cart{transition:transform 140ms ease}
  .button:active:not(:disabled),.browse-open:active,.cart:active{transform:translateY(2px)}
  @media(hover:hover) and (pointer:fine){
    .group-card:hover,.product:hover{translate:0 -3px;box-shadow:0 8px 18px #192c2020}
    .group-card:hover > span:last-child{transform:translateX(4px)}
  }
}

.masthead {
  padding-block: 16px;
  gap: 24px;
}
.nav { border-bottom: 1px solid var(--line); }
.nav .wrap { flex-wrap: wrap; gap: 0 26px; overflow: visible; }
.nav a { display: inline-flex; align-items: center; min-height: 44px; }
.browse-open { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border: 0; background: var(--green); color: white; font-size: .87rem; font-weight: 800; }
.browse-menu { margin: 0 auto 0 0; width: min(360px, 92vw); height: 100dvh; max-height: 100dvh; border-radius: 0; background: white; overscroll-behavior: contain; }
.browse-menu .dialog-shell { min-height: 100%; padding: 24px; }
.browse-menu h2 { font-size: 1.65rem; margin: 5px 46px 18px 0; }
.browse-menu h3 { margin: 18px 0 4px; color: var(--muted); font-size: .83rem; }
.browse-menu ul { list-style: none; margin: 0; padding: 0; }
.browse-menu nav a { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 7px 9px; border-radius: 4px; }
.browse-menu nav a:hover { background: var(--paper); text-decoration: underline; }
.browse-menu .browse-all { background: var(--paper); font-weight: 800; }
.browse-menu ul + .browse-all { margin-top: 14px; }
@media (prefers-reduced-motion: no-preference) {
  @keyframes browse-enter { from { transform: translateX(-100%); } to { transform: translateX(0); } }
  .browse-menu[open] { animation: browse-enter .22s ease-out both; }
}
.search button, .cart { min-height: 44px; }
[data-catalog-only="true"] #cart-open { display: none; }
#main { display: block; width: auto; margin: 0; }
.hero { background: #fff; color: var(--ink); border-radius: 0; }
.hero::before { content: none; }
.hero-inner {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(24px, 5vw, 76px);
  min-height: 540px;
  padding-block: clamp(28px, 4vw, 48px);
}
.hero-copy h1 { max-width: 13ch; font-size: clamp(2.55rem, 6vw, 5.55rem); line-height: 1; letter-spacing: -.057em; text-wrap: balance; }
.hero .lead { max-width: 40ch; color: var(--muted); font-size: clamp(1rem, 1.7vw, 1.2rem); }
.hero-photo { display: grid; place-items: center; overflow: hidden; }
.hero-photo img { width: 100%; max-width: 510px; height: auto; aspect-ratio: 1; object-fit: contain; display: block; }
#finder {
  display: block;
  margin: 26px auto 0;
  border-radius: 8px;
  scroll-margin-top: 20px;
}
.finder h2 { white-space: normal; }
.finder p { margin: 8px 0 0; color: var(--muted); }
.finder form { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; margin-top: 14px; }
.finder select:disabled { background: #f1f3ef; color: #646b65; }
.section-heading { align-items: center; }
.section-heading a { text-decoration: underline; text-underline-offset: 3px; }
.section-heading p { margin: 5px 0 0; color: var(--muted); }
.groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.group-card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 0 0 14px; overflow: hidden; }
.group-card > .art { grid-column: 1 / -1; width: 100%; min-height: 0; aspect-ratio: 2.1; background: white; }
.group-card > .art img { object-fit: scale-down; padding: 10px; }
.group-info { display: grid; gap: 3px; padding-left: 14px; }
.group-info small { color: var(--muted); font-size: .82rem; font-weight: 500; }
.group-card > span:last-child { padding-right: 14px; }
.art > * { grid-area: 1 / 1; }
.photo-loading { opacity: 0; }
.help dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 24px 0 0; border-top: 1px solid var(--line); padding-top: 20px; }
.help dt { font-weight: 800; margin-bottom: 5px; }
.help dd { margin: 0; color: var(--muted); }
h2 { text-wrap: balance; }
.price { font-variant-numeric: tabular-nums; }
button, summary, .button { touch-action: manipulation; }
@media (prefers-reduced-motion: no-preference) and (hover:hover) {
  .hero-photo img { transition: transform .22s ease; }
  .hero-photo:hover img { transform: scale(1.025); }
}
.catalog-layout {
  display: grid;
  grid-template-columns: minmax(185px, 210px) minmax(0, 1fr);
  align-items: start;
  gap: 20px;
}
.catalog-filters { display: block; border-radius: 8px; }
.results-search { max-width: 520px; display: grid; gap: 5px; margin: 0 0 18px; }
.results-search .search button { width: auto; display: inline-flex; justify-content: center; border-radius: 0; }
.catalog-filters summary { cursor: pointer; font-weight: 800; min-height: 30px; }
.filter-fields { display: grid; gap: 12px; margin-top: 12px; }
#show-filter-results { display: none; }
#type-list button { min-height: 44px; }
#type-list .type-row button { width: 100%; }
.type-row:has(.type-submenu) { grid-column: 1 / -1; }
.type-submenu { display: grid; grid-template-rows: 1fr; margin: 5px 0 6px 9px; padding-left: 9px; border-left: 2px solid var(--line); }
.type-submenu-items { display: grid; gap: 3px; min-height: 0; }
#type-list .has-submenu { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.has-submenu::after { content: ''; width: 7px; height: 7px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); margin-right: 4px; }
.has-submenu[aria-expanded="true"]::after { transform: rotate(225deg); }
@media (prefers-reduced-motion: no-preference) {
  @keyframes submenu-open { from { grid-template-rows: 0fr; opacity: .2; } to { grid-template-rows: 1fr; opacity: 1; } }
  @keyframes submenu-chevron { from { transform: rotate(45deg); } to { transform: rotate(225deg); } }
  .type-submenu.is-opening { animation: submenu-open 280ms ease-out; }
  .type-submenu.is-opening > .type-submenu-items { overflow: clip; }
  .type-row:has(.is-opening) .has-submenu::after { animation: submenu-chevron 280ms ease-out; }
}
#type-list .type-submenu button { font-size: .85rem; }
.active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.active-filters:empty { display: none; }
.filter-chip { background: #e6ede5; color: var(--green); border: 1px solid #bdcdbf; border-radius: 22px; padding: 7px 13px; min-height: 40px; }
.product-info { flex: 1; align-content: start; grid-template-rows: auto 1fr auto auto; }
.product-info strong { line-height: 1.35; }
.product-info .tag { font-size: .72rem; letter-spacing: .04em; }
.product-info > span:not(.price):not(.tag) { font-size: .88rem; color: var(--muted); }
.product-page .art { background: white; }
.product-page .detail input[type=number] { max-width: 112px; }
.product-references { display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; font-size: .88rem; padding-block: 18px; border-block: 1px solid var(--line); }
.product-references dt { color: var(--muted); }
.product-references dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.product-notices {
  display: grid;
  gap: 24px;
  margin-top: 28px;
}
.product-information { margin-top: clamp(24px, 5vw, 52px); }
.related-products { margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--line); }
.related-products h2 { margin-bottom: 10px; }
.related-products p { color: var(--muted); }
.related-products .products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 600px) {
  .related-products .products { grid-template-columns: minmax(0, 1fr); }
}
.product-tabs {
  display: flex;
  flex-wrap: wrap;
  column-gap: clamp(12px, 4vw, 34px);
  border-bottom: 1px solid var(--line);
}
.product-tabs button {
  color: var(--muted);
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  padding: 9px 3px;
  min-height: 44px;
  font-weight: 700;
}
.product-tabs button[aria-selected="true"] {
  color: var(--green);
  border-color: currentColor;
}
.product-panel { max-width: 76ch; padding-block: 25px 10px; }
.product-panel h2 { font-size: 1.4rem; margin-bottom: 12px; letter-spacing: -.025em; }
.product-panel h3 { font-size: 1.05rem; margin-bottom: 5px; }
.product-panel details { border-bottom: 1px solid var(--line); }
.product-panel summary { padding-block: 11px; cursor: pointer; font-weight: 700; }
.product-panel summary:focus-visible { outline: 3px solid #ae6500; outline-offset: 3px; }
.product-notices p:last-child { margin-bottom: 0; }
.product-notices ul { padding-inline-start: 20px; }
.warranty-badges {
  display: block;
  width: min(100%, 480px);
  height: auto;
  margin: 0 0 12px;
}
.warranty-links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.warranty-links a { display: inline-flex; align-items: center; min-height: 44px; }
.availability-message { padding: 12px; background: #fff3d8; border-left: 3px solid var(--amber); }
.close { width: 44px; min-height: 44px; }
#dialog { overscroll-behavior: contain; }
.cart-quantity button { width: 44px; min-height: 44px; }
.cart-item { flex: 1 0 180px; display: grid; overflow-wrap: anywhere; }
.cart-summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 14px 0; }
.cart-lines .text-button { min-height: 44px; }
#catalog-title:focus-visible, #dialog-title:focus-visible, #summary-title:focus-visible, #form-title:focus-visible, #error:focus-visible { outline: 2px solid #ae6500; outline-offset: 4px; }
#catalog-title { scroll-margin-top: 20px; }
#groups, #fitment { scroll-margin-top: 20px; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
footer a:last-child { text-decoration: underline; }
.footer-links, .checkout-support, .support-page nav { display: flex; flex-wrap: wrap; gap: 0 20px; }
.footer-links a, .checkout-support a, .support-page nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.checkout-support { margin-top: 20px; font-size: .87rem; }
.support-page { max-width: 820px; padding-block: 36px 64px; }
.support-page h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.08; letter-spacing: -.05em; margin-bottom: 12px; }
.support-page h2 { font-size: clamp(1.35rem, 3vw, 2rem); margin-bottom: 14px; letter-spacing: -.035em; }
.support-page section { padding-block: 24px; border-top: 1px solid var(--line); scroll-margin-top: 16px; }
.support-page p { max-width: 68ch; }
.support-page p a { text-decoration: underline; text-underline-offset: 3px; }
.support-page details { border-bottom: 1px solid var(--line); }
.support-page details:last-child { border-bottom: 0; }
.support-page summary { min-height: 44px; padding-block: 11px; font-weight: 750; cursor: pointer; }
.support-page summary:focus-visible { outline: 3px solid #ae6500; outline-offset: 3px; }
@media (max-width: 899px) {
  .catalog-layout { grid-template-columns: minmax(0, 1fr); }
  .catalog-filters summary { min-height: 44px; padding-block: 10px; }
  #show-filter-results { display: inline-flex; justify-content: center; }
  #type-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .nav .wrap { column-gap: 17px; }
  .finder form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-inner { grid-template-columns: minmax(0, 1fr); min-height: auto; }
  .hero-copy h1 { margin-bottom: 14px; }
  .hero-photo img { max-width: 360px; }
  .groups, .help dl { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .wrap { width: calc(100% - 28px); }
  .masthead { gap: 10px; }
  .nav .wrap { column-gap: 10px; }
  .nav a { font-size: .79rem; }
  .nav a[href$="#finder"], .nav a[href$="#groups"], .nav a[data-group] { display: none; }
  .hero-photo img { max-width: 280px; }
  .finder form, .catalog-layout .products { grid-template-columns: minmax(0, 1fr); }
  .group-card { grid-template-columns: 1fr auto; }
  .group-card .part-icon { grid-column: 1 / -1; }
  .product > .art { aspect-ratio: 2; }
  .pages { flex-wrap: wrap; }
}

.checkout-header { background: white; border-bottom: 1px solid var(--line); }
.checkout-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-block: 13px; }
.checkout-header #store-link { font-size: .9rem; text-decoration: underline; }
.checkout { max-width: 1050px; padding-block: 24px 64px; }
.checkout #back-link { color: var(--green); font-weight: 750; }
.checkout .lab-hero { margin: 24px 0 18px; }
.checkout .lab-hero h1 { font-size: clamp(2rem, 5vw, 3.3rem); line-height: 1.06; letter-spacing: -.05em; margin: 0 0 8px; }
.checkout .lab-hero p { margin: 0; color: var(--muted); }
.checkout-steps { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0 0 22px; }
.checkout-steps li { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: .87rem; padding: 6px 0; }
.checkout-steps span { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 50%; background: white; }
.checkout-steps [aria-current] { color: var(--green); font-weight: 800; }
.checkout-steps [aria-current] span { background: var(--green); color: white; border-color: var(--green); }
.checkout .checkout-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: start; }
.checkout .lab-card { min-width: 0; background: white; border: 1px solid var(--line); border-radius: 10px; padding: clamp(16px, 3vw, 28px); }
.checkout .lab-card h2 { font-size: 1.45rem; letter-spacing: -.03em; margin-bottom: 16px; }
.checkout form { display: grid; gap: 15px; }
.order-confirmation { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.checkout button:disabled { opacity: .65; cursor: wait; }
.checkout-section { padding: 0; margin: 0; border: 0; min-width: 0; }
.checkout-section legend { font-weight: 800; margin-bottom: 8px; padding: 0; }
.checkout-fields .field { border-radius: 6px; }
.checkout-fields small { color: var(--muted); font-size: .83rem; font-weight: 400; }
.checkout-fields .checkout-field-error { display: block; margin-top: 4px; color: #942525; }
.checkout-fields [aria-invalid="true"] { border-color: #942525; }
.checkout-fields .field:focus { border-color: var(--green); }
.checkout-next { display: grid; gap: 8px; }
.checkout-next p { font-size: .83rem; color: var(--muted); margin: 0; }
.checkout #error { color: #942525; padding: 10px 14px; border: 1px solid currentColor; border-radius: 6px; background: white; }
.checkout #error:empty { display: none; }
.checkout-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.checkout-fields .full-field { grid-column: 1 / -1; }
.checkout .delivery-options { border: 1px solid var(--line); border-radius: 6px; min-width: 0; margin: 4px 0; padding: 8px 12px; }
.delivery-options legend { font-weight: 750; font-size: .85rem; }
.delivery-options label { display: flex; align-items: center; gap: 9px; min-height: 44px; }
.delivery-options input { width: 18px; height: 18px; accent-color: var(--green); }
.delivery-options p { margin: -2px 0 8px 27px; font-size: .83rem; color: var(--muted); }
.delivery-options a { text-decoration: underline; text-underline-offset: 3px; }
.checkout .order-summary { position: sticky; top: 16px; border-top: 3px solid var(--green); }
.checkout .order-summary dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, auto); gap: 0 14px; margin-bottom: 16px; }
.order-summary dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.order-summary dt, .order-summary dd { padding-block: 9px; border-bottom: 1px solid var(--line); }
.order-summary dd { text-align: right; }
.order-summary dt small { display: block; color: var(--muted); }
.order-summary #actions { display: grid; gap: 12px; }
.order-summary #status { color: var(--muted); }
.checkout-grid > [hidden] + .order-summary { grid-column: 1 / -1; }
@media (prefers-reduced-motion: no-preference) {
  @keyframes checkout-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
  .checkout .lab-card { animation: checkout-enter .24s ease-out both; }
  .checkout-grid > [hidden] + .order-summary { animation: checkout-enter .24s ease-out both; }
  .checkout .button span { transition: transform .18s ease; }
  .checkout .button:hover span { transform: translateX(4px); }
  .checkout-fields .field { transition: border-color .16s ease, box-shadow .16s ease; }
}
@media (max-width: 760px) {
  .checkout .checkout-grid { grid-template-columns: minmax(0, 1fr); }
  .checkout .order-summary { position: static; }
}
@media (max-width: 480px) {
  .checkout-fields { grid-template-columns: minmax(0, 1fr); }
  .checkout .order-summary dl { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); }
}
