/* Rusty Love shared components: clips, galleries, door cards, send-it-in strip (18 Oct 2026) */
.mx-sec{padding:34px 0 0}
.mx-h2{font-family:"Oswald",sans-serif !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;font-size:22px !important;color:var(--yellow,#f2c230) !important;line-height:1.2 !important;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid #8f2c24}
.mx-lead{color:#cfc6bb;max-width:680px;margin:0 0 16px;font-size:16px;line-height:1.6}
/* clip */
.mx-clip{position:relative;aspect-ratio:16/9;max-width:860px;width:100%;background:#000;border:3px solid #8f2c24;margin:0 0 8px}
.mx-clip>.mx-go{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:#000 center/cover no-repeat}
.mx-clip>.mx-go span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--yellow,#f2c230);color:#1a1410;font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:12px 20px;border:3px solid #8f2c24;box-shadow:0 5px 0 #8f2c24;font-size:16px;white-space:nowrap}
.mx-clip>.mx-go:hover span,.mx-clip>.mx-go:focus-visible span{transform:translate(-50%,-53%)}
.mx-clip .mx-p,.mx-clip iframe{position:absolute !important;inset:0;width:100% !important;height:100% !important;border:0}
.mx-end{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;text-align:center;background:rgba(10,8,6,.86)}
.mx-end[hidden]{display:none}
.mx-end p{margin:0;color:#fff;font-size:20px;font-weight:800}
.mx-end a{display:inline-block;background:var(--yellow,#f2c230);color:#1a1410 !important;font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;padding:12px 22px;border:3px solid #8f2c24;box-shadow:0 5px 0 #8f2c24;text-decoration:none}
.mx-end button{background:none;border:0;color:#e9e1d4;text-decoration:underline;cursor:pointer;font-size:14px}
.mx-cap{color:#b3a89c;font-size:14px;margin:0 0 6px;max-width:860px}
/* gallery */
.mx-gal{columns:3;column-gap:14px}
.mx-gal figure{break-inside:avoid;margin:0 0 14px;background:#1a1715;border:1px solid #2a2420}
.mx-gal img{display:block;width:100%;height:auto}
.mx-gal figcaption{padding:10px 12px 12px;font-size:14px;line-height:1.45;color:#f0e9df}
.mx-more{margin-top:6px}
.mx-gal figure.mx-hide{display:none}
@media(max-width:900px){.mx-gal{columns:2}}
@media(max-width:560px){.mx-gal{columns:1}.mx-gal figcaption{font-size:16px}}
/* door cards (home) */
.mx-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mx-door{display:flex;flex-direction:column;background:#1c1917;border:1px solid #2e2622;color:inherit;text-decoration:none}
.mx-door:hover,.mx-door:focus-visible{border-color:var(--yellow,#f2c230);outline:none}
.mx-door i{display:block;aspect-ratio:16/10;background:#000 center/cover no-repeat}
.mx-door b{display:block;font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:24px;color:var(--yellow,#f2c230);padding:14px 16px 4px}
.mx-door span{display:block;color:#cfc6bb;padding:0 16px 16px;font-size:15px;line-height:1.5}
@media(max-width:760px){.mx-doors{grid-template-columns:1fr}}
/* machines grid */
.mx-mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mx-mcard{display:flex;flex-direction:column;background:#1c1917;border:1px solid #2e2622;color:inherit;text-decoration:none}
.mx-mcard:hover,.mx-mcard:focus-visible{border-color:var(--yellow,#f2c230);outline:none}
.mx-mcard i{position:relative;display:block;aspect-ratio:4/3;background:#000 center/cover no-repeat}
.mx-mcard em{position:absolute;left:10px;top:10px;font-style:normal;font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:12px;padding:3px 8px;background:#121010;color:#efe8de;border:1px solid #5a4a40}
.mx-mcard em.still{background:var(--yellow,#f2c230);color:#1a1410;border-color:#8f2c24}
.mx-mcard b{display:block;font-family:"Oswald",sans-serif;font-weight:600;font-size:21px;color:#f0e9df;padding:12px 14px 2px;letter-spacing:.02em}
.mx-mcard span{display:block;color:#cfc6bb;padding:0 14px 14px;font-size:15px;line-height:1.5}
.mx-mcard u{display:block;text-decoration:none;color:var(--yellow,#f2c230);font-weight:600;padding:0 14px 14px;margin-top:auto;font-size:14px}
@media(max-width:900px){.mx-mgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.mx-mgrid{grid-template-columns:1fr}}
/* send-it-in strip */
.mx-send{margin:40px 0 0;background:#1c1917;border:2px solid #8f2c24;padding:22px 24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.mx-send b{display:block;font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;font-size:22px;color:#f0e9df;letter-spacing:.03em}
.mx-send span{display:block;color:#cfc6bb;font-size:15px;margin-top:4px}
.mx-send .btn{margin:0}
.mx-top{padding:34px 0 6px}
.mx-top h1{font-family:"Archivo Black",Inter,sans-serif;font-size:clamp(32px,4.4vw,52px);margin:6px 0 10px;line-height:1.08}
.mx-top p{color:#cfc6bb;max-width:660px;font-size:17px;margin:0;line-height:1.6}
.mx-sendpage{padding-top:20px !important}
.mx-top+.mx-sec{padding-top:24px}
.wrap>.mx-send:first-child{margin-top:0}
@media(max-width:560px){section:has(>.wrap>.mx-send:only-child){padding-top:28px!important;padding-bottom:40px!important}}
/* two clips side by side on computer */
@media(min-width:900px){.wrap:has(>.mx-clip~.mx-clip){display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-items:start}.wrap:has(>.mx-clip~.mx-clip)>*{grid-column:1/-1}.wrap:has(>.mx-clip~.mx-clip)>div:not([class]){display:none}.wrap>.mx-h2+.mx-clip{grid-area:2/1/3/2}.wrap>.mx-h2+.mx-clip+.mx-cap{grid-area:3/1/4/2}.wrap:has(>.mx-clip~.mx-clip)>.mx-clip~.mx-clip{grid-area:2/2/3/3}.wrap:has(>.mx-clip~.mx-clip)>.mx-clip~.mx-clip+.mx-cap{grid-area:3/2/4/3}}
@media(max-width:560px){.mx-clip>.mx-go span{font-size:13px;padding:9px 12px;white-space:normal;width:max-content;max-width:84%;text-align:center;line-height:1.25}}
/* clear gap between sections (18 Oct) */
section.ab-sec,section.mx-sec{margin-top:64px!important;padding-top:56px!important;border-top:1px solid rgba(242,194,48,.18)}
@media(max-width:560px){section.ab-sec,section.mx-sec{margin-top:40px!important;padding-top:36px!important}}
/* caption joined to its video, one card (18 Oct) */
.mx-clip:has(+ .mx-cap){margin-bottom:0!important;border-bottom-width:0}
.mx-clip + .mx-cap{background:#1c1917;border:3px solid #8f2c24;border-top:1px solid #3a2f28;margin:0 0 30px!important;padding:12px 16px 14px;color:#e9e1d4;font-size:15px;line-height:1.5;box-sizing:border-box;width:100%}
@media(max-width:560px){.mx-clip + .mx-cap{font-size:15px;margin-bottom:34px!important}}/* clearer card edges (18 Oct) */
.wrap:has(>.mx-clip~.mx-clip)>.mx-cap{align-self:stretch}
.mx-gal figure,.team>div,.mgrid .mpf,.mx-door,.mx-mcard{border:1px solid #5a473c!important}
.mx-gal figcaption,.mgrid .mpf figcaption{background:#211c19;border-top:1px solid #3a2f28}/* playlist section gets the same gap and divider as other sections (18 Oct) */
section#build{margin-top:64px!important;padding-top:56px!important;border-top:1px solid rgba(242,194,48,.18)}
@media(max-width:560px){section#build{margin-top:40px!important;padding-top:36px!important}}
.mx-more{margin:16px 0 0!important}/* wayfinding (18 Oct): you-are-here trail, current menu item, previous/next machine */
.crumbs{background:#141110;border-bottom:1px solid #2e2622}
.crumbs .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;padding-bottom:10px;font-family:"Oswald",sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.crumbs a{color:#f2c230;text-decoration:none}.crumbs a:hover{text-decoration:underline}
.crumbs i{font-style:normal;color:#7d6d62}.crumbs span{color:#efe8de}
header nav a.here{color:#fff!important;box-shadow:inset 0 -2px 0 #f2c230}
header nav.open a.here{box-shadow:inset 3px 0 0 #f2c230;padding-left:12px!important}
.mx-pager{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}
.mx-pager a{display:flex;flex-direction:column;justify-content:center;background:#1c1917;border:1px solid #5a473c;padding:14px 18px;text-decoration:none;color:inherit}
.mx-pager a:hover,.mx-pager a:focus-visible{border-color:#f2c230;outline:none}
.mx-pager em{font-style:normal;font-family:"Oswald",sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:#d9a441}
.mx-pager b{font-family:"Oswald",sans-serif;font-weight:600;font-size:22px;color:#f0e9df;margin-top:2px}
.mx-pager .nx{text-align:right}
.mx-pager .all{align-items:center;font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#1a1410;background:#f2c230;border:3px solid #8f2c24;box-shadow:0 4px 0 #8f2c24;padding:12px 20px}
@media(max-width:620px){.mx-pager{grid-template-columns:1fr 1fr}.mx-pager .all{grid-column:1/-1;grid-row:2}}/* whole picture in the banner (18 Oct): sharp photo shown complete in the middle, soft blurred copy fills the sides */
@media(min-width:701px){
.phero{background-size:0 0!important;overflow:hidden;isolation:isolate}
.phero::before{content:""!important;position:absolute;inset:-30px;z-index:0;background-image:inherit!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat;filter:blur(22px) brightness(.42) saturate(1.1)}
.phero::after{content:"";position:absolute;inset:0;z-index:1;background-image:inherit;background-size:contain;background-position:center;background-repeat:no-repeat}
.phero>*{position:relative;z-index:2}
}
/* machine story timeline (19 Oct) */
.mx-story{list-style:none;margin:0;padding:0;max-width:820px;border-left:3px solid #8f2c24}
.mx-story li{position:relative;padding:0 0 18px 22px}
.mx-story li::before{content:"";position:absolute;left:-8px;top:6px;width:13px;height:13px;border-radius:50%;background:#f2c230;border:2px solid #8f2c24}
.mx-story b{display:block;font-family:"Oswald",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:15px;color:#f2c230}
.mx-story span{display:block;color:#e9e1d4;font-size:16px;line-height:1.55;margin-top:2px}