/* LOADOUT8 page layer: carries the home's editorial language (open canvas, hairlines, one yellow signal) onto every page. Loaded last. */
.mobile-first{--lo-line:var(--ds-color-border-strong)}
.mobile-first ::selection{background:var(--ds-color-accent);color:var(--ds-color-on-accent)}
.mobile-first :focus-visible{outline:3px solid var(--ds-color-accent);outline-offset:4px}

/* Header and menu */
.mobile-first .mf-menu a[aria-current="page"]{color:var(--ds-color-text);text-decoration:underline;text-decoration-color:var(--ds-color-accent);text-decoration-thickness:2px;text-underline-offset:8px}
@media(min-width:1024px){
 .mobile-first .mf-menu{gap:24px}
 .mobile-first .mf-menu a{font-size:13px;font-weight:800;color:var(--ds-color-text-soft)}
 .mobile-first .mf-menu a:hover{color:var(--ds-color-accent)}
 .mobile-first .mf-menu__link--meta{display:none!important}
}
@media(max-width:1023px){
 .mobile-first .mf-menu__link--meta{min-height:44px;color:var(--ds-color-muted);font-size:12px}
 .mobile-first .mf-menu__link--utility+.mf-menu__link--meta{margin-top:12px;border-top:1px solid var(--lo-line)}
}

/* Page frame and titles */
.mobile-first:not(.mobile-first-home) .mf-page,
.mobile-first.mf-article-page .article-hero,
.mobile-first.mf-article-page .article-body{width:min(calc(100% - 40px),1136px)}
.mobile-first:not(.mobile-first-home) .mf-page>h1,
.mobile-first:not(.mobile-first-home) .mf-page>article>h1,
.mobile-first:not(.mobile-first-home) .mf-gym-detail>h1,
.mobile-first.mf-article-page .article-hero h1,
.mobile-first.mf-station-detail-page article[data-station-detail-page]>h1,
.mobile-first .mf-rule-static>h1{max-width:18em;font-family:var(--body);font-size:clamp(32px,4.2vw,52px);line-height:1.15;font-weight:900;letter-spacing:-.03em;text-wrap:balance}
.mobile-first:not(.mobile-first-home) .mf-page>h1::after,
.mobile-first:not(.mobile-first-home) .mf-page>article>h1::after,
.mobile-first:not(.mobile-first-home) .mf-gym-detail>h1::after,
.mobile-first.mf-article-page .article-hero h1::after{content:none}
.mobile-first:not(.mobile-first-home) .mf-page>.mf-lead,
.mobile-first:not(.mobile-first-home) .mf-page>article>.mf-lead,
.mobile-first:not(.mobile-first-home) .mf-gym-detail>.mf-lead,
.mobile-first.mf-article-page .lead{margin-top:14px;font-size:15px;line-height:1.7;color:var(--ds-color-text-soft)}
.mobile-first .mf-kicker,
.mobile-first .mf-rule-static>p:first-child{color:var(--ds-color-muted);font-family:var(--body);font-size:12px;font-weight:800;letter-spacing:.04em}

/* Section headings: plain, large, no side bars */
.mobile-first .mf-race-editor h2::before,.mobile-first .mf-gym-fact h2::before,.mobile-first .mf-trust-section h2::before,.mobile-first .mf-gear-section>h2::before,.mobile-first .mf-guide-cluster>h2::before{content:none}
.mobile-first .mf-guide-cluster>h2,.mobile-first .mf-gear-section>h2,.mobile-first .mf-gear-section .mf-section-heading h2,.mobile-first .mf-trust-section h2,.mobile-first .mf-gym-result-heading h2{font-size:clamp(22px,2.4vw,27px);font-weight:900;letter-spacing:-.03em;line-height:1.2}
.mobile-first .mf-guide-cluster,.mobile-first .mf-gear-section,.mobile-first .mf-trust-section{margin-top:48px;padding-top:28px;border-top:1px solid var(--lo-line)}
.mobile-first .mf-guide-cluster>p,.mobile-first .mf-gear-copy{color:var(--ds-color-text-soft);font-size:14px;line-height:1.7}

/* Panels become open, hairline-framed areas instead of filled boxes */
.mobile-first .mf-race-editor,.mobile-first .mf-data-failure,.mobile-first .mf-noscript,.mobile-first .mf-gym-fact,.mobile-first .mf-source-card,.mobile-first .mf-rule-static,.mobile-first .mf-station-static>section,.mobile-first .mf-gear-principle,.mobile-first .mf-profile-context>article,.mobile-first .mf-research-grid>div,.mobile-first .mf-research-status{padding:20px 0;border:0;border-block:1px solid var(--lo-line);border-radius:0;background:transparent}
.mobile-first .mf-race-editor__heading{border-bottom-color:var(--ds-color-border)}
.mobile-first .mf-race-editor h2,.mobile-first .mf-gym-fact h2,.mobile-first .mf-data-failure h2,.mobile-first .mf-noscript h2{font-size:20px;letter-spacing:-.03em}

/* Notices: one hairline and a strong label, not a yellow bar */
.mobile-first .mf-rule-notices,.mobile-first .mf-station-context,.mobile-first .mf-detail-notice,.mobile-first .mf-baseline-update,.mobile-first .mf-query-note,.mobile-first .mf-fixed-choice,.mobile-first .mf-ad-disclosure,.mobile-first .mf-guide-example,
.mobile-first.mf-article-page .callout,.mobile-first.mf-article-page .source-box,.mobile-first.mf-article-page .mf-guide-example{padding:14px 0;border:0;border-top:2px solid var(--ds-color-text);border-bottom:1px solid var(--lo-line);border-radius:0;background:transparent;color:var(--ds-color-text-soft)}
.mobile-first.mf-article-page .source-box,.mobile-first .mf-ad-disclosure,.mobile-first .mf-query-note{border-top:1px solid var(--lo-line);font-size:12px;color:var(--ds-color-muted)}

/* Controls: Japanese body type, square, yellow only when selected */
.mobile-first .mf-choice span,.mobile-first .c-choice__control,.mobile-first .mf-gym-chips button,.mobile-first .mf-gym-checks span{border-radius:0;background:transparent;font-family:var(--body);font-size:15px;font-weight:800;letter-spacing:0}
.mobile-first .mf-choice-group legend{font-family:var(--body);font-size:12px;font-weight:800;letter-spacing:.04em}
.mobile-first .mf-gym-search input,.mobile-first .mf-select-field select{border-radius:0;background:transparent}
.mobile-first .mf-primary,.mobile-first .mf-secondary,.mobile-first .button,.mobile-first .article-content .button.primary{border-radius:0;font-family:var(--body);font-size:14px;font-weight:800}
.mobile-first .mf-detail-tabs{border-radius:0}
.mobile-first .mf-back-link{font-weight:700}

/* Link rows: white titles, muted labels, yellow only on hover */
.mobile-first .mf-article-list,.mobile-first .mf-article-grid{gap:0;border-top:1px solid var(--lo-line)}
.mobile-first .mf-article-list>a,.mobile-first .mf-article-grid>a{border:0;border-bottom:1px solid var(--lo-line);border-radius:0;background:transparent}
.mobile-first .mf-article-list span.mf-article-copy,.mobile-first .mf-article-grid span.mf-article-copy{display:grid;gap:4px;font-family:var(--body);font-size:inherit;letter-spacing:0;color:var(--ds-color-text)}
.mobile-first .mf-article-copy small{color:var(--ds-color-muted);font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.02em}
.mobile-first .mf-article-copy strong{color:var(--ds-color-text);font-size:16px;font-weight:800;line-height:1.45}
.mobile-first .mf-article-list>a>b{color:var(--ds-color-muted);font-weight:400}
.mobile-first .mf-article-list>a:hover .mf-article-copy strong,.mobile-first .mf-article-list>a:hover>b{color:var(--ds-color-accent)}
.mobile-first .mf-article-chips span{border-radius:0}
.mobile-first .mf-article-thumb{border-radius:0}

/* Articles */
.mobile-first.mf-article-page .article-content h2::before{color:var(--ds-color-muted);font-family:var(--body);font-size:12px;font-weight:800;letter-spacing:.06em}
.mobile-first.mf-article-page .mf-article-cover,.mobile-first .mf-detail-visual,.mobile-first .mf-gym-hero-visual{border:0;border-radius:0}

/* Stations and rule sequence */
.mobile-first .mf-station-index-row{border-color:var(--lo-line)}
.mobile-first .mf-station-index-row:hover,.mobile-first .mf-station-row:hover{background:transparent}
.mobile-first .mf-station-index-row:hover .mf-station-copy strong{color:var(--ds-color-accent)}
.mobile-first .mf-station-thumb{border-radius:0}
.mobile-first .mf-race-summary,.mobile-first .mf-race-actions{padding-inline:0;background:transparent}
.mobile-first .mf-run-card,.mobile-first .mf-station-row{padding-inline:0;background:transparent}
.mobile-first .mf-race-result{border:0;border-top:1px solid var(--lo-line);border-radius:0}
.mobile-first .mf-race-result:empty{display:none}
.mobile-first .mf-race-result:has(.mf-empty-result){border:0;margin-top:0}
.mobile-first .mf-empty-result{padding:20px 0;border:0;background:transparent;color:var(--ds-color-muted)}
.mobile-first .mf-empty-result strong{color:var(--ds-color-text-soft);font-size:15px}

/* My race: the selector uses the page width */
@media(min-width:760px){
 .mobile-first .mf-race-editor{max-width:none}
 .mobile-first.mf-shell-page .mf-race-page,.mobile-first.mf-shell-page .mf-stations-page,.mobile-first.mf-station-detail-page .mf-page{max-width:960px}
}

/* Gyms: text leads; the shared illustration is not repeated on every card */
.mobile-first .mf-gym-filters{padding:16px 0;border:0;border-block:1px solid var(--lo-line)}
.mobile-first .mf-gym-results{gap:0 32px;border-top:1px solid var(--lo-line)}
.mobile-first .mf-gym-card{border:0;border-bottom:1px solid var(--lo-line);border-radius:0;background:transparent}
.mobile-first .mf-gym-card__heading,.mobile-first .mf-gym-tags,.mobile-first .mf-gym-price,.mobile-first .mf-gym-check,.mobile-first .mf-gym-detail-link{margin-left:0;margin-right:0}
.mobile-first .mf-gym-card__heading{margin-top:20px}
.mobile-first .mf-gym-card h2{font-size:18px;letter-spacing:-.02em}
.mobile-first .mf-gym-affiliation,.mobile-first .mf-gym-tags span{border-radius:0}
.mobile-first .mf-gym-detail-link{border-top:0;margin-bottom:12px}
.mobile-first .mf-gym-detail-link span{color:var(--ds-color-muted)}
.mobile-first .mf-gym-card:hover .mf-gym-detail-link,.mobile-first .mf-gym-card:hover .mf-gym-detail-link span{color:var(--ds-color-accent)}

/* Gear hub */
.mobile-first .mf-gear-category-grid{gap:0 32px;border-top:1px solid var(--lo-line)}
.mobile-first .mf-gear-category-grid a{min-height:0;padding:18px 0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border:0;border-bottom:1px solid var(--lo-line);border-radius:0;background:transparent}
.mobile-first .mf-gear-category-grid a:hover{background:transparent;color:var(--ds-color-accent)}
.mobile-first .mf-gear-category-grid span{font-family:var(--body);font-size:12px}
.mobile-first .mf-gear-category-grid strong{margin:0;font-size:17px}
.mobile-first .mf-gear-category-grid small{margin:0;flex-basis:100%;padding-left:28px}
.mobile-first .mf-gear-factor-grid{gap:0 32px}
.mobile-first .mf-gear-factor-grid>div{padding:14px 0;border:0;border-top:1px solid var(--lo-line);border-radius:0;background:transparent}
.mobile-first .mf-gear-factor-grid strong{font-size:12px;color:var(--ds-color-muted)}
.mobile-first .mf-gear-factor-grid p{font-size:14px;color:var(--ds-color-text-soft)}
.mobile-first .mf-gear-more a{text-underline-offset:4px}

/* Product shelf: a grid of product cards */
.mobile-first #selected-products{display:grid;gap:0 32px}
.mobile-first #selected-products>:not(.mf-product-row){grid-column:1/-1}
.mobile-first .mf-product-row{padding:24px 0;border-bottom:1px solid var(--lo-line)}
.mobile-first .mf-product-row:last-child{border-bottom:1px solid var(--lo-line)}
.mobile-first .product-photo-card{grid-template-columns:1fr;gap:14px;padding:0 0 8px}
.mobile-first .product-photo-card img,.mobile-first .product-photo-card img[width]{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:16px;border:0;border-radius:0;background:var(--ds-color-text)}
.mobile-first .product-photo-card h3{font-size:17px}
.mobile-first .product-photo-action{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;padding:0 16px;border:1px solid var(--ds-color-text);color:var(--ds-color-text);font-weight:800;text-decoration:none}
.mobile-first .product-photo-card:hover .product-photo-action{border-color:var(--ds-color-accent);background:var(--ds-color-accent);color:var(--ds-color-on-accent)}
.mobile-first .mf-product-row dl>div{grid-template-columns:1fr;gap:2px}
.mobile-first .mf-product-row dt{font-size:12px;color:var(--ds-color-muted)}
.mobile-first .mf-product-row p,.mobile-first .mf-product-row dd{font-size:13px;line-height:1.75}
@media(min-width:760px){.mobile-first #selected-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.mobile-first #selected-products{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* People index and profiles */
.mobile-first .mf-influencer-card{background:transparent}
.mobile-first .mf-influencer-card:hover{background:transparent}
.mobile-first .mf-influencer-card:hover strong{color:var(--ds-color-accent)}
.mobile-first .mf-influencer-avatar,.mobile-first .mf-influencer-avatar:has(img){border-radius:0}
.mobile-first .gi-categories a,.mobile-first .gi-card,.mobile-first .rg-event-card,.mobile-first .rg-item,.mobile-first .rg-candidate{border-radius:0;background:transparent}
.mobile-first .rg-photo{border:0;border-radius:0}
.mobile-first .rg-photo img{filter:none}
.mobile-first .rg-number,.mobile-first .gi-relation-badge{border-radius:50%}
.mobile-first .product-photo-card img{border-radius:0}

/* Sources and fixed rule pages */
.mobile-first .mf-source-card a{color:var(--ds-color-text);text-decoration:underline;text-underline-offset:4px}
.mobile-first .mf-source-card a:hover{color:var(--ds-color-accent)}

/* Footer: site index and the meta pages removed from the desktop header */
.mobile-first .mf-footer.lo-footer{display:grid;gap:20px;padding:40px max(20px,calc((100vw - 1136px)/2)) calc(88px + env(safe-area-inset-bottom));border-top:1px solid var(--lo-line);background:var(--ds-color-canvas);color:var(--ds-color-muted);font-size:12px}
.lo-footer-brand{font-family:var(--display);font-size:22px;font-weight:900;font-style:italic;letter-spacing:.06em;color:var(--ds-color-text);text-decoration:none}
.lo-footer-brand b{color:var(--ds-color-accent);font:inherit}
.lo-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.lo-footer nav a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--ds-color-border);color:var(--ds-color-text-soft);font-size:13px;font-weight:700;text-decoration:none}
.lo-footer nav a:hover{color:var(--ds-color-accent)}
.lo-footer p{margin:0;line-height:1.7}
@media(min-width:760px){
 .mobile-first .mf-footer.lo-footer{grid-template-columns:200px minmax(0,1fr);align-items:start;padding-bottom:48px}
 .lo-footer nav{grid-template-columns:repeat(5,minmax(0,1fr))}
 .lo-footer p{grid-column:2}
}
@media(min-width:760px) and (max-width:1023px){.mobile-first .mf-footer.lo-footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}}

/* Wider layouts */
@media(min-width:760px){
 .mobile-first .mf-gear-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-first .mf-gear-factor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .mobile-first .mf-gym-results{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1024px){
 .mobile-first .mf-gear-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .mobile-first .mf-gym-results{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Numbers are labels, not signals */
.mobile-first .mf-station-no,.mobile-first .mf-run-card>strong{color:var(--ds-color-muted)}
.mobile-first .mf-run-card>strong{color:var(--ds-color-text)}

/* Home: the lower link rows match the rest of the home */
.loadout-home .mf-home-articles a,.loadout-home .mf-task-card{border-color:var(--lo-line);border-radius:0;background:transparent}
.loadout-home .mf-home-articles a:hover strong,.loadout-home .mf-task-card:hover strong{color:var(--ds-color-accent)}
.loadout-home .mf-home-articles a span{color:var(--ds-color-muted);font-family:var(--body);font-size:12px}
