/* r410-home.css: the R4-10 homepage layers (round-20261027), built 202610281629 by ship47.py from r1.css r2.css r3.css r4.css fo.css sg.css r8.css r45.css r46.css r47.css r48.css r410.css */
/* ═══ Round 1 (round-20261027/r1.css) — on top of the prod Blueprint build. Nothing restyled; only the new pieces. ═══ */

/* machine shop photos + films open machining services */
main.r1 #shop .r1-link{position:relative}
main.r1 #shop .r1-hit{position:absolute;inset:0;z-index:4}
main.r1 #shop .r1-hit:focus-visible{outline:2px solid #9cc0ff;outline-offset:-4px}
main.r1 #shop .r1-link figcaption b::after{content:" →";color:#9cc0ff}

/* trust strip: the Google door */
main.r1 .facts .fx>a.r1-g{text-decoration:none}
main.r1 .facts .fx>a.r1-g i{font-style:normal;color:#f5b301;letter-spacing:1px;font-size:1.05em;margin-right:4px}
main.r1 .facts .fx>a.r1-g span{color:var(--ink3,#7f96bf)}
main.r1 .facts .fx>a.r1-g:hover b{color:#fff}

/* one commerce sheet: underline tabs under the Sheet plate */
main.r1 .r1-tabs{display:flex;gap:clamp(18px,2.4vw,34px);border-bottom:var(--bw,1px) solid var(--line,rgba(106,160,255,.26));margin:-8px 0 22px;overflow-x:auto;scrollbar-width:none}
main.r1 .r1-tabs::-webkit-scrollbar{display:none}
main.r1 .r1-tabs button{all:unset;cursor:pointer;flex:0 0 auto;padding:14px 0 12px;margin-bottom:-1px;border-bottom:2px solid transparent;
  font:600 11px/1 var(--mono,ui-monospace,monospace);letter-spacing:.18em;text-transform:uppercase;color:var(--ink3,#7f96bf);white-space:nowrap}
main.r1 .r1-tabs button:hover{color:var(--ink2,#c9d6ee)}
main.r1 .r1-tabs button[aria-selected=true]{color:var(--ink,#fff);border-bottom-color:var(--acclt,#6aa0ff)}
main.r1 .r1-tabs button:focus-visible{outline:2px solid var(--acclt,#6aa0ff);outline-offset:4px}
main.r1 [role=tabpanel][hidden]{display:none!important}
main.r1 .r1-panel>.wrap>.sh{display:none!important}
main.r1 .r1-panel{padding-top:0!important}
main.r1 .c-garage #addons{padding-top:0!important}
main.r1 .r1-railp .wrap{flex-direction:column;align-items:flex-start;gap:14px}
main.r1 .r1-railp .lx-rl{display:none}
main.r1 .r1-railp .lx-rc{flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none;padding-right:0;gap:10px}
main.r1 .r1-railp .lx-rc a{padding:16px 20px;font-size:12.5px}
@media (min-width:1100px){ main.r1 .c-garage #best{grid-column:1/-1} }

/* the contact sheet absorbs the assistant as one row */
main.r1 .r1-askrow{padding-top:var(--gut,18px)!important}
main.r1 .r1-askrow .lx-ab{padding:clamp(18px,2vw,28px);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center}
main.r1 .r1-askh{margin:8px 0 0;font:700 clamp(22px,2.2vw,32px)/1 var(--osw,'Oswald'),sans-serif;text-transform:uppercase;color:var(--ink,#fff)}
main.r1 .r1-askh em{font-style:normal;background:var(--acc,#1d5fd8);padding:0 .14em;color:#fff}
main.r1 .r1-askrow .lx-ab p{margin-top:10px;font-size:14.5px}
main.r1 .r1-visit~#foot .ftop,main.r1 #foot .ftop{display:none}   /* the phone band under the brands repeats the contact sheet */

/* the floating advisor collapses to its icon once you scroll */
body.r1-scrolled .lm-chat-trigger .lm-chat-trigger-tx{display:none}
body.r1-scrolled .lm-chat-trigger{padding:.9em;border-radius:50%}

/* the 6.6L stroker as a wide card, not a full screen */
main.r1 .r1-strk{padding-top:var(--gut,18px)!important}
@media (min-width:901px){ main.r1 .r1-strk .lx-sg{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;min-height:0} }
main.r1 .r1-strk .lx-stx{padding:clamp(20px,2.4vw,36px)}
main.r1 .r1-strk h2{font-size:clamp(28px,2.8vw,44px)}
main.r1 .r1-strk .lx-stx p{max-width:52ch}
main.r1 .r1-strk .lx-pic{max-height:360px}
main.r1 .r1-strk .lx-pic img{max-height:360px}
@media (max-width:900px){ main.r1 .r1-strk .lx-sg{grid-template-columns:1fr} main.r1 .r1-strk .lx-pic,main.r1 .r1-strk .lx-pic img{max-height:260px} }

/* record plates: the platform plate, four across, the number as the big line */
main.r1 #records .p3{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:var(--gut,18px)!important;margin:0!important;padding:0!important}
main.r1 #records .pcard{min-height:clamp(340px,28vw,440px)!important;flex:none!important}
main.r1 #records .pcard img{object-position:var(--focus,50% 50%)}
main.r1 #records .r1-num{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:0 10px;font-size:clamp(54px,4.6vw,84px)!important;line-height:.9!important}
main.r1 #records .r1-num b{font-size:.36em;letter-spacing:.06em;color:var(--acclt,#6aa0ff)}
main.r1 #records .r1-num em{flex-basis:100%;margin-top:8px;font:600 11px/1.3 var(--mono,ui-monospace,monospace);letter-spacing:.16em;text-transform:uppercase;color:#cfe0ff;font-style:normal}
main.r1 #records .pc-line{color:#e8eef8!important}
@media (max-width:1099px){ main.r1 #records .p3{grid-template-columns:repeat(2,minmax(0,1fr))!important} }
@media (max-width:900px){
  main.r1 #records .p3{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px!important;padding:0 16px 6px!important;margin:0 -16px!important}
  main.r1 #records .p3::-webkit-scrollbar{display:none}
  main.r1 #records .pcard{flex:0 0 80%!important;min-height:320px!important;scroll-snap-align:start}
}

/* category index (R1-4): the eight doors as one row of text with the counts */
main.lms.lx-v14.fx.r1 #cats.r1-catidx .cats.v1{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border:var(--bw,1px) solid var(--line,rgba(106,160,255,.26))}
main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat{display:flex!important;aspect-ratio:auto!important;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:0;border-right:var(--bw,1px) solid var(--line,rgba(106,160,255,.26));border-bottom:var(--bw,1px) solid var(--line,rgba(106,160,255,.26));background:var(--surf,rgba(8,20,42,.74))}
main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat:nth-child(4n){border-right:0}
main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat:nth-child(n+5){border-bottom:0}
main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat .im{display:none!important}
main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat .lb{display:flex!important;align-items:baseline;justify-content:space-between;width:100%;gap:10px;padding:0;border:0}
main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat .lb b{font:700 14px/1.1 var(--osw,'Oswald'),sans-serif;letter-spacing:.06em;text-transform:uppercase}
main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat .lb small{font:600 10.5px/1 var(--mono,ui-monospace,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--acclt,#6aa0ff)}
main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat:hover{background:rgba(29,95,216,.28)}
@media (max-width:900px){
  main.lms.lx-v14.fx.r1 #cats.r1-catidx .cats.v1{grid-template-columns:repeat(2,minmax(0,1fr))}
  main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat:nth-child(4n){border-right:var(--bw,1px) solid var(--line,rgba(106,160,255,.26))}
  main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat:nth-child(2n){border-right:0}
  main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat:nth-child(n+5){border-bottom:var(--bw,1px) solid var(--line,rgba(106,160,255,.26))}
  main.lms.lx-v14.fx.r1 #cats.r1-catidx .cat:nth-child(n+7){border-bottom:0}
}

/* R1-4 catalog desk: the hero is a band as tall as the finder, not a screen */
@media (min-width:901px){
  main.r1-4 .c-garage{--c-hh:0px}
  main.r1-4 .c-garage .lx-hw{grid-row:1/2!important;min-height:0!important}
  main.r1-4 .c-garage .hero .frame{height:auto!important;min-height:0!important;flex:1!important}
  main.r1-4 .lx-hw .mega .slide h1,main.r1-4 .lx-hw .mega .slide h2{font-size:clamp(34px,4vw,60px)}
  main.r1-4 .lx-hw .mega .slide .lede{display:none}
  main.r1-4 .facts{padding-top:var(--gut,18px)}
  main.r1-4 .facts .fx{border-top:var(--bw,1px) solid var(--line,rgba(106,160,255,.26))}
}

/* R1-5 the manufacturer: proof block before product, so the second garage board has no hero above it */
main.r1-5 .c-garage+.c-floor{padding-top:0}
main.r1-5 .c-floor+.c-garage{padding-top:var(--gut,18px)}

/* the trust strip outside the hero board (R1-4): a plain five-across strip, not the board's grid cells */
main.r1-4 .facts .fx,main.r2-3 .facts .fx{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%}
main.r1-4 .facts .fx>*,main.r2-3 .facts .fx>*{grid-column:auto!important;grid-row:auto!important}

/* ═══ Round 2 (r2.css) — the Blueprint without the drafting-table dressing: no sheet plates, no counters ═══ */

/* section titles: a padded box with the title and subtitle on the left, the link on the right. No plate. */
main.r2 .sh::before,main.r2 .sh::after{display:none!important}
main.r2 .sh h2::before{display:none!important;content:none!important}
main.r2 .sh{display:flex!important;flex-wrap:wrap;align-items:center!important;justify-content:space-between;gap:12px 28px;
  padding:22px 28px!important;margin:0 0 20px!important;border:1px solid var(--s-edge,rgba(106,160,255,.26))!important;background:rgba(8,20,42,.7)!important}
main.r2 .sh h2{display:block!important;grid-template-columns:none!important;margin:0!important;padding:0!important;line-height:1!important}
main.r2 .sh h2 small{display:block;margin:10px 0 0!important;font:500 13px/1.4 var(--sai,'Saira'),sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink3,#8fa3c8)!important}
main.r2 .sh .lnk{display:inline-flex!important;align-items:center;margin:0!important;padding:12px 16px!important;border:1px solid var(--s-edge,rgba(106,160,255,.26))!important;white-space:nowrap}
main.r2 .sh .lnk:hover{border-color:var(--acclt,#6aa0ff)!important}
main.r2 .r1-tabs{margin:-4px 0 22px!important}
@media (max-width:900px){
  main.r2 .sh{padding:18px 18px!important;gap:12px 16px}
  main.r2 .sh .lnk{width:100%;justify-content:center}
}

/* card tags and counters off */
main.r2 :is(#addons .lx-ac,#packages .lx-pc,#cats .cat)::before,
main.r2 :is(#addons .lx-ac,#packages .lx-pc,#cats .cat) .im::before,
main.r2 :is(#addons .lx-ac,#packages .lx-pc,#cats .cat) .im::after,
main.r2 #dyno .svc li::before,main.r2 #ask .lx-q::before,main.r2 #tv .lx-yt::before,main.r2 .lx-rf::before,
main.r2 .lx-rf figcaption::before,main.r2 .lx-pc .im::before,main.r2 .lx-ac .im::before{display:none!important;content:none!important}
main.r2 #dyno .svc li{padding-top:14px!important}
main.r2 #ask .lx-q{padding-left:0!important}
main.r2 .lx-rf .lx-tag,main.r2 .lx-pc .lx-no,main.r2 .lx-ac .lx-no,main.r2 .lx-no{display:none!important}
/* the hero's "01 · Ford F-150 · at the strip" lab keeps its words, loses the number */
main.r2 .hero .lab,main.r2 .mh-lab{font-variant-numeric:tabular-nums}

/* R2-2 Quiet: one still, no slide controls */
main.r2-2 .hero .ctl,main.r2-2 .mh-dots{display:none!important}
main.r2-2 .hero .slide .lab,main.r2-2 .mh-lab{display:none!important}
main.r2-2 .hero .slide .t .wrap>*{max-width:min(760px,100%)!important}
main.r2-4 .hero .ctl,main.r2-4 .mh-dots{display:none!important}

/* R2-3 Storefront: the hero is a band as tall as the finder (same as R1-4) */
@media (min-width:901px){
  main.r2-3 .c-garage{--c-hh:0px}
  main.r2-3 .c-garage .lx-hw{grid-row:1/2!important;min-height:0!important}
  main.r2-3 .c-garage .hero .frame{height:auto!important;min-height:0!important;flex:1!important}
  main.r2-3 .lx-hw .mega .slide h1,main.r2-3 .lx-hw .mega .slide h2{font-size:clamp(34px,4vw,60px)}
  main.r2-3 .lx-hw .mega .slide .lede{display:none}
  main.r2-3 .facts{padding-top:var(--gut,18px)}
  main.r2-3 .facts .fx{border-top:var(--bw,1px) solid var(--line,rgba(106,160,255,.26))}
}

/* R2-4 Three doors */
main.r2 .r2-dg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gut,18px)}
main.r2 .r2-door{position:relative;display:flex;align-items:flex-end;min-height:clamp(380px,34vw,560px);overflow:hidden;border:var(--bw,1px) solid var(--line,rgba(106,160,255,.26));color:#fff;text-decoration:none;background:#05080e}
main.r2 .r2-door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%);transition:transform .6s ease}
main.r2 .r2-door::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,8,16,.96) 0,rgba(4,8,16,.72) 38%,rgba(4,8,16,.08) 70%)}
main.r2 .r2-door:hover img{transform:scale(1.04)}
main.r2 .r2-dt{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2vw,32px)}
main.r2 .r2-dt small{font:600 11px/1 var(--mono,ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;color:#9cc0ff}
main.r2 .r2-dt b{font-family:var(--osw,'Oswald'),sans-serif;font-weight:700;font-size:clamp(30px,2.6vw,46px);line-height:.95;text-transform:uppercase}
main.r2 .r2-dt>span{color:#c9d6ee;font-size:15px;line-height:1.5;max-width:36ch}
main.r2 .r2-dt em{font-style:normal;font-weight:700;color:#fff;margin-top:6px;display:inline-flex;align-self:flex-start;padding:12px 16px;background:var(--acc,#1d5fd8)}
main.r2 .r2-door:focus-visible{outline:2px solid #9cc0ff;outline-offset:2px}
main.r2-4 .c-garage+.r2-doors{padding-top:var(--gut,18px)}
main.r2-4 .r2-doors+.c-garage{padding-top:var(--gut,18px)}
@media (max-width:900px){
  main.r2 .r2-dg{grid-template-columns:1fr}
  main.r2 .r2-door{min-height:300px}
}

/* the drawing callout in the hero corner and the slide numbers: off */
main.r2 .c-garage .lx-hw::after{display:none!important;content:none!important}
main.r2 .ctl .dots button i{display:none!important}

/* ═══ Round 3 (r3.css) — the deluxe pass, on top of r1 + r2. More air, lighter rules, bigger photos, softer lines. ═══ */
main.r3{--r3-line:rgba(120,165,235,.22);--r3-line2:rgba(120,165,235,.34)}

/* air: every section breathes more */
main.r3 .c-board+section,main.r3 section+section,main.r3 section+.c-board,main.r3 .c-board+.c-board{padding-top:clamp(36px,4vw,64px)!important}
main.r3 .c-garage #best{padding-top:clamp(40px,4.4vw,68px)!important}
main.r3 #foot{margin-top:clamp(36px,4vw,64px)}

/* section headers: no box. A big title, a quiet subtitle, the link as text, one hairline with a short blue accent. */
main.r3 .sh{display:flex!important;flex-wrap:wrap;align-items:flex-end!important;justify-content:space-between;gap:10px 28px;
  padding:0 0 18px!important;margin:0 0 26px!important;border:0!important;border-bottom:1px solid var(--r3-line)!important;background:none!important;position:relative}
main.r3 .sh::before{display:block!important;content:""!important;position:absolute;left:0;bottom:-1px;top:auto!important;width:64px;height:2px;background:var(--acc,#1d5fd8)!important}
main.r3 .sh h2{font-size:clamp(32px,3.4vw,52px)!important;letter-spacing:-.015em!important;line-height:.98!important}
main.r3 .sh h2 small{margin-top:10px!important;font-size:14px!important;color:var(--ink2,#b9c6e0)!important}
main.r3 .sh .lnk{border:0!important;padding:0 0 4px!important;font-size:12px!important;letter-spacing:.14em!important;color:var(--acclt,#6aa0ff)!important;border-bottom:1px solid transparent!important}
main.r3 .sh .lnk:hover{color:#fff!important;border-bottom-color:#fff!important}
main.r3 .r1-tabs{margin:-8px 0 26px!important;border-bottom-color:var(--r3-line)!important}
main.r3 .r1-tabs button{padding:16px 0 14px;font-size:11.5px}

/* hairlines, softer; plates a touch deeper */
main.r3 :is(.c-garage .lx-hw,.c-find,.facts .fx>*,.lx-row,.lx-ac,.lx-pc,.pcard,.lx-stx,.lx-rf,.lx-rp,.lx-pic,#dyno .film,#dyno .txt,.cf,.vmap,.r2-door,.lx-ab){border-color:var(--r3-line)!important}
main.r3 :is(.lx-row,.lx-ac,.lx-pc):hover{border-color:var(--r3-line2)!important}

/* hero: a bigger headline, a deeper vignette so the words sit on the photo */
main.r3 .lx-hw .mega .slide h1,main.r3 .lx-hw .mega .slide h2{font-size:clamp(44px,6vw,104px)!important}
main.r3 .lx-hw .mega .slide .lede{font-size:clamp(16px,1.3vw,19px);max-width:46ch}
main.r3 .lx-hw .mega .slide .g{background:linear-gradient(to top,rgba(4,8,16,.94) 0,rgba(4,8,16,.55) 42%,rgba(4,8,16,.08) 72%)!important}
main.r3 .lx-hw .mega .slide .lab{display:none!important}
main.r3 .mh-lab{display:none!important}
main.r3-still .hero .ctl,main.r3-still .mh-dots{display:none!important}
main.r3-still .hero .slide .t .wrap>*{max-width:min(760px,100%)!important}

/* buttons: taller, calmer */
main.r3 .btn{min-height:50px;padding-left:22px;padding-right:22px;letter-spacing:.14em}
main.r3 .hero .cta .btn{min-height:54px}

/* best sellers: the three side cards get room and a bigger photo */
main.r3 #best .lx-side .lx-row{padding:20px 22px 20px 18px!important;gap:20px!important;grid-template-columns:124px minmax(0,1fr)!important}
main.r3 #best .lx-side .lx-row .lx-rim{aspect-ratio:1/1}
main.r3 #best .lx-side .lx-row h3{font-size:19px}
main.r3 #best .lx-lead{padding:clamp(24px,2.6vw,40px)!important}

/* goes-with cards, packages: a little more inside, photos slightly larger */
main.r3 #addons .lx-ac{padding:14px 14px 18px!important}
main.r3 #packages .lx-pc{padding:14px!important}
main.r3 #packages .lx-pc .lx-ptx{padding:14px 6px 2px}
main.r3 #packages .lx-pc h3{font-size:19px}

/* platform doors and the three doors: taller */
main.r3 #platforms .pcard{min-height:clamp(440px,36vw,600px)!important}
main.r3 .r2-door{min-height:clamp(420px,36vw,600px)}

/* record plates: taller */
main.r3 #records .pcard{min-height:clamp(380px,30vw,480px)!important}

/* the finder dock and facts: softer surfaces */
main.r3 .c-find,main.r3 .facts .fx>*{background:linear-gradient(180deg,rgba(14,30,58,.78),rgba(8,20,42,.78))!important}

/* contact: the form and map get the same air */
main.r3 #visit .vrow{gap:var(--gut,18px)}
main.r3 .r1-askrow .lx-ab{padding:clamp(22px,2.4vw,34px)}

@media (max-width:900px){
  main.r3 .c-board+section,main.r3 section+section,main.r3 section+.c-board,main.r3 .c-board+.c-board{padding-top:34px!important}
  main.r3 .sh h2{font-size:30px!important}
  main.r3 .sh .lnk{width:auto}
  main.r3 #best .lx-side .lx-row{grid-template-columns:104px minmax(0,1fr)!important;padding:16px!important}
  main.r3 #platforms .pcard,main.r3 .r2-door{min-height:320px!important}
}

/* R3-5 Storefront: the hero is a band as tall as the finder; the trust strip outside the board is a plain five-across strip */
@media (min-width:901px){
  main.r3-5 .c-garage{--c-hh:0px}
  main.r3-5 .c-garage .lx-hw{grid-row:1/2!important;min-height:0!important}
  main.r3-5 .c-garage .hero .frame{height:auto!important;min-height:0!important;flex:1!important}
  main.r3-5 .lx-hw .mega .slide h1,main.r3-5 .lx-hw .mega .slide h2{font-size:clamp(34px,4vw,60px)!important}
  main.r3-5 .lx-hw .mega .slide .lede{display:none}
  main.r3-5 .facts .fx{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%}
  main.r3-5 .facts .fx>*{grid-column:auto!important;grid-row:auto!important}
}

/* the map at metro scale: the pin is drawn inside the drawing, the map fills the card above the address block */
main.r3 #visit .mapcard{min-height:0!important;justify-content:flex-start!important;aspect-ratio:auto}
main.r3 #visit .mapcard svg{position:relative;inset:auto;display:block;width:100%;height:auto;flex:1 1 auto;min-height:0;aspect-ratio:auto}
main.r3 #visit .mapcard .pin{display:none!important}
main.r3 #visit .mapcard .addr{position:relative;background:var(--surf2,#07101f)}
main.r3 #visit .vrow{align-items:stretch}
@media (max-width:900px){ main.r3 #visit .mapcard svg{aspect-ratio:2/1;flex:none} }

/* ═══ Round 4 (r4.css) — one spacing rhythm, on top of r1 + r2 + r3 ═══
   Sections: 64 px apart on desktop, 40 on phone. Title to content: 24 px. Cards: 20 px inside. Panels: 32 px inside. */
main.r4{--r4-sec:64px;--r4-card:20px;--r4-panel:32px;--r4-head:24px}
@media (max-width:900px){ main.r4{--r4-sec:40px;--r4-card:16px;--r4-panel:22px;--r4-head:18px} }

/* section rhythm: every top-level block owns its top gap, nothing else adds to it */
main.r4 > section,main.r4 > .c-board{padding-top:var(--r4-sec)!important;margin-top:0!important;padding-bottom:0!important;margin-bottom:0!important}
main.r4 > .c-garage:first-child{padding-top:var(--gut,18px)!important}
main.r4 .c-board > section,main.r4 .c-board > aside,main.r4 .c-board > .lx-hw{margin-top:0!important}
main.r4 .c-garage #best{padding-top:var(--r4-sec)!important}
main.r4 .c-garage #addons,main.r4 .c-garage #rail{padding-top:0!important}
main.r4 .c-floor > section+section{padding-top:var(--gut,18px)!important}
main.r4 #foot{margin-top:var(--r4-sec)!important}
main.r4 section.lx-best{margin-top:0!important;padding-bottom:0!important}

/* title to content */
main.r4 .sh{margin:0 0 var(--r4-head)!important;padding-bottom:16px!important}
main.r4 .r1-tabs{margin:calc(var(--r4-head) * -1 + 4px) 0 var(--r4-head)!important}

/* cards: one inner padding */
main.r4 #best .lx-side .lx-row{padding:var(--r4-card)!important}
main.r4 #best .lx-lead{padding:var(--r4-panel)!important}
main.r4 #addons .lx-ac{padding:var(--r4-card)!important}
main.r4 #packages .lx-pc{padding:var(--r4-card)!important}
main.r4 #packages .lx-pc .lx-ptx{padding:14px 0 0}
main.r4 .facts .fx>*{padding:var(--r4-card)!important}
main.r4 .c-find{padding:var(--r4-card) var(--r4-card) var(--r4-card)!important}
main.r4 .pcard .pc-in{padding:var(--r4-panel) var(--r4-card) var(--r4-card)!important}

/* panels: one inner padding */
main.r4 #shop .lx-stx,main.r4 #dyno .txt,main.r4 #stroker .lx-stx,main.r4 #visit .cf,main.r4 .r1-askrow .lx-ab{padding:var(--r4-panel)!important}
main.r4 #visit .mapcard .addr{padding:var(--r4-card) var(--r4-panel)!important}

/* the floating advisor: its icon from the start, so it never sits on the phone tile */
body .lm-chat-trigger .lm-chat-trigger-tx{display:none!important}
body .lm-chat-trigger{padding:.9em!important;border-radius:50%!important}

/* hero deck strip: the two slide names and the arrows share one baseline */
main.r4 .hero .ctl .dots button{padding-top:14px;padding-bottom:14px}

/* measured and corrected: inner sections of a board add nothing below; the contact sheet and its assistant row sit 24 px apart */
main.r4 .c-board > section,main.r4 .c-board > aside{padding-bottom:0!important;margin-bottom:0!important}
main.r4 #visit > .wrap{padding-top:0!important;margin-top:0!important}
main.r4 #visit .sh{margin-top:0!important}
main.r4 #ask.r1-askrow{padding-top:24px!important}
main.r4 #brands{padding-top:var(--r4-sec)!important}

/* ═══ 10-28 fixes, after looking at the page at a 1126 px window (the one Curtis actually reviews in) ═══ */
/* assistant row: the title block sat at the bottom of its column with dead air above it. Both columns start at the top now. */
main.r4 #ask .lx-ab{align-items:start!important}
main.r4 #ask .lx-ab>div:first-child{padding-top:16px}
main.r4 #ask .lx-qs .btn{margin-top:22px!important}

/* 901–1300 px: the finder's four selects were 72 px wide and read "M…", "Pi…". Two by two. */
@media (min-width:901px) and (max-width:1300px){
  main.r4 .c-find .lx-tfs{grid-template-columns:1fr 1fr!important;gap:10px!important}
  /* best-seller lead card: price + two buttons were forced on one line and the Details button ran off the card */
  main.lms.fx-c.bsx-1.r4 #best .lx-lead .lx-buy{flex-wrap:wrap!important;gap:10px 12px!important}
  main.lms.fx-c.bsx-1.r4 #best .lx-lead .lx-buy>b{flex-basis:100%}
  main.r4 #best .lx-lead .lx-ltx{padding-left:20px!important}
  /* package cards: the gain and the price overflowed their tiles */
  main.r4 #packages .lx-pc .gain{font-size:20px!important}
  main.r4 #packages .lx-pc .lx-buy>b{font-size:20px!important}
  /* the four facts: smaller titles so a row's cards stay level */
  main.r4 .facts .fx>* b{font-size:15px!important}
}

/* R4-4 (the full page): eight package cards; a long gain note ("+175 lb-ft on E30") wraps inside its tile instead of running into the price */
main.r4 #packages .lx-pc .gain{white-space:normal!important}
main.r4 #packages .lx-pc .gain small{white-space:normal!important;line-height:1.3!important}

/* ═══ fo.css — the product focus section, five ways (focus.py) ═══
   #best rules carry main.lms.fx-c.bsx-1 to beat the production sheet's !important rules at that specificity. */
main.fo .fo-note{background:#07101f;border-bottom:1px solid var(--r3-line,rgba(120,165,235,.22));padding:14px 0}
main.fo .fo-note .wrap{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}
main.fo .fo-note b{font:700 12px/1 var(--mono,ui-monospace,monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--acclt,#6aa0ff)}
main.fo .fo-note span{color:var(--ink3,#8fa3c8);font-size:14px}
main.fo > #best{padding-bottom:var(--r4-sec,64px)!important}

/* the three best sellers (r5.css does the three-across cards where main carries r5) */
main.lms.fx-c.bsx-1.fo #best .fo-stage{margin-bottom:var(--gut,18px)}

/* sub label + arrows share a line above the packages row */
main.fo .fo-wrap{position:relative;margin-top:calc(var(--gut,18px) + 8px)}
main.fo .fo-sub{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding-right:110px}
main.fo .fo-sub span{font:700 11px/1 var(--mono,ui-monospace,monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--acclt,#6aa0ff);white-space:nowrap}
main.fo .fo-sub::after{content:"";flex:1;height:1px;background:var(--r3-line,rgba(120,165,235,.22))}
main.fo .fo-nav{position:absolute;right:0;top:-10px;display:flex;gap:6px;z-index:3}
main.fo .fo-nav button{width:44px;height:44px;border:1px solid var(--r3-line2,rgba(120,165,235,.34));background:rgba(8,20,42,.9);color:#fff;font:400 26px/1 var(--osw,'Oswald'),sans-serif;cursor:pointer}
main.fo .fo-nav button:hover{border-color:#fff}
main.fo .fo-nav button:focus-visible{outline:2px solid #9cc0ff;outline-offset:2px}

/* the packages wrapper loses its section spacing; the cards keep their look */
main.lms.fx-c.bsx-1.fo #best #packages.fo-pk{padding:0!important;margin:0!important;contain:none}

/* F1 + F5: a snapping row, four across, one card per step */
main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail{display:flex!important;grid-template-columns:none!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--gut,18px)!important;scrollbar-width:none;padding:2px 0 6px;scroll-behavior:smooth}
main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail::-webkit-scrollbar{display:none}
/* the best-seller rows sit inside a display:contents wrapper, so they are matched as well as the direct children */
main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail>[data-card],main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail .lx-side>[data-card]{flex:0 0 calc((100% - 3 * var(--gut,18px)) / 4)!important;width:auto!important;scroll-snap-align:start;margin:0!important}
main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail>[data-card][hidden],main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail .lx-side>[data-card][hidden]{display:none!important}
@media (max-width:1300px){ main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail>[data-card],main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail .lx-side>[data-card]{flex-basis:calc((100% - 2 * var(--gut,18px)) / 3)!important} }
@media (max-width:900px){ main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail>[data-card],main.lms.fx-c.bsx-1.fo #best .lx-pg.fo-rail .lx-side>[data-card]{flex-basis:78%!important} main.fo .fo-nav{display:none} main.fo .fo-sub{padding-right:0} }

/* F2: the belt. Two copies of the row move left for 48 s and loop; hover holds it. */
main.lms.fx-c.bsx-1.fo #best .fo-belt .fo-track{display:flex;gap:var(--gut,18px);width:max-content;animation:fo-belt 48s linear infinite}
main.lms.fx-c.bsx-1.fo #best .fo-belt:hover .fo-track,main.lms.fx-c.bsx-1.fo #best .fo-belt:focus-within .fo-track{animation-play-state:paused}
main.lms.fx-c.bsx-1.fo #best .fo-belt #packages{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
main.lms.fx-c.bsx-1.fo #best .fo-belt .lx-pg.fo-set{display:flex!important;grid-template-columns:none!important;gap:var(--gut,18px)!important;width:max-content}
main.lms.fx-c.bsx-1.fo #best .fo-belt .lx-pg.fo-set>.lx-pc{flex:0 0 272px!important;margin:0!important}
@keyframes fo-belt{to{transform:translateX(calc(-50% - var(--gut,18px) / 2))}}
@media (prefers-reduced-motion:reduce){ main.lms.fx-c.bsx-1.fo #best .fo-belt .fo-track{animation:none;width:auto;overflow-x:auto} main.lms.fx-c.bsx-1.fo #best .fo-belt .fo-set[aria-hidden]{display:none!important} }

/* F3: two pages of four that slide */
main.lms.fx-c.bsx-1.fo #best .fo-pages{display:flex;transition:transform .7s cubic-bezier(.2,.7,.2,1);will-change:transform}
main.lms.fx-c.bsx-1.fo #best #packages:has(.fo-pages){overflow:hidden}
main.lms.fx-c.bsx-1.fo #best .fo-page{flex:0 0 100%;padding:2px 0}
main.lms.fx-c.bsx-1.fo #best .fo-page .lx-pg.fo-four{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:var(--gut,18px)!important}
main.fo .fo-dots{display:flex;gap:8px;margin-top:14px}
main.fo .fo-dot{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--r3-line,rgba(120,165,235,.22));background:none;color:var(--ink3,#8fa3c8);padding:10px 14px;font:700 11px/1 var(--mono,ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
main.fo .fo-dot i{width:22px;height:3px;background:var(--r3-line2,rgba(120,165,235,.34))}
main.fo .fo-dot[aria-selected="true"]{color:#fff;border-color:var(--r3-line2,rgba(120,165,235,.34))} main.fo .fo-dot[aria-selected="true"] i{background:var(--acclt,#6aa0ff)}
@media (max-width:900px){ main.lms.fx-c.bsx-1.fo #best .fo-page .lx-pg.fo-four{grid-template-columns:1fr 1fr!important;gap:10px!important} }

/* F4: the spotlight plate, one package at a time */
main.lms.fx-c.bsx-1.fo #best .fo-stage4{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;align-items:stretch}
main.lms.fx-c.bsx-1.fo #best .fo-spot{position:relative;display:flex!important;flex-direction:column;grid-template-columns:none!important;min-height:0!important;overflow:hidden}
main.lms.fx-c.bsx-1.fo #best .fo-spot .lx-rank{position:absolute;top:28px;left:28px;z-index:4}
main.lms.fx-c.bsx-1.fo #best .fo-slides{position:relative;flex:1;display:grid}
main.lms.fx-c.bsx-1.fo #best .fo-slide{grid-area:1/1;display:grid;grid-template-rows:auto 1fr;opacity:0;transform:translateX(24px);transition:opacity .55s ease,transform .55s ease;pointer-events:none}
main.lms.fx-c.bsx-1.fo #best .fo-slide.on{opacity:1;transform:none;pointer-events:auto}
main.lms.fx-c.bsx-1.fo #best .fo-sp{display:grid;place-items:center;aspect-ratio:16/8;padding:56px 28px 20px;background:radial-gradient(ellipse at 50% 44%,#1c3a72 0%,#0c1526 56%,#070a11 100%)}
main.lms.fx-c.bsx-1.fo #best .fo-sp img{width:min(64%,420px);height:auto;padding:22px;background:#fff;border:1px solid var(--r3-line,rgba(120,165,235,.22));filter:drop-shadow(0 24px 30px rgba(0,0,0,.5))}
main.lms.fx-c.bsx-1.fo #best .fo-st{padding:22px 32px 26px}
main.lms.fx-c.bsx-1.fo #best .fo-st h3{margin:10px 0 0;font:700 clamp(30px,3vw,44px)/.96 var(--osw,'Oswald'),sans-serif;text-transform:uppercase}
main.lms.fx-c.bsx-1.fo #best .fo-st h3 em{font-style:normal;background:var(--acc,#1d5fd8);color:#fff;padding:0 .14em .06em;display:inline-block}
main.lms.fx-c.bsx-1.fo #best .fo-st p{margin:12px 0 0;max-width:52ch;color:var(--ink2,#b9c6e0);font-size:15.5px;line-height:1.55}
main.lms.fx-c.bsx-1.fo #best .fo-st .lx-buy{margin-top:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
main.lms.fx-c.bsx-1.fo #best .fo-st .lx-buy>b{font:700 28px/1 var(--osw,'Oswald'),sans-serif;margin-right:auto}
main.lms.fx-c.bsx-1.fo #best .fo-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--r3-line,rgba(120,165,235,.22))}
main.lms.fx-c.bsx-1.fo #best .fo-tab{position:relative;display:flex;flex-direction:column;gap:5px;align-items:flex-start;padding:14px 16px 16px;border:0;border-right:1px solid var(--r3-line,rgba(120,165,235,.22));background:none;color:var(--ink3,#8fa3c8);cursor:pointer;text-align:left;overflow:hidden}
main.lms.fx-c.bsx-1.fo #best .fo-tab:last-child{border-right:0}
main.lms.fx-c.bsx-1.fo #best .fo-tab b{font:700 20px/1 var(--osw,'Oswald'),sans-serif;color:#fff;text-transform:uppercase}
main.lms.fx-c.bsx-1.fo #best .fo-tab small{font:600 10px/1.3 var(--mono,ui-monospace,monospace);letter-spacing:.12em;text-transform:uppercase}
main.lms.fx-c.bsx-1.fo #best .fo-tab::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--r3-line,rgba(120,165,235,.22));transform:scaleX(0);transform-origin:left}
main.lms.fx-c.bsx-1.fo #best .fo-tab.on::before{background:var(--acclt,#6aa0ff);animation:fo-prog var(--fo-ms,5000ms) linear forwards}
main.lms.fx-c.bsx-1.fo #best .fo-spot:hover .fo-tab.on::before,main.lms.fx-c.bsx-1.fo #best .fo-spot:focus-within .fo-tab.on::before{animation-play-state:paused}
main.lms.fx-c.bsx-1.fo #best .fo-still .fo-tab.on::before{animation:none;transform:none}
@keyframes fo-prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width:900px){
  main.lms.fx-c.bsx-1.fo #best .fo-tabs{grid-template-columns:1fr 1fr} main.lms.fx-c.bsx-1.fo #best .fo-tab:nth-child(2){border-right:0} main.lms.fx-c.bsx-1.fo #best .fo-tab:nth-child(n+3){border-top:1px solid var(--r3-line,rgba(120,165,235,.22))}
  main.lms.fx-c.bsx-1.fo #best .fo-sp{aspect-ratio:4/3;padding:56px 18px 16px}
}

/* F5: chips + one row of everything; best-seller rows become photo-on-top cards in the row */
main.fo .fo-chips{display:flex;gap:8px;margin:-6px 0 18px;flex-wrap:wrap}
main.fo .fo-chips button{border:1px solid var(--r3-line,rgba(120,165,235,.22));background:none;color:var(--ink3,#8fa3c8);padding:10px 14px;font:700 11px/1 var(--mono,ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
main.fo .fo-chips button[aria-pressed="true"]{background:var(--acc,#1d5fd8);border-color:var(--acc,#1d5fd8);color:#fff}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-side{display:contents!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row{grid-template-columns:1fr!important;gap:14px!important;align-content:start;padding:var(--r4-card,20px)!important;border:1px solid var(--r3-line,rgba(120,165,235,.22))!important;background:var(--s-tile,rgba(8,20,42,.74))!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-rim{aspect-ratio:4/3!important;width:100%}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-rim img{max-width:60%;max-height:80%}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-rtx h3{font-size:19px!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-sp{white-space:normal!important;overflow:visible!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy{flex-wrap:wrap!important;gap:10px 12px!important;margin-top:12px!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy>b{flex-basis:100%;font-size:24px!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row::before{content:"Best seller";position:absolute;top:0;left:0;z-index:2;padding:8px 11px;background:var(--acc,#1d5fd8);color:#fff;font:700 11px/1 var(--osw,'Oswald'),sans-serif;letter-spacing:.1em;text-transform:uppercase}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row{position:relative}
main.fo .fo-wrap:has(.fo-stream) .fo-nav{top:-62px}

/* F5 fix: the best-seller cards were much taller than the package cards, so every card stretched with dead space in it */
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-rim{aspect-ratio:16/10!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-pn{display:none!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy{margin-top:auto!important;padding-top:10px}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-rtx{display:flex!important;flex-direction:column;flex:1;gap:6px}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row{display:flex!important;flex-direction:column}
/* F4 fix: the slide area keeps its own height; the plate is a touch shorter so the tabs never meet the buy row */
main.lms.fx-c.bsx-1.fo #best .fo-slides{min-height:0}
main.lms.fx-c.bsx-1.fo #best .fo-tabs{flex:none;margin-top:auto}
main.lms.fx-c.bsx-1.fo #best .fo-sp{aspect-ratio:auto;height:clamp(240px,30vw,340px);box-sizing:border-box;padding:52px 28px 18px}
main.lms.fx-c.bsx-1.fo #best .fo-sp img{max-height:100%;width:auto;max-width:64%;box-sizing:border-box}
/* F5 on a phone: the theme's "Price" label was showing under the best-seller price inside the stream card */
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy::before,main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy::after{display:none!important;content:none!important}
/* F5: the best-seller rows live inside the #packages wrapper, so the package card's buy-tile rules were hitting them. Put them back to a plain buy row. */
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:10px 12px!important;border:0!important;background:none!important;min-height:0!important;padding:10px 0 0!important;grid-area:auto!important;margin-top:auto!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy>b{flex:0 0 100%!important;font:700 24px/1 var(--osw,'Oswald'),sans-serif!important;margin:0!important;padding:0!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy .btn{flex:0 0 auto!important;width:auto!important;min-height:38px!important;padding:10px 14px!important;font-size:12px!important;justify-content:center;text-align:center;margin:0!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-rtx,main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-rtx *{text-align:left!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-rtx{align-items:flex-start!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-yr{justify-content:flex-start!important;margin:0!important}
/* the theme positions the side-card buttons absolutely and narrows the text block; in the stream they flow normally */
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-rtx{width:100%!important;max-width:none!important;grid-template-columns:none!important;padding:0!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-rtx>*{grid-column:auto!important;position:static!important;width:auto!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy,main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy>*{position:static!important;transform:none!important;inset:auto!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy{height:auto!important}
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy>b{display:block!important;width:100%!important}
/* the theme hides the side-card buttons until hover; in the stream they are always there */
main.lms.fx-c.bsx-1.fo #best .fo-stream .lx-row .lx-buy .btn{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

/* ═══ sg.css — the section gallery: shop floor (S), categories (C), platforms (P). Drop-in blocks under the r4 rhythm. ═══ */
main.sg .fo-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--gut,18px);scrollbar-width:none;padding:2px 0 6px;scroll-behavior:smooth}
main.sg .fo-rail::-webkit-scrollbar{display:none}
main.sg .fo-rail>[data-card]{flex:0 0 calc((100% - 3 * var(--gut,18px)) / 4);scroll-snap-align:start;margin:0!important}
main.sg .pl .pc-line{font:600 11px/1.3 var(--mono,ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;color:#9cc0ff}
main.sg .pl .pchips{display:flex;flex-wrap:wrap;gap:6px}
main.sg .pl .pchip{padding:9px 12px;border:1px solid var(--r3-line2,rgba(120,165,235,.34));background:rgba(8,20,42,.8);color:#fff;text-decoration:none;font:600 13px/1 var(--sai,'Saira'),sans-serif}
main.sg .pl .pchip:hover{border-color:#fff}

/* ── shop floor: every film and photo is the same 4:3 tile ── */
main.sg .fl :is(.lx-rf,.lx-rp,.le){position:relative;aspect-ratio:4/3;min-height:0!important;height:auto!important;margin:0!important;overflow:hidden;background:#05080e;border:1px solid var(--r3-line,rgba(120,165,235,.22));display:block}
main.sg .fl :is(.lx-rf,.lx-rp,.le)>:is(video,img){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
main.sg .fl .le.lx-lv{grid-column:auto;grid-row:auto}
main.sg .fl .lx-stx{display:flex;flex-direction:column;justify-content:space-between;gap:18px}
/* S1 */
main.sg .fl-mosaic{display:grid;grid-template-columns:minmax(250px,1.05fr) repeat(3,minmax(0,1fr));grid-template-areas:"t f1 f2 f3" "t m m p";gap:var(--gut,18px)}
main.sg .fl-mosaic>.lx-stx{grid-area:t}
main.sg .fl-mosaic>figure:nth-of-type(1){grid-area:f1} main.sg .fl-mosaic>figure:nth-of-type(2){grid-area:f2} main.sg .fl-mosaic>figure:nth-of-type(3){grid-area:f3}
main.sg .fl-mosaic>.lx-lv{grid-area:m;aspect-ratio:auto!important}
main.sg .fl-mosaic>.le:not(.lx-lv){grid-area:p}
/* S2 */
main.sg .fl-railrow{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:var(--gut,18px)}
main.sg .fl-wrap{margin-top:0!important;min-width:0;padding-top:56px}
main.sg .fl-wrap .fo-nav{top:0}
main.sg .fl-rail>[data-card]{flex-basis:calc((100% - 2 * var(--gut,18px)) / 3)}
/* S3 */
main.sg .fl-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:var(--r4-panel,32px);border:1px solid var(--r3-line,rgba(120,165,235,.22));background:var(--s-tile,rgba(8,20,42,.74));margin-bottom:var(--gut,18px)}
main.sg .fl-intro p{margin:0;max-width:62ch;font-size:16px;line-height:1.55;color:var(--ink2,#b9c6e0)}
main.sg .fl-intro .cta{display:flex;gap:10px;flex-wrap:wrap}
main.sg .fl-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gut,18px);margin-bottom:var(--gut,18px)}
main.sg .fl .fo-sub{margin:6px 0 12px;padding-right:0}
/* S4 */
main.sg .fl-4 .lx-sg{display:grid!important;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:var(--gut,18px)}
main.sg .fl-4 .lx-reel{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--gut,18px)!important}
main.sg .fl-4 .fl-p.r1-panel[hidden]{display:none!important}
main.sg .fl-4 .fl-band>.lx-lv{grid-column:span 2;grid-row:span 2;aspect-ratio:auto!important}
main.sg .fl-row5{grid-template-columns:repeat(3,minmax(0,1fr))}
main.sg .fl .le-ig{aspect-ratio:4/3;display:grid;place-items:center}
/* S5 */
main.sg .fl-story{position:relative;min-height:clamp(380px,40vw,560px);display:grid;align-items:end;overflow:hidden;border:1px solid var(--r3-line,rgba(120,165,235,.22));margin-bottom:var(--gut,18px)}
main.sg .fl-story>.lx-lv{position:absolute!important;inset:0;aspect-ratio:auto!important;border:0!important;min-height:0!important;height:100%!important}
main.sg .fl-story>.lx-lv .lx-lvc{display:none}
main.sg .fl-story::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,8,16,.94) 0,rgba(4,8,16,.66) 42%,rgba(4,8,16,.08) 74%)}
main.sg .fl-over{position:relative;z-index:2;max-width:600px;padding:clamp(24px,3vw,44px)}
main.sg .fl-over .lx-stx{background:none!important;border:0!important;padding:0!important;box-shadow:none!important}
main.sg .fl-six{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gut,18px)}
main.sg .fl-six :is(.lx-rf,.le){aspect-ratio:1/1!important}
main.sg .fl-six figcaption small,main.sg .fl-six .le>span small{display:none}
@media (max-width:900px){
  main.sg .fl-mosaic{grid-template-columns:1fr 1fr;grid-template-areas:"t t" "f1 f2" "f3 p" "m m";gap:10px}
  main.sg .fl-railrow,main.sg .fl-intro,main.sg .fl-4 .lx-sg{grid-template-columns:1fr}
  main.sg .fl-wrap{padding-top:0} main.sg .fl-rail>[data-card]{flex-basis:78%}
  main.sg .fl-row,main.sg .fl-row5{grid-template-columns:1fr 1fr;gap:10px} main.sg .fl-4 .lx-reel{grid-template-columns:1fr 1fr!important;gap:10px!important}
  main.sg .fl-six{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  main.sg .fl-story{min-height:420px}
}

/* ── categories ── */
main.sg .ct-chips{display:flex;flex-wrap:wrap;gap:10px}
main.sg .ct-chips a{display:inline-flex;align-items:baseline;gap:10px;padding:14px 18px;border:1px solid var(--r3-line,rgba(120,165,235,.22));background:var(--s-tile,rgba(8,20,42,.74));color:#fff;text-decoration:none}
main.sg .ct-chips b{font:700 15px/1 var(--osw,'Oswald'),sans-serif;text-transform:uppercase;letter-spacing:.02em}
main.sg .ct-chips small{font:600 10.5px/1 var(--mono,ui-monospace,monospace);letter-spacing:.1em;color:var(--ink3,#8fa3c8)}
main.sg .ct-chips a:hover{border-color:var(--acclt,#6aa0ff)}
main.sg .ct-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gut,18px)}
main.sg .ct-tiles a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--r3-line,rgba(120,165,235,.22));background:#fff;color:#fff;text-decoration:none}
main.sg .ct-tiles img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10% 12% 28%;box-sizing:border-box;transition:transform .5s ease}
main.sg .ct-tiles a:hover img{transform:scale(1.05)}
main.sg .ct-tiles span{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:rgba(4,8,16,.9);display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid var(--r3-line,rgba(120,165,235,.22))}
main.sg .ct-tiles b{font:700 15px/1.1 var(--osw,'Oswald'),sans-serif;text-transform:uppercase}
main.sg .ct-tiles small{font:600 10.5px/1 var(--mono,ui-monospace,monospace);letter-spacing:.1em;color:#cfe0ff;white-space:nowrap}
main.sg .ct-wrap{margin-top:0!important} main.sg .ct-wrap .fo-nav{top:-68px}
main.sg .ct-rail a{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--r3-line,rgba(120,165,235,.22));background:var(--s-tile,rgba(8,20,42,.74));color:#fff;text-decoration:none}
main.sg .ct-rail img{width:84px;height:84px;object-fit:contain;background:#fff;padding:6px;box-sizing:border-box}
main.sg .ct-rail b{display:block;font:700 16px/1.1 var(--osw,'Oswald'),sans-serif;text-transform:uppercase}
main.sg .ct-rail small{font:600 10.5px/1.8 var(--mono,ui-monospace,monospace);letter-spacing:.1em;color:var(--ink3,#8fa3c8)}
main.sg .ct-rail a:hover{border-color:var(--acclt,#6aa0ff)}
main.sg .ct-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gut,18px)}
main.sg .ct-nums a{display:flex;flex-direction:column;gap:2px;padding:var(--r4-card,20px);border:1px solid var(--r3-line,rgba(120,165,235,.22));background:var(--s-tile,rgba(8,20,42,.74));color:#fff;text-decoration:none}
main.sg .ct-nums b{font:700 clamp(30px,3vw,44px)/1 var(--osw,'Oswald'),sans-serif;letter-spacing:.01em}
main.sg .ct-nums small{font:600 10.5px/1 var(--mono,ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3,#8fa3c8);margin-bottom:14px}
main.sg .ct-nums span{font:600 14px/1.3 var(--sai,'Saira'),sans-serif;color:var(--ink2,#b9c6e0);padding-top:12px;border-top:1px solid var(--r3-line,rgba(120,165,235,.22))}
main.sg .ct-nums a:hover b{color:var(--acclt,#6aa0ff)}
@media (max-width:900px){ main.sg .ct-tiles,main.sg .ct-nums{grid-template-columns:1fr 1fr;gap:10px} main.sg .ct-rail a{flex-basis:78%} main.sg .ct-wrap .fo-nav{display:none} }

/* ── platforms ── */
main.sg .pl-bands{display:flex;flex-direction:column;gap:var(--gut,18px)}
main.sg .pl-band{display:grid;grid-template-columns:minmax(220px,34%) minmax(0,1fr);border:1px solid var(--r3-line,rgba(120,165,235,.22));background:var(--s-tile,rgba(8,20,42,.74));overflow:hidden;min-height:176px}
main.sg .pl-img{position:relative;display:block;min-height:176px}
main.sg .pl-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%)}
main.sg .pl-tx{padding:22px 28px;display:flex;flex-direction:column;gap:10px;justify-content:center}
main.sg .pl-mk{font:700 clamp(28px,2.6vw,40px)/1 var(--osw,'Oswald'),sans-serif;text-transform:uppercase;color:#fff;text-decoration:none;display:flex;align-items:baseline;gap:14px}
main.sg .pl-mk em{font:700 11px/1 var(--mono,ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--acclt,#6aa0ff);font-style:normal}
main.sg .pl-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--r3-line,rgba(120,165,235,.22));background:var(--s-tile,rgba(8,20,42,.74))}
main.sg .pl-col{padding:var(--r4-panel,32px);border-right:1px solid var(--r3-line,rgba(120,165,235,.22));display:flex;flex-direction:column;gap:12px}
main.sg .pl-col:last-child{border-right:0}
main.sg .pl-col>b{font:700 clamp(32px,3vw,48px)/1 var(--osw,'Oswald'),sans-serif;text-transform:uppercase}
main.sg .pl-col ul{list-style:none;margin:6px 0 14px;padding:0;display:flex;flex-direction:column}
main.sg .pl-col li a{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--r3-line,rgba(120,165,235,.22));color:#fff;text-decoration:none;font:600 15px/1.2 var(--sai,'Saira'),sans-serif}
main.sg .pl-col li a::after{content:"→";color:var(--acclt,#6aa0ff)}
main.sg .pl-col li:last-child a{border-bottom:1px solid var(--r3-line,rgba(120,165,235,.22))}
main.sg .pl-col li a:hover{color:var(--acclt,#6aa0ff)}
main.sg .pl-col .btn{align-self:flex-start;margin-top:auto}
main.sg #platforms.pl-4 .pcard{min-height:280px!important}
main.sg .pl-switch{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);border:1px solid var(--r3-line,rgba(120,165,235,.22));background:var(--s-tile,rgba(8,20,42,.74));min-height:440px}
main.sg .pl-tabs{display:flex;flex-direction:column;border-right:1px solid var(--r3-line,rgba(120,165,235,.22))}
main.sg .pl-tabs button{flex:1;display:flex;flex-direction:column;gap:8px;align-items:flex-start;justify-content:center;padding:22px 24px;border:0;border-bottom:1px solid var(--r3-line,rgba(120,165,235,.22));background:none;color:var(--ink3,#8fa3c8);cursor:pointer;text-align:left;position:relative}
main.sg .pl-tabs button:last-child{border-bottom:0}
main.sg .pl-tabs button b{font:700 32px/1 var(--osw,'Oswald'),sans-serif;text-transform:uppercase;color:#fff}
main.sg .pl-tabs button small{font:600 10.5px/1.4 var(--mono,ui-monospace,monospace);letter-spacing:.12em;text-transform:uppercase}
main.sg .pl-tabs button[aria-selected="true"]{background:rgba(29,95,216,.16)}
main.sg .pl-tabs button[aria-selected="true"]::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--acc,#1d5fd8)}
main.sg .pl-panes{position:relative;display:grid;min-height:0}
main.sg .pl-pane{grid-area:1/1;position:relative;display:grid;align-items:end;opacity:0;transition:opacity .4s ease;pointer-events:none;overflow:hidden}
main.sg .pl-pane.on{opacity:1;pointer-events:auto}
main.sg .pl-pane img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%)}
main.sg .pl-pane::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,8,16,.95),rgba(4,8,16,.35) 58%,transparent)}
main.sg .pl-pt{position:relative;z-index:2;padding:clamp(20px,2.4vw,36px);display:flex;flex-direction:column;gap:12px;align-items:flex-start}
main.sg .pl-pt b{font:700 clamp(36px,4vw,64px)/.95 var(--osw,'Oswald'),sans-serif;text-transform:uppercase}
@media (max-width:900px){
  main.sg .pl-band{grid-template-columns:1fr} main.sg .pl-img{min-height:160px}
  main.sg .pl-cols{grid-template-columns:1fr} main.sg .pl-col{border-right:0;border-bottom:1px solid var(--r3-line,rgba(120,165,235,.22))} main.sg .pl-col:last-child{border-bottom:0}
  main.sg .pl-switch{grid-template-columns:1fr;min-height:0} main.sg .pl-tabs{flex-direction:row;border-right:0;border-bottom:1px solid var(--r3-line,rgba(120,165,235,.22))}
  main.sg .pl-tabs button{padding:14px 12px;border-bottom:0;border-right:1px solid var(--r3-line,rgba(120,165,235,.22))} main.sg .pl-tabs button:last-child{border-right:0} main.sg .pl-tabs button b{font-size:22px}
  main.sg .pl-pane{min-height:360px}
}

/* C4 fix: the arrows sat on the header link; they get their own line above the rail */
main.sg .ct-wrap{padding-top:54px} main.sg .ct-wrap .fo-nav{top:0}

/* ── fixes after the first look: the production sheet places .lx-stx / .lx-rf / .lx-rp with column spans (with !important,
   at main.lms.fx-c… specificity) and makes .lx-sg / .lx-reel display:contents. Inside the gallery blocks those are reset
   at a specificity nothing in the theme reaches. ── */
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl :is(.lx-rf,.lx-rp,.le,.lx-stx,.fo-wrap){grid-column:auto!important;grid-row:auto!important;grid-area:auto!important;order:0!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl :is(.lx-rf,.lx-rp,.le){display:block!important;position:relative!important;aspect-ratio:4/3!important;height:auto!important;min-height:0!important;max-height:none!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;overflow:hidden}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl :is(.lx-rf,.lx-rp,.le)>:is(video,img){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl .lx-stx{width:auto!important;max-width:none!important;text-align:left!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl .lx-stx *{text-align:left!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl .lx-stx .cta{justify-content:flex-start!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-mosaic{display:grid!important;grid-template-columns:minmax(250px,1.05fr) repeat(3,minmax(0,1fr))!important;grid-template-areas:"t f1 f2 f3" "t m m p"!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-mosaic>.lx-stx{grid-area:t!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-mosaic>figure:nth-of-type(1){grid-area:f1!important} main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-mosaic>figure:nth-of-type(2){grid-area:f2!important} main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-mosaic>figure:nth-of-type(3){grid-area:f3!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-mosaic>.lx-lv{grid-area:m!important;aspect-ratio:auto!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-mosaic>.le:not(.lx-lv){grid-area:p!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-railrow{display:grid!important;grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important;gap:var(--gut,18px)!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-railrow>.fl-wrap{min-width:0;width:auto!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-rail{display:flex!important;width:auto!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-rail>[data-card]{flex:0 0 calc((100% - 2 * var(--gut,18px)) / 3)!important;aspect-ratio:4/3!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:var(--gut,18px)!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-row5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-4 .lx-sg{display:grid!important;grid-template-columns:minmax(250px,320px) minmax(0,1fr)!important;gap:var(--gut,18px)!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-4 .lx-reel{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--gut,18px)!important;width:auto!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-4 .fl-band>.lx-lv{grid-column:span 2!important;grid-row:span 2!important;aspect-ratio:auto!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-story>.lx-lv{position:absolute!important;inset:0!important;aspect-ratio:auto!important;height:100%!important;border:0!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-six{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:var(--gut,18px)!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-six :is(.lx-rf,.le){aspect-ratio:1/1!important}
@media (max-width:900px){
  main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-mosaic{grid-template-columns:1fr 1fr!important;grid-template-areas:"t t" "f1 f2" "f3 p" "m m"!important;gap:10px!important}
  main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-railrow,main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-4 .lx-sg{grid-template-columns:1fr!important} main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-rail>[data-card]{flex-basis:78%!important}
  main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-row,main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-row5,main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-4 .lx-reel{grid-template-columns:1fr 1fr!important;gap:10px!important}
  main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop .fl-six{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
}
/* P4: the doors' height comes from an aspect ratio in the theme, not a min-height */
main.sg #platforms.pl-4 .pcard{aspect-ratio:auto!important;height:280px!important;min-height:0!important}
/* tiles must not stretch to the grid row or the flex line, or the aspect ratio is ignored */
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl :is(.lx-rf,.lx-rp,.le):not(.lx-lv){align-self:start!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl .fl-rail>[data-card]{align-self:flex-start!important}
/* S2 + S4: beside the copy card the films fill the card's height, two at a time in the rail, three in the reel */
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl .fl-rail>[data-card]{flex-basis:calc((100% - var(--gut,18px)) / 2)!important;align-self:stretch!important;aspect-ratio:auto!important;min-height:300px!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl .fl-rail{align-items:stretch!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-4 .lx-reel>.lx-rf{align-self:stretch!important;aspect-ratio:auto!important;min-height:300px!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-4 .lx-stx{justify-content:flex-start!important}
@media (max-width:900px){ main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl .fl-rail>[data-card]{flex-basis:78%!important;aspect-ratio:4/3!important;min-height:0!important} }
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl .fl-wrap{display:flex;flex-direction:column}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl .fl-rail{flex:1 1 auto;align-items:stretch!important;align-content:stretch!important}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-4 .lx-reel{align-items:stretch!important;align-content:stretch!important;grid-auto-rows:1fr}
/* the second film tile in the On the floor row keeps the row's 4:3 like the photos beside it */
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-3 .fl-row>.lx-lv{aspect-ratio:4/3!important;grid-column:auto!important;grid-row:auto!important;align-self:start!important}
/* in the four-across rows the two film tiles carry the same caption size as the photo tiles beside them */
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-3 .fl-row>.lx-lv .lx-lvc b{font:700 17px/1.15 var(--osw,'Oswald'),sans-serif!important;text-transform:uppercase;letter-spacing:.01em;display:block}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-3 .fl-row>.lx-lv .lx-lvc b em{display:inline;padding:0 .14em .04em}
main.lms.lx-v14.fx.fx-c.fxp.fxs.fxs-2.bsx.bsx-1.sg #shop.fl-3 .fl-row>.lx-lv .lx-lvc small{font-size:10px!important}

/* ═══ Round 8 (r8.css): the eight packages as one row that scrolls across, under their own header ═══ */
main.r8 #packages .pk-wrap{position:relative;margin-top:0!important;padding-top:54px}
main.r8 #packages .pk-wrap .fo-nav{top:0}
main.lms.fx-c.bsx-1.r8 #packages .lx-pg.fo-rail{display:flex!important;grid-template-columns:none!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:var(--gut,18px)!important;scrollbar-width:none;padding:2px 0 6px;scroll-behavior:smooth}
main.lms.fx-c.bsx-1.r8 #packages .lx-pg.fo-rail::-webkit-scrollbar{display:none}
main.lms.fx-c.bsx-1.r8 #packages .lx-pg.fo-rail>[data-card]{flex:0 0 calc((100% - 3 * var(--gut,18px)) / 4)!important;width:auto!important;scroll-snap-align:start;margin:0!important}
@media (max-width:1300px){ main.lms.fx-c.bsx-1.r8 #packages .lx-pg.fo-rail>[data-card]{flex-basis:calc((100% - 2 * var(--gut,18px)) / 3)!important} }
@media (max-width:900px){ main.lms.fx-c.bsx-1.r8 #packages .lx-pg.fo-rail>[data-card]{flex-basis:78%!important} main.r8 #packages .pk-wrap{padding-top:0} }
main.r8 > #best{padding-bottom:0!important}

/* R4-5: the package cards carry no part number over the photo */
main.r45 #packages .lx-pc .lx-pn{display:none!important}

/* R4-6: Shop by category, all eight in one row */
@media (min-width:901px){
  main.lms.lx-v14.fx.fx-c.fxp.fxp-3.r46 #cats .cats{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;grid-auto-flow:row!important;gap:12px!important}
  main.lms.lx-v14.fx.fx-c.fxp.fxp-3.r46 #cats .cat .im{aspect-ratio:1/1!important;height:auto!important}
  main.lms.lx-v14.fx.fx-c.fxp.fxp-3.r46 #cats .cat .im img{padding:8%}
  main.lms.lx-v14.fx.fx-c.fxp.fxp-3.r46 #cats .cat .lb{flex-direction:column!important;align-items:flex-start!important;gap:4px!important;padding:12px 4px 6px!important}
  main.lms.lx-v14.fx.fx-c.fxp.fxp-3.r46 #cats .cat .lb b{font-size:12.5px!important;line-height:1.2!important;letter-spacing:.04em!important}
  main.lms.lx-v14.fx.fx-c.fxp.fxp-3.r46 #cats .cat .lb small{font-size:9.5px!important}
}
@media (min-width:1300px){ main.lms.lx-v14.fx.fx-c.fxp.fxp-3.r46 #cats .cat .lb b{font-size:13.5px!important} }
/* the package row: four across on every desktop width (r8.css drops to three under 1300) */
@media (min-width:901px){
  main.lms.fx-c.bsx-1.r8.r46 #packages .lx-pg.fo-rail>[data-card]{flex-basis:calc((100% - 3 * var(--gut,18px)) / 4)!important}
}
@media (min-width:901px) and (max-width:1300px){
  main.r46 #packages .lx-pc h3{font-size:17px!important}
  main.fxp-3.r46 #packages .lx-pc .gain,main.fxp-3.r46 #packages .lx-buy{padding:9px 9px 10px!important}
  main.fxp-3.r46 #packages .lx-buy>b,main.r46 #packages .lx-pc .gain{font-size:17px!important}
}

/* the hero (10-28, Curtis: "the little arrow button sits on that black bar, and the two buttons above it… the margins are off"):
   the slide text block now clears the tab bar by 32 px, and the arrows fill the bar's full height, centered, each with its own divider */
@media (min-width:901px){
  main.r46 .c-garage .hero .slide .t{padding-bottom:calc(78px + 32px)!important}
  main.r46 .c-garage .hero .ctl .wrap{align-items:stretch!important}
  main.r46 .c-garage .hero .ctl .arr{align-self:stretch!important;align-items:stretch!important;margin-right:0!important}
  main.r46 .c-garage .hero .ctl .wrap{padding-right:0!important}
  main.r46 .c-garage .hero .ctl .arr button{height:auto!important;min-height:0!important;align-self:stretch!important;width:64px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    border:0!important;border-left:1px solid rgba(255,255,255,.14)!important;background:transparent!important;font-size:24px!important;line-height:1!important;padding:0!important}
  main.r46 .c-garage .hero .ctl .arr button:hover{background:rgba(255,255,255,.07)!important}
  main.r46 .c-garage .hero .ctl .dots button{padding-left:0!important}
  main.r46 .c-garage .hero .ctl .dots button+button{padding-left:18px!important}
}

/* Talk to a builder: the message form carried a 24 px bottom margin, so it ended 24 px above the map card. Same bottom edge now. */
@media (min-width:901px){ main.r46 #visit .vrow>.cf{margin-bottom:0!important;align-self:stretch!important} }

/* R4-7: bug fixes on R4-6, no design changes. */

/* 1. Phone, Behind the builds: the big strip film spans two 150 px rows but stopped at 212 px, leaving ~100 px of empty grid under it. It fills both rows now. */
@media (max-width:900px){
  main.lms.r47 #log .le.lx-lv{height:auto!important;min-height:0!important;aspect-ratio:auto!important;align-self:stretch!important}
  main.lms.r47 #log .le.lx-lv video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}

/* 2. Machine shop: the film captions' arrow dropped onto a line by itself. It stays with the last word. */
main.r1.r47 #shop .r1-link figcaption b::after{content:"\00a0→"}

/* 3. Machine shop: "Machine shop services" squeezed into two cramped lines at 901–1300 px. Normal line spacing when it wraps. */
main.r47 #shop .lx-stx .btn{line-height:1.35!important;text-align:center;justify-content:center}

/* R4-8 (10-28) */
/* Hero headline: above ~1200 px the theme still keeps 440 px clear on the right of every slide for the old floating finder dock.
   On this page the finder sits beside the hero, not over it, so the headline was squeezed to ~400 px and broke into four lines
   ("Explorer / ST. / Tuned / here."). The slide text gets the full width of the photo again, capped at 760 px. */
@media (min-width:901px){ main.r48 .c-garage .hero .slide .t .wrap>*:not(p){max-width:min(760px,100%)!important} }

/* R4-10 (10-28, Curtis: "the little link where it says See all tuners… needs a little bit of a margin underneath it. It's kind of tight."):
   the finder box had 20 px of padding on the top and sides and none at the bottom, so the link sat 1 px off the edge. Same 20 px at the bottom now. */
main.lms.lx-v14.fx.fx-c.fxp.fxp-3.fxs.fxs-2.bsx.bsx-1.r410 .c-garage .c-find{padding-bottom:var(--r4-card,20px)!important}
