/* Category pages inherit Fexoya's shared light/dark color tokens. */
.fx-pilot .fx-shell { max-width:1200px; margin:auto; padding:32px 28px 48px; }
.fx-pilot .fx-section-nav { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 38px; padding:8px; background:var(--bg-soft); border:1px solid var(--line); border-radius:14px; }
.fx-pilot .fx-section-nav a { padding:10px 14px; border-radius:8px; font-size:14px; font-weight:600; color:var(--ink-2); }
.fx-pilot .fx-section-nav a[aria-current], .fx-pilot .fx-section-nav a:hover { background:var(--surface); color:var(--ink); box-shadow:0 1px 5px #0000000d; }
.fx-pilot .fx-breadcrumb { margin-bottom:24px; }
.fx-pilot .fx-heading > :is(h1,h2) { font-size:clamp(1.5rem,4vw,2.125rem); line-height:1.12; font-weight:800; margin:12px 0 20px; }
.fx-site.fx-home { position:relative; isolation:isolate; overflow:hidden; }
.fx-site.fx-home > .fx-shell { position:relative; }
.fx-site.fx-home > .hero-grid { pointer-events:none; }
.fx-site .fx-home-hero { text-align:center; max-width:780px; margin:32px auto 38px; }
.fx-site .fx-home-hero :is(h1,h2) { font-size:clamp(1.75rem,4vw,2.5rem); line-height:1.12; letter-spacing:-.04em; margin:16px 0 22px; }
.fx-site .fx-home-hero > p:not(.eyebrow) { max-width:590px; margin:auto; font-size:1rem; color:var(--ink-2); }
.fx-site .fx-home-hero > a { margin-top:22px; }
.fx-site .fx-button-secondary { background:var(--surface); border-color:var(--line); color:var(--ink-2); }
.fx-site .fx-button-secondary:hover { background:var(--bg-soft); border-color:var(--brand); color:var(--ink); }
.fx-site .fx-chooser { max-width:760px; margin:0 auto 60px; padding:32px; }
html:not([data-fexoya-theme="dark"]) .fx-home .fx-chooser,
html:not([data-fexoya-theme="dark"]) .fx-home .fx-button-secondary { background:#fff3e8; border-color:#edcbb0; }
html:not([data-fexoya-theme="dark"]) .fx-home .fx-button-secondary:hover { background:#ffe6d1; border-color:var(--brand); }
.fx-site .fx-chooser h2 { font-size:1.125rem; }
.fx-site .fx-chooser label { display:block; margin:22px 0 8px; font-size:14px; font-weight:600; }
.fx-site select { min-width:0; width:100%; flex:1; min-height:52px; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--ink); font:inherit; }
.fx-site select:focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
.fx-site .fx-chooser .fx-button { min-width:90px; }
.fx-site .fx-chooser > .fx-small { margin-top:14px; }
.fx-site .fx-resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.fx-site .fx-resource h2 { font-size:1rem; display:flex; justify-content:space-between; gap:12px; }
.fx-site .fx-resource:hover { border-color:var(--brand); }
.fx-site .fx-resource p { font-size:14px; }
.fx-site .fx-faq { max-width:860px; }
.fx-site .fx-faq summary { font-weight:700; min-height:64px; }
.fx-site .fx-faq summary::after { content:'+'; flex-shrink:0; font-size:24px; font-weight:400; }
.fx-site .fx-faq[open] summary::after { content:'−'; }
.fx-site .fx-contact-heading { text-align:center; margin:32px auto; }
.fx-site .fx-contact-heading > p { margin-left:auto; margin-right:auto; }
.fx-site .fx-email-card { max-width:680px; margin:auto; text-align:center; }
.fx-site .fx-email-icon { display:inline-block; font-size:34px; color:var(--ink-2); margin-bottom:8px; }
.fx-site .fx-email-card > p a { font-size:clamp(1rem,3vw,1.25rem); text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.fx-site .fx-email-card > .fx-button { margin-top:24px; }
.fx-site .fx-contact-info { max-width:860px; margin:24px auto; }
.fx-site .fx-contact-info h2 { font-size:1.125rem; }
.fx-site .fx-contact-note { text-align:center; max-width:760px; margin:auto; }
.fx-pilot .fx-pilot-footer { gap:14px 22px; }
.fx-pilot .fx-pilot-footer #fx-external-note { flex-basis:100%; font-size:12px; }
@media(max-width:700px) {
 .fx-pilot .fx-shell { padding:24px 18px 36px; }
 .fx-pilot .fx-section-nav { gap:2px; padding:5px; }
 .fx-pilot .fx-section-nav a { padding:10px; font-size:13px; }
 .fx-site .fx-home-hero { margin-top:24px; }
 .fx-site .fx-home-hero > p:not(.eyebrow) { font-size:1rem; }
 .fx-site .fx-chooser { padding:22px; margin-bottom:40px; }
 .fx-site .fx-resource-grid { grid-template-columns:1fr; }
 .fx-site .fx-chooser .fx-search-row { flex-direction:column; }
 .fx-site select { font-size:16px; }
}

/* Match clickable card surfaces to the model search panel in light mode. */
html:not([data-fexoya-theme="dark"]) .fx-pilot :is(a.fx-model-card, a.fx-panel, .fx-part) { background:var(--bg-soft); }
html:not([data-fexoya-theme="dark"]) .fx-pilot .fx-part { border:1px solid var(--line); border-radius:12px; padding:0 18px; margin-top:12px; }

/* Shared reading scale for every page and interactive guide. */
.fexoya-home-content :is(h1,h2,h3,h4) { text-transform:none; }
.fx-pilot :is(.fx-panel h2,.fx-model-card h2,.fx-parts h2) { line-height:1.35; }
.fx-pilot .fx-heading > :is(h1,h2) { line-height:1.2; }
.fx-pilot .fx-heading > p:last-child { font-size:1rem; }
.fx-pilot :is(.fx-panel h3,.fx-facts dd) { font-size:1rem; }
.fx-pilot .fx-faq summary { font-size:.9375rem; line-height:1.5; }
.fx-pilot .fx-search input[type="search"], .fx-site select { font-size:1rem; }
