/* ---- inner pages ---- */
.nav a.on{color:var(--orange-ink);border-bottom:2px solid var(--orange)}
.pagehead{background:var(--panel);border-bottom:1px solid var(--rule)}
.pagehead .wrap{padding-block:40px 40px}
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px}
.crumb a{text-decoration:none;color:var(--ink-2)}
.crumb a:hover{color:var(--orange-ink)}
.pagehead h1{font-family:var(--display);font-weight:700;font-size:clamp(38px,4.6vw,60px);line-height:1;letter-spacing:-.005em;margin-top:16px}
.pagehead .lead{margin-top:16px;color:var(--ink-2);font-size:18px;max-width:46em}
.pagehead .meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--ink);padding:3px 8px;background:var(--paper);color:var(--ink);text-decoration:none}
.chip.qs{background:var(--orange);border-color:var(--orange)}
.chip.dk{background:var(--ink);color:#fff}
a.chip:hover{background:var(--ink);color:#fff}

/* filters */
.filters{display:grid;gap:14px;margin-bottom:28px}
.frow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.frow .label{min-width:120px}
.fbtn{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.02em;border:1px solid var(--rule);background:var(--paper);color:var(--ink);padding:7px 12px;cursor:pointer}
.fbtn:hover{border-color:var(--ink)}
.fbtn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.fsearch{display:flex;border:1px solid var(--ink);max-width:520px;flex:1}
.fsearch input{flex:1;min-width:0;border:0;font-family:var(--mono);font-size:14px;padding:10px 12px;background:var(--paper);color:var(--ink)}
.count{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:auto}

/* product list table */
.plist{min-width:880px}
.plist td{vertical-align:middle}
.plist .thumb{width:96px;height:72px;background:#fff;border:1px solid var(--rule-2);position:relative;overflow:hidden;display:grid;place-items:center}
.plist .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:5px}
.plist .thumb .np{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);text-align:center;line-height:1.3}
.plist .pid{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.06em}
.plist .nm a{font-family:var(--display);font-weight:700;font-size:20px;text-decoration:none;display:block;margin-top:2px}
.plist .nm a:hover{color:var(--orange-ink)}
.plist .nm small{display:block;color:var(--ink-2);font-size:14px;margin-top:4px;max-width:44ch;line-height:1.45}
.plist .ty,.plist .ap{font-size:14px;color:var(--ink-2)}
.plist .out{font-family:var(--mono);font-size:13px;white-space:nowrap}
.plist .doc{text-align:right;white-space:nowrap}
.plist .doc a{font-family:var(--display);font-weight:700;color:var(--orange-ink);text-decoration:none}
.plist .doc span{font-family:var(--mono);font-size:11.5px;color:var(--muted)}
.plist tr[hidden]{display:none}
.alt .plist .thumb{background:#fff}

/* application page */
.appsum{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:end}
.appsum .fig{height:240px;position:relative}
.appsum .fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.appsum .fig.photo{border:1px solid var(--rule);height:200px}
.appsum .fig.photo img{object-fit:cover;mix-blend-mode:normal}
@media (max-width:860px){.appsum{grid-template-columns:1fr}}
.note{margin-top:18px;font-size:15px;color:var(--ink-2)}
.note .mono{color:var(--ink)}

/* product page */
.pd{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start}
.pd-media{min-width:0}
.pd-main{background:transparent;height:440px;position:relative}
.pd-main img{position:absolute;inset:0 0 30px 0;width:100%;height:calc(100% - 30px);object-fit:contain;padding:8px;mix-blend-mode:multiply}
.pd-main .cap{position:absolute;left:0;bottom:0;right:0;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);padding:8px 0 0;border-top:1px solid var(--rule);background:transparent}
.pd-thumbs{display:flex;gap:10px;margin-top:10px}
.pd-thumbs button{width:84px;height:64px;background:transparent;border:1px solid var(--rule);padding:4px;cursor:pointer}
.pd-thumbs button[aria-current="true"]{border:2px solid var(--orange)}
.pd-thumbs img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pd-info{min-width:0}
.pd-info .pid{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--muted)}
.pd-info h1{font-family:var(--display);font-weight:700;font-size:clamp(36px,4vw,54px);line-height:1;margin-top:10px}
.pd-info .lead{margin-top:16px;font-size:18px;color:var(--ink-2)}
.pd-ovw p{margin-top:12px;font-size:15.5px;color:var(--ink-2);max-width:40em}
.pd-ovw p:first-child{margin-top:22px}
.ov-more{margin-bottom:36px;max-width:48em}
.ov-more p{color:var(--ink-2);margin-top:12px}
.ov-more p:first-child{margin-top:0}
.pd-info .meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.pd-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pd-actions .phone2{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--ink);padding:12px 18px;font-family:var(--mono);font-weight:600;font-size:15px;text-decoration:none}
.keys{margin-top:28px;border-top:2px solid var(--ink)}
.keys div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:15px}
.keys dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.keys dd{margin:0}
.keys{margin-block-end:0}
@media (max-width:900px){.pd{grid-template-columns:1fr}.pd-main{height:320px}}
.ov{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.ov .prose p{color:var(--ink-2);margin-top:14px;max-width:40em}
.ov .prose p:first-child{margin-top:0}
.feat{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.feat li{display:grid;grid-template-columns:36px 1fr;padding:11px 0;border-bottom:1px solid var(--rule);font-size:15.5px}
.feat li span{font-family:var(--mono);font-size:12.5px;color:var(--orange-ink);padding-top:2px}
@media (max-width:860px){.ov{grid-template-columns:1fr;gap:32px}}
.models{min-width:760px}
.models td,.models th{text-align:left}
.models td{font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}
.models td:first-child{font-weight:600}
.models tbody tr:hover{background:var(--panel)}
.sub{font-family:var(--display);font-weight:700;font-size:22px;margin:40px 0 12px}
.sub:first-child{margin-top:0}
.order{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--ink);margin-top:8px;width:max-content;max-width:100%}
.order div{padding:12px 16px;border-right:1px solid var(--rule);min-width:0}
.order div:last-child{border-right:0}
.order b{display:block;font-family:var(--mono);font-size:20px;font-weight:600;color:var(--ink)}
.order span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.opts{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:2px solid var(--ink);margin-top:20px}
.opts > div{padding:14px 16px 14px 0;border-right:1px solid var(--rule);min-width:0}
.opts > div + div{padding-left:16px}
.opts > div:last-child{border-right:0}
.opts h4{margin:0 0 8px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.opts ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px}
.opts code{font-family:var(--mono);font-weight:600;color:var(--orange-ink);margin-right:6px}
@media (max-width:960px){.opts{grid-template-columns:1fr 1fr}.opts > div,.opts > div+div{border-right:0;padding:12px 0}}
.mounts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.mounts > div{border:1px solid var(--rule);background:var(--paper);padding:16px 18px}
.mounts h4{margin:0;font-family:var(--display);font-size:18px;font-weight:700}
.mounts h4 code{font-family:var(--mono);font-size:13px;color:var(--orange-ink);margin-left:6px}
.mounts p{margin-top:6px;font-size:14.5px;color:var(--ink-2)}
@media (max-width:860px){.mounts{grid-template-columns:1fr}}
.sportsbox{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;background:var(--ink);color:#fff;padding:18px 22px;margin-top:22px}
.sportsbox b{font-family:var(--display);font-size:20px}
.sportsbox span{font-family:var(--mono);font-size:12px;color:#9ea3aa;display:block;margin-top:4px}
.related{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rel{border:1px solid var(--rule);background:var(--paper);text-decoration:none;display:flex;flex-direction:column}
.rel .im{height:150px;position:relative;border-bottom:1px solid var(--rule-2);background:#fff}
.rel .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12px}
.rel b{font-family:var(--display);font-size:18px;padding:12px 14px 0}
.rel span{font-family:var(--mono);font-size:11px;color:var(--muted);padding:4px 14px 14px;letter-spacing:.06em}
.rel:hover{border-color:var(--ink)}
@media (max-width:860px){.related{grid-template-columns:1fr 1fr}}

/* projects page */
.pgroup{margin-top:40px}
.pgroup:first-of-type{margin-top:0}
.pgroup h3{font-family:var(--display);font-weight:700;font-size:22px;margin-bottom:10px;display:flex;align-items:baseline;gap:12px}
.pgroup h3 span{font-family:var(--mono);font-size:12px;color:var(--muted);font-weight:500;letter-spacing:.08em}
.proj td a{color:var(--orange-ink);font-weight:600;text-decoration:none}
.sportsband{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--ink);background:var(--paper);margin-top:16px}
.sportsband img{width:100%;height:100%;min-height:240px;object-fit:cover;display:block}
.sportsband .t{padding:26px 28px;display:grid;gap:12px;align-content:center}
.sportsband h3{font-family:var(--display);font-size:28px;font-weight:700}
.sportsband ul{margin:0;padding:0;list-style:none;font-family:var(--mono);font-size:13px;color:var(--ink-2);display:grid;gap:4px}
@media (max-width:860px){.sportsband{grid-template-columns:1fr}}

/* about page */
.caps{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ink)}
.caps > div{padding:16px 18px 16px 0;border-right:1px solid var(--rule);min-width:0}
.caps > div + div{padding-left:18px}
.caps > div:last-child{border-right:0}
.caps span{font-family:var(--mono);font-size:12px;color:var(--orange-ink);font-weight:600}
.caps h3{font-family:var(--display);font-weight:700;font-size:20px;margin-top:6px}
@media (max-width:960px){.caps{grid-template-columns:1fr 1fr}.caps > div,.caps > div+div{border-right:0;padding:12px 0}}
.figs3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.figs3 figure{margin:0;min-width:0}
.figs3 img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rule)}
.figs3 figcaption{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-top:8px;letter-spacing:.04em}
@media (max-width:760px){.figs3{grid-template-columns:1fr}}
.team{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink)}
.team li{padding:16px 18px 16px 0;border-right:1px solid var(--rule);display:grid;gap:4px;min-width:0}
.team li + li{padding-left:18px}
.team li:last-child{border-right:0}
.team b{font-family:var(--display);font-size:20px;font-weight:700}
.team span{font-size:14.5px;color:var(--ink-2)}
@media (max-width:860px){.team{grid-template-columns:1fr 1fr}.team li,.team li+li{border-right:0;padding:12px 0}}
.repbox{border:1px dashed var(--rule);background:var(--paper);padding:28px;margin-top:20px;font-family:var(--mono);font-size:13px;color:var(--muted);text-align:center}

/* subpage footer */
.foot2 .ct{font-family:var(--mono);text-transform:none;letter-spacing:.02em;color:var(--ink-2)}

/* project cards */
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{border:1px solid var(--rule);background:var(--paper);display:flex;flex-direction:column;min-width:0}
.pim{aspect-ratio:16/10;overflow:hidden;background:#fff;border-bottom:3px solid var(--orange);display:grid;grid-template-columns:1fr 1fr;gap:2px}
.pim img{width:100%;height:100%;object-fit:cover;display:block;min-width:0}
.pim img.fit{object-fit:contain;background:#fff}
.pbody{padding:18px 20px 20px;display:grid;gap:6px}
.ptag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pcard h3{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.1}
.pcard p{font-size:15px;color:var(--ink-2)}
.pcard .pres{font-family:var(--mono);font-size:12.5px;color:var(--orange-ink);font-weight:600}
.pcard .pprod{font-size:13.5px}
.pcard .pprod a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange)}
@media (max-width:960px){.pcards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pcards{grid-template-columns:1fr}}
/* about */
.about{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:start}
.about-txt p{font-size:18px;color:var(--ink-2);max-width:38em;margin-bottom:16px}
.about-figs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.about-figs img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid var(--rule)}
.card-contact{border:1px solid var(--ink)}
.card-contact dl{margin:0}
.card-contact dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:14px 16px;border-top:1px solid var(--rule-2);font-size:16px}
.card-contact dl div:first-child{border-top:0}
.card-contact dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.card-contact dd{margin:0}
.card-contact a{color:var(--orange-ink);font-weight:600;text-decoration:none}
@media (max-width:860px){.about{grid-template-columns:1fr;gap:32px}}

/* product story sections (flagship pages) */
.st-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border:1px solid var(--ink);background:var(--paper)}
.st-hero-img{position:relative;min-height:420px;background:#000}
.st-hero-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.st-hero-txt{padding:36px 40px;display:grid;gap:16px;align-content:center}
.st-hero-txt h2{font-family:var(--display);font-weight:700;font-size:clamp(28px,3vw,40px);line-height:1.05}
.st-hero-txt p{color:var(--ink-2);font-size:16.5px}
.st-kicker{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink)!important}
.st-hero.dark{background:var(--night);border-color:var(--night)}
.st-hero.dark .st-hero-txt h2{color:#fff}
.st-hero.dark .st-hero-txt p{color:#c9ccd1}
.st-hero.dark .st-kicker{color:var(--orange)!important}
.st-hero.dark .st-hero-img>img{opacity:.55}
.st-prods{position:absolute;inset:auto 0 0 0;display:flex;justify-content:center;gap:6%;padding:0 8% 28px;align-items:flex-end}
.st-prods img{width:34%;max-width:190px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.5))}
.st-stats{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid currentColor;margin-top:8px}
.st-stats div{padding:12px 0;border-bottom:1px solid var(--rule);display:grid;gap:2px}
.st-stats div:nth-child(odd){padding-right:14px}
.st-stats b{font-family:var(--display);font-weight:700;font-size:28px;line-height:1.05;color:var(--ink)}
.st-stats span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.st-hero.dark .st-stats{border-color:var(--orange)}
.st-hero.dark .st-stats div{border-color:#2c3036}
.st-hero.dark .st-stats b{color:var(--orange)}
.st-hero.dark .st-stats span{color:#9a9fa6}
.st-quote{margin:28px 0 0;border-left:4px solid var(--orange);padding:6px 0 6px 24px;max-width:52em}
.st-quote p{font-family:var(--display);font-size:clamp(20px,2vw,26px);line-height:1.25;font-weight:600}
.st-quote cite{display:block;margin-top:10px;font-style:normal;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.st-intro{font-size:17px;color:var(--ink-2);max-width:46em;margin-bottom:24px}
.st-apps{margin-top:18px;font-size:15.5px;color:var(--ink-2)}
.st-apps b{color:var(--ink)}
.st-vs{width:100%;border-collapse:collapse;min-width:640px;background:var(--paper)}
.st-vs th,.st-vs td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--rule);font-size:15px}
.st-vs thead th{font-family:var(--display);font-weight:700;font-size:20px;border-bottom:2px solid var(--ink)}
.st-vs tbody th{font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);width:150px;padding-top:17px}
.st-vs td{color:var(--ink-2)}
.st-vs .us{background:#fff6ea;color:var(--ink)}
.st-vs thead th.us{background:var(--orange);color:var(--ink)}
.st-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.st-step{border:1px solid var(--rule);background:var(--paper);padding:22px;display:grid;gap:14px;align-content:start;min-width:0}
.st-step .n{font-family:var(--mono);font-size:12px;color:var(--orange-ink);font-weight:600}
.st-step h3{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.1}
.st-step p{font-size:15px;color:var(--ink-2)}
.st-step img.wide{width:100%;height:auto;display:block;border:1px solid var(--rule)}
.st-mounts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.st-mounts figure{margin:0;display:grid;gap:6px}
.st-mounts img{width:100%;aspect-ratio:2/3;object-fit:contain;background:#fff;border:1px solid var(--rule)}
.st-mounts figcaption{font-family:var(--mono);font-size:10.5px;color:var(--muted);line-height:1.3}
.st-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.st-chips li{border:1px solid var(--ink);padding:5px 10px;font-size:13.5px;font-weight:600;background:var(--paper)}
.st-note{margin-top:18px;font-size:14px;color:var(--muted)}
.st-fixtures{margin:32px 0 8px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:0 8px}
.st-fixtures img{height:170px;width:auto;max-width:13%;object-fit:contain;object-position:bottom;display:block}
.st-fixtures img:nth-child(6){height:140px;max-width:18%}
@media (max-width:700px){.st-fixtures{flex-wrap:wrap;justify-content:center;gap:18px 22px}.st-fixtures img{height:110px;max-width:none}.st-fixtures img:nth-child(6){height:auto;width:140px}}
.st-cta{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;background:var(--orange);padding:24px 28px}
.st-cta h3{font-family:var(--display);font-weight:700;font-size:26px;line-height:1.1}
.st-cta p{margin-top:4px;font-size:15.5px}
.st-cta-act{display:flex;flex-wrap:wrap;gap:10px}
.st-cta .btn{background:var(--paper)}
.st-cta .btn.btn-orange{background:var(--ink);color:#fff;border-color:var(--ink)}
.st-cta .btn.btn-orange:hover{background:var(--paper);color:var(--ink)}
.st-bas{display:grid;gap:32px}
.st-ba{margin:0}
.st-ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.st-ba-pair div{position:relative}
.st-ba-pair img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.st-ba-pair span{position:absolute;left:12px;top:12px;background:var(--ink);color:#fff;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px}
.st-ba-pair span.on{background:var(--orange);color:var(--ink)}
.st-ba figcaption{margin-top:10px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted)}
@media (max-width:960px){.st-hero{grid-template-columns:1fr}.st-hero-img{min-height:300px}.st-steps{grid-template-columns:1fr}.st-hero-txt{padding:26px 22px}}
@media (max-width:560px){.st-stats b{font-size:23px}.st-mounts{grid-template-columns:repeat(2,1fr)}.st-ba-pair{grid-template-columns:1fr}.st-cta{padding:20px}}

/* fixture-specific kit directory */
.fk-top{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center}
.fk-head{max-width:52em}
.fk-fig{margin:0;text-align:center}
.fk-fig img{width:100%;max-width:360px;height:auto;mix-blend-mode:multiply}
.fk-fig figcaption{margin-top:6px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}
@media (max-width:860px){.fk-top{grid-template-columns:1fr}.fk-fig img{max-width:260px}}
.fk-head h2{font-family:var(--display);font-weight:700;font-size:clamp(30px,3.4vw,44px);line-height:1.05}
.fk-head p{margin-top:12px;font-size:17px;color:var(--ink-2)}
.fk-led{margin-top:22px;border-left:4px solid var(--orange);background:var(--paper);padding:14px 18px;font-size:16px;max-width:52em}
.fk-led b{font-family:var(--display);font-size:19px;margin-right:6px}
.fk-group{margin-top:34px}
.fk-ex{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 0}
.fk-ex figure{margin:0;display:grid;justify-items:center;gap:8px}
.fk-ex img{height:240px;width:auto;max-width:100%;object-fit:contain}
.fk-ex figcaption{font-size:15px;color:var(--ink-2)}
.fk-ex b{font-family:var(--display);font-size:18px;color:var(--ink)}
@media (max-width:560px){.fk-ex img{height:170px}}
.fk-group h3{font-family:var(--mono);font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:18px}
.fk-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:22px 18px}
.fk-grid li{display:grid;justify-items:center;text-align:center;gap:4px}
.fk-grid img{height:132px;width:100%;object-fit:contain;object-position:bottom;margin-bottom:6px}
.fk-grid b{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.1}
.fk-grid span{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted)}
.fk-more{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:0 28px}
.fk-more .fk-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
@media (max-width:900px){.fk-more{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fk-more{grid-template-columns:1fr}}
.fk-also{margin-top:30px;font-size:15.5px;color:var(--ink-2)}
.fk-also b{color:var(--ink)}
@media (max-width:560px){.fk-grid{grid-template-columns:repeat(2,1fr)}.fk-grid img{height:110px}}

.st-proof{margin-top:30px;display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.st-proof div{padding:16px 14px 14px 0;display:grid;gap:2px}
.st-proof b{font-family:var(--display);font-weight:700;font-size:30px;line-height:1;color:var(--ink)}
.st-proof span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.st-vs .st-num td b{font-family:var(--display);font-size:17px}
.st-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.st-cases>div{border:1px solid var(--rule);border-top:3px solid var(--orange);background:var(--paper);padding:20px 22px;display:grid;gap:10px;align-content:start}
.st-cases h3{font-family:var(--display);font-weight:700;font-size:22px;line-height:1.1}
.st-cases p{font-size:15px;color:var(--ink-2)}
.st-cases p b{color:var(--ink)}
@media (max-width:960px){.st-proof{grid-template-columns:repeat(3,1fr)}.st-cases{grid-template-columns:1fr}}
@media (max-width:560px){.st-proof{grid-template-columns:1fr 1fr}.st-proof b{font-size:25px}}

.glead{font-size:16px;color:var(--ink-2);max-width:52em;margin:-14px 0 22px}
.glead a{color:var(--orange-ink);font-weight:600;white-space:nowrap}
.pgroup .sportsbox{margin-top:20px}

/* install gallery + lightbox */
.gal{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gal a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#000}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.gal a:hover img{transform:scale(1.04)}
.gal span{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.04em}
.lb{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;margin:0}
.lb::backdrop{background:rgba(10,12,14,.92)}
.lb figure{margin:0;height:100%;display:grid;place-items:center;align-content:center;gap:10px;padding:40px 70px}
.lb img{max-width:100%;max-height:82vh;object-fit:contain}
.lb figcaption{color:#ddd;font-family:var(--mono);font-size:13px}
.lb button{position:fixed;background:transparent;border:0;color:#fff;font-size:44px;line-height:1;cursor:pointer;padding:10px 16px}
.lb-x{top:10px;right:14px}.lb-p{left:6px;top:50%;transform:translateY(-50%)}.lb-n{right:6px;top:50%;transform:translateY(-50%)}
@media (max-width:860px){.gal{grid-template-columns:repeat(2,1fr)}.lb figure{padding:50px 10px}}

/* perfect-fit process page */
.pf-steps{grid-template-columns:repeat(4,1fr)}
.pf-send{margin-top:28px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}
.pf-send h3{font-family:var(--display);font-weight:700;font-size:22px;margin-bottom:10px}
.pf-send ul{margin:0;padding-left:18px;color:var(--ink-2);font-size:15.5px;display:grid;gap:4px}
.pf-infra{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pf-infra li{border:1px solid var(--rule);background:var(--paper);display:flex;flex-direction:column}
.pf-infra img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:3px solid var(--orange)}
.pf-infra div{padding:14px 16px 16px;display:grid;gap:6px}
.pf-infra b{font-family:var(--display);font-size:19px;line-height:1.1}
.pf-infra p{font-size:14.5px;color:var(--ink-2)}
@media (max-width:960px){.pf-steps{grid-template-columns:1fr 1fr}.pf-infra{grid-template-columns:1fr 1fr}.pf-send{grid-template-columns:1fr}}
@media (max-width:560px){.pf-steps,.pf-infra{grid-template-columns:1fr}}

.pf-proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:none}
.pf-proc li{border:1px solid var(--rule);background:var(--paper);display:flex;flex-direction:column}
.pf-proc img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:3px solid var(--orange);background:#fff}
.pf-proc div{padding:14px 16px 16px;display:grid;gap:6px}
.pf-proc .n{font-family:var(--mono);font-size:12px;color:var(--orange-ink);font-weight:600}
.pf-proc h3{font-family:var(--display);font-weight:700;font-size:19px;line-height:1.1}
.pf-proc p{font-size:14px;color:var(--ink-2)}
.pf-infra .pi{aspect-ratio:4/3;overflow:hidden;border-bottom:3px solid var(--orange);background:#fff}
.pf-infra .pi img{width:100%;height:100%;object-fit:cover;border:0;aspect-ratio:auto}
.pf-infra .pi.cut img{object-fit:contain;padding:10px;mix-blend-mode:multiply}
.pf-infra .pt{padding:14px 16px 16px;display:grid;gap:6px}
@media (max-width:1100px){.pf-proc{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.pf-proc{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.pf-proc{grid-template-columns:1fr}}

/* products lineup header */
.lineup h1{font-size:clamp(40px,5vw,66px)}
.lu-top{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.lu-imgs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end}
.lu-imgs a{display:block}
.lu-imgs img{width:100%;height:150px;object-fit:contain;mix-blend-mode:multiply;transition:transform .2s}
.lu-imgs a:hover img{transform:translateY(-4px)}
.lu-proof{margin-top:30px}
.lu-who{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lu-who div{border-left:3px solid var(--orange);padding:4px 0 4px 16px}
.lu-who b{font-family:var(--display);font-size:20px}
.lu-who p{font-size:15px;color:var(--ink-2);margin-top:4px}
@media (max-width:960px){.lu-top{grid-template-columns:1fr}.lu-who{grid-template-columns:1fr}.lu-imgs img{height:110px}}
.lu-at{margin-top:14px;font-size:14.5px;color:var(--ink-2)}
.lu-at b{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink);margin-right:8px}
.lu-h{font-family:var(--display);font-weight:700;font-size:24px;margin-top:28px}
.lineup .lu-who{margin-top:12px}

/* Series pages (Trove): on phones the version columns stack, each value labeled with its version */
.st-vs.versions td p{margin:0 0 10px}
@media (max-width:700px){.st-vs.versions{min-width:0}.st-vs.versions thead{display:none}.st-vs.versions tr,.st-vs.versions th,.st-vs.versions td{display:block;width:auto}.st-vs.versions tbody th{border-bottom:0;padding-bottom:2px}.st-vs.versions td{padding-top:6px}.st-vs.versions td::before{content:attr(data-v);display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-ink);margin-bottom:4px}}
