/* Final shared refinements, loaded after the page-specific styles. */
/* FM-046: Hello's a:hover/a:active (#336) must not darken our controls. */
.fm-games-page .fm-clan a:is(:hover,:active,:focus-visible) { color:#f4f1e9; }
.fm-games-page .fm-clan :is(.fm-action,.fm-footer-cta):is(:link,:visited,:hover,:active,:focus-visible) { color:#fff; }
.fm-games-page .fm-clan :is(.fm-action,.fm-footer-cta) :is(span,svg) { color:inherit; }
.fm-games-page .fm-clan .fm-consistent-back {
 display:inline-flex; align-items:center; justify-content:flex-start; gap:12px;
 min-height:44px; margin:0 0 20px; font-size:13px; line-height:1.5;
}
.fm-games-page .fm-consistent-back svg { width:17px; height:17px; flex:none; }
.fm-games-page .fm-clan a:focus-visible,
.fm-games-page .fm-clan summary:focus-visible { outline:2px solid #dfc6ff; outline-offset:3px; }
.fm-games-page .fm-clan .fm-footer-expanded .fm-footer-link { min-height:44px; }
.fm-games-page:is(.page-id-16,.page-id-17) .fm-footer-next { display:none; }
.fm-games-page .fm-legal-page .fm-reading { max-width:780px; }
.fm-games-page .fm-legal-page h1 { margin-top:14px; }
.fm-games-page .fm-legal-page p { line-height:1.8; color:#bfbac9; }
.fm-games-page .fm-legal-page .fm-editor-note { margin:20px 0; padding:16px 18px; line-height:1.7; }
.fm-games-page .fm-briefing-privacy a { min-height:44px; align-items:center; display:inline-flex; }
@media(min-width:768px) {
 .fm-games-page .fm-wp-nav.pb-nav .pb-nav__mobile-panel { transform:none !important; transition:none !important; }
}
@media(max-width:767px) {
 .fm-games-page .fm-clan .fm-consistent-back { margin-bottom:16px; }
 .fm-games-page .fm-legal-page .fm-editor-note { padding:14px 16px; }
}
@media(min-width:768px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .fm-games-page .fm-consistent-back:is(:hover,:focus-visible) svg { transform:translateX(-3px); }
}

/* Sprint 09: hero / main content / supporting detail. Native classes remain editable. */
.fm-games-page .fm-clan { --fm-divider:#ffffff18; --fm-muted:#bcb6c6; }
.fm-games-page .fm-clan :is(.fm-briefing-note,.fm-d-devnote,.fm-d-factbox) {
 background:#17171d; box-shadow:none; border-color:#ffffff20;
}
.fm-games-page .fm-clan :is(.fm-d-factbox,.fm-briefing-note) { border-top:2px solid #81718f; }
.fm-games-page .fm-clan :is(.fm-editor-note,.fm-d-editor-note,.fm-svc-note,.fm-st-muted,.fm-d-note) { color:var(--fm-muted); line-height:1.7; }
.fm-games-page .fm-clan :is(.fm-st-panel,.fm-brief-card,.fm-learning-scene) { box-shadow:inset 0 1px #ffffff08; }
.fm-games-page .fm-clan .fm-textlink { min-height:44px; align-items:center; }
.fm-games-page .fm-clan :is(.fm-d-caption,figcaption) { font-size:13px; line-height:1.65; color:#bcb6c6; }
.fm-games-page .fm-clan :is(.fm-svc-close,.fm-st-next,.fm-d-end) { border-top-color:#ffffff20; border-right-color:#ffffff20; border-bottom-color:#ffffff20; }
.fm-games-page .fm-clan :is(.fm-svc-section,.fm-st-section,.fm-d-project-section) { border-top-color:var(--fm-divider); }
.fm-games-page .fm-clan :is(.fm-briefing-note,.fm-d-factbox,.fm-d-devnote) h2 { font-size:26px; }
.fm-games-page .fm-clan .fm-wp-nav .pb-nav__link.is-current {
 background:linear-gradient(#4b355e,#2b2135); box-shadow:inset 0 2px #c8a0ff; border-color:#8e6da6;
}
@media(min-width:768px) {
 .fm-games-page .fm-clan .fm-paths .fm-panel { box-shadow:inset 0 1px #ffffff08,0 3px #08090c; }
}

/* Sprint 10: preserve the original king while reducing mobile chrome. */
@media(max-width:767px) {
 .fm-games-page .fm-clan.fm-header { position:relative; }
 .fm-games-page .fm-header .fm-topline { display:none; }
 .fm-games-page .fm-header .fm-masthead { min-height:76px; padding:12px 16px; padding-right:100px; }
 .fm-games-page .fm-header .fm-logo { width:105px; }
 .fm-games-page .fm-header .fm-brand { gap:8px; }
 .fm-games-page .fm-header .fm-brand-name { font-size:9px; letter-spacing:.12em; }
 .fm-games-page .fm-header .fm-wp-nav.pb-nav { position:absolute; top:15px; right:10px; width:76px; padding:0; background:transparent; border:0; }
 .fm-games-page .fm-header .fm-wp-nav .pb-nav__collapse-toggle { min-height:46px; padding:10px; font-size:13px; }
 .fm-games-page .fm-clan.fm-main { padding-top:20px; }
 .fm-games-page .fm-clan .fm-consistent-back { margin-bottom:8px; }
 .fm-games-page .fm-intro { margin-bottom:22px; }
 .fm-games-page .fm-footer-expanded .fm-footer-next { padding:20px 0; }
}

/* Sprint 13: content-ready library and reusable native project card. */
.fm-games-page .fm-library-empty .fm-library-art { min-height:150px; }
.fm-games-page .fm-library-empty .fm-library-body { padding-block:26px; }
.fm-games-page .fm-clan .fm-game-library { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:24px; }
.fm-games-page .fm-game-card { min-width:0; border:1px solid #50435e; background:#19171f; display:flex; flex-direction:column; }
.fm-games-page .fm-game-card-image { aspect-ratio:16/9; display:grid; place-items:center; padding:20px; background:linear-gradient(135deg,#33263e,#17151e); border-bottom:1px solid #50435e; }
.fm-games-page .fm-game-card-image img { width:100%; height:100%; object-fit:cover; }
.fm-games-page .fm-game-card-copy { padding:22px; display:flex; flex-direction:column; align-items:flex-start; flex:1; }
.fm-games-page .fm-game-card-copy h2 { margin:12px 0; }
.fm-games-page .fm-game-card-copy .fm-textlink { margin-top:auto; padding-top:16px; }
.fm-games-page .fm-clan .fm-project-head { grid-template-columns:1fr; max-width:760px; }
.fm-games-page .fm-project-facts { margin:0 0 26px; }
.fm-games-page .fm-project-facts .fm-d-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.fm-games-page .fm-project-facts .fm-d-fact { flex-direction:column; }
.fm-games-page .fm-project-head .fm-textlink { margin-top:14px; }
.fm-games-page .fm-lower > .fm-panel { box-shadow:none; }
.fm-games-page .fm-lower .fm-story > .fm-textlink,.fm-games-page .fm-lower .fm-side > .fm-textlink { margin-top:18px; }
@media(max-width:767px) {
 .fm-games-page .fm-library-empty .fm-library-art { min-height:88px; }
 .fm-games-page .fm-project-facts .fm-d-facts { grid-template-columns:1fr; gap:0; }
 .fm-games-page .fm-project-facts .fm-d-fact { flex-direction:row; }
}

@media(min-width:768px) {
 .fm-games-page .fm-game-library > .fm-game-card:only-child { display:grid; grid-template-columns:1.1fr 1fr; }
 .fm-games-page .fm-game-library > .fm-game-card:only-child .fm-game-card-image { aspect-ratio:auto; min-height:260px; border-bottom:0; border-right:1px solid #50435e; }
}

/* FM-043: editorial foreground, quiet secondary content, deliberate section gaps. */
.fm-games-page .fm-clan .fm-lower { gap:32px; margin-top:36px; align-items:start; }
.fm-games-page .fm-lower > .fm-panel { background:linear-gradient(110deg,#c6a0ef08,transparent); border:0; border-top:2px solid #88729f; box-shadow:none; }
.fm-games-page .fm-lower > .fm-panel > .fm-bar { background:none; box-shadow:none; border:0; padding:18px 0 0; color:#c8b4db; }
.fm-games-page .fm-lower > .fm-panel > .fm-bar::before,.fm-games-page .fm-lower > .fm-panel > .fm-bar::after { display:none; }
.fm-games-page .fm-lower .fm-story { padding:18px 0 0; }
.fm-games-page .fm-lower .fm-story h2 { font-size:34px; max-width:25ch; margin:0 0 16px; }
.fm-games-page .fm-lower .fm-side { background:none; padding:18px 0 18px 22px; border-left:1px solid #ffffff25; }
.fm-games-page .fm-lower .fm-side h2 { font-size:25px; }
.fm-games-page .fm-library-empty { margin-bottom:28px; }
.fm-games-page .fm-library-empty .fm-library-body { padding:24px; grid-template-columns:.6fr 1.4fr; }
.fm-games-page .fm-library-empty .fm-library-copy .fm-action { display:inline-flex; width:auto; min-width:220px; }
.fm-games-page .fm-games-page .fm-st-next { background:transparent; }
.fm-games-page .fm-clan.fm-games-page > .fm-st-next { border:0; border-top:1px solid #ffffff20; padding:24px 0; background:none; }
.fm-games-page .fm-project-opening { padding-bottom:26px; margin-bottom:24px; border-bottom:1px solid #ffffff20; }
.fm-games-page .fm-project-opening .fm-d-media { margin-bottom:0; }
.fm-games-page .fm-project-opening .fm-project-facts { margin-bottom:0; border:0; border-top:1px solid #ffffff20; box-shadow:none; background:#ffffff03; }
.fm-games-page .fm-project-facts > h2,.fm-games-page .fm-project-facts > .fm-d-label { display:none; }
.fm-games-page .fm-project-facts .fm-d-fact { border-bottom:0; padding:0; }
.fm-games-page .fm-d-project-bit,.fm-games-page .fm-d-devnote { border:0; border-left:1px solid #c6a0ef50; background:none; }
.fm-games-page .fm-legal-page .fm-reading { font-size:16px; }
.fm-games-page .fm-legal-page .fm-reading h2 { margin:32px 0 14px; }
.fm-games-page .fm-legal-page .fm-reading :is(ul,ol) { padding-left:24px; line-height:1.8; }
.fm-games-page .fm-legal-page .fm-reading li+li { margin-top:8px; }
@media(max-width:767px) {
 .fm-games-page .fm-clan .fm-lower { gap:24px; margin-top:28px; }
 .fm-games-page .fm-lower .fm-story h2 { font-size:29px; }
 .fm-games-page .fm-lower .fm-side { padding:18px 0 0; border-left:0; border-top:1px solid #ffffff20; }
 .fm-games-page .fm-library-empty .fm-library-body { grid-template-columns:1fr; padding:18px; }
 .fm-games-page .fm-library-empty .fm-library-copy .fm-action { display:flex; width:100%; min-width:0; }
 .fm-games-page .fm-project-facts .fm-d-fact { padding:10px 0; border-bottom:1px solid #ffffff10; }
}

/* FM-044: location marker and contact route have distinct visual jobs. */
.fm-games-page .fm-clan .fm-wp-nav .pb-nav__link.is-current,
.fm-games-page.page-id-9 .fm-wp-nav .pb-nav__link[href*="page_id=8&"],
.fm-games-page.page-id-14 .fm-wp-nav .pb-nav__link[href*="page_id=13&"] {
 background:linear-gradient(#302b3b,#211d2a); border-color:#78618f; box-shadow:inset 0 -3px #c8a0ff; color:#fff;
}
.fm-games-page .fm-wp-nav.pb-nav .pb-nav__item:last-child .pb-nav__link:not(.is-current) { border-color:#776b85; background:linear-gradient(#26242c,#1d1b23); box-shadow:none; }
.fm-games-page .fm-clan :is(.fm-action,.fm-textlink) svg { width:18px; height:18px; flex:none; stroke-width:1.7; }
.fm-games-page .fm-clan .fm-textlink { gap:12px; }
.fm-games-page .fm-clan :is(.fm-eyebrow,.fm-svc-label,.fm-st-label,.fm-d-label) { letter-spacing:.1em; }
.fm-games-page .fm-clan .fm-footer-brandline { display:inline-flex; align-items:center; gap:18px; min-height:48px; max-width:100%; color:#c5bbd0; text-decoration:none; }
.fm-games-page .fm-clan .fm-footer-king { width:92px; height:auto; filter:invert(1); flex:none; }
.fm-games-page .fm-footer-signature { max-width:190px; font:10px/1.7 Consolas,monospace; letter-spacing:.08em; }
.fm-games-page .fm-footer-expanded .fm-footer-base { padding:20px 0; }
.fm-games-page .fm-footer-expanded .fm-footer-grid { align-items:start; }
.fm-games-page .fm-footer-expanded .fm-footer-title { margin-bottom:12px; }
.fm-games-page .fm-clan :is(a,summary,button):focus-visible { outline:2px solid #e1c7ff; outline-offset:3px; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .fm-games-page .fm-clan :is(.fm-action,.fm-textlink,.fm-footer-cta,.fm-footer-link) { transition:border-color 180ms ease,box-shadow 180ms ease,color 180ms ease; }
 .fm-games-page .fm-clan :is(.fm-action,.fm-textlink) svg { transition:transform 180ms ease; }
 .fm-games-page .fm-clan .fm-textlink:hover { color:#eadbff; }
}
@media(max-width:767px) {
 .fm-games-page .fm-clan .fm-footer-brandline { gap:16px; }
 .fm-games-page .fm-clan .fm-footer-king { width:86px; }
 .fm-games-page .fm-footer-signature { max-width:160px; }
 .fm-games-page .fm-footer-expanded .fm-footer-base { gap:12px; }
}

/* FM-047 · Guild Crest / Violet. Original king, native builder elements. */
.fm-games-page .fm-clan { --fm-guild-accent:#c6a1f8; --fm-guild-line:#675470; --fm-guild-ink:#f4f0e8; }
.fm-games-page .fm-clan .fm-guild-brand { display:flex; align-items:center; gap:18px; text-decoration:none; color:var(--fm-guild-ink); }
.fm-games-page .fm-guild-brand::after { display:none; }
.fm-games-page .fm-guild-crest { width:86px; height:104px; flex:none; display:grid; place-items:center; position:relative; clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%); background:linear-gradient(135deg,#d0b9e4,#675470 28%,#3e334b 60%,#c6a1f8); }
.fm-games-page .fm-guild-crest::before { content:''; position:absolute; inset:2px 2px 3px; clip-path:inherit; background:linear-gradient(#34303d,#111319); }
.fm-games-page .fm-guild-king { display:block; position:relative; width:74px; height:80px; overflow:hidden; transform:translateY(-5px); flex:none; }
.fm-games-page .fm-guild-king .fm-guild-image { display:block; width:174.3px; height:80px; max-width:none; filter:invert(1); object-fit:fill; }
.fm-games-page .fm-guild-wordmark { display:block; }
.fm-games-page .fm-clan .fm-guild-name { display:block; margin:0; color:#f4f0e8; font:600 37px/.98 'FM Barlow','Arial Narrow',Arial,sans-serif; letter-spacing:.015em; text-shadow:0 2px #0009; white-space:nowrap; }
.fm-games-page .fm-clan .fm-guild-label { display:block; margin:9px 0 0; padding:4px 15px; color:#fff; font:11px/1.35 Consolas,monospace; letter-spacing:.26em; background:linear-gradient(#8043c4,#622ba6); border:1px solid #a887c8; box-shadow:inset 0 1px #ffffff30; }
.fm-games-page .fm-header .fm-masthead { min-height:156px; padding-block:23px; border-bottom:1px solid #675470; background:repeating-linear-gradient(135deg,transparent 0 7px,#ffffff03 7px 8px),radial-gradient(ellipse at 18% 35%,#49335e88,transparent 65%),#11151c; }
.fm-games-page .fm-header .fm-topline { border-top:3px solid #b98ae6; }
.fm-games-page .fm-clan .fm-wp-nav .pb-nav__link { color:#eae4f1; background:linear-gradient(#353440,#22222b 48%,#1c1c24 49%,#1a1b22); text-shadow:0 1px #000; }
.fm-games-page .fm-clan .fm-wp-nav .pb-nav__link.is-current { color:#fff; background:linear-gradient(#493253,#271d33); border-color:#ac81d1; box-shadow:inset 0 -3px #c6a1f8,inset 0 1px #ffffff22; }
.fm-games-page .fm-clan :is(.fm-action,.fm-footer-cta),.fm-games-page .fm-briefing-form .jet-form-builder__submit {
 color:#fff; background:linear-gradient(#8043c4,#622ba6 48%,#582697 49%,#4f2286); border:1px solid #b38bd4; border-radius:2px; box-shadow:inset 0 1px #ffffff50,inset 0 -2px #0006,0 3px #07080b;
}
.fm-games-page .fm-clan :is(.fm-action,.fm-footer-cta):is(:hover,:active,:focus-visible),.fm-games-page .fm-briefing-form .jet-form-builder__submit:is(:hover,:active,:focus-visible) { color:#fff; background:linear-gradient(#7438b8,#622ba6); border-color:#dec4fa; }
.fm-games-page .fm-clan :is(.fm-action,.fm-footer-cta):focus-visible,.fm-games-page .fm-briefing-form .jet-form-builder__submit:focus-visible { outline:3px solid #efdfff; outline-offset:4px; }
.fm-games-page .fm-clan :is(.fm-bar,.fm-st-panelbar,.fm-d-panelbar) { background:linear-gradient(#41404c,#292933 49%,#22232b 50%,#202129); color:#e1d5ee; box-shadow:inset 0 1px #ffffff25,inset 0 -1px #0008; border-bottom:1px solid #111; }
.fm-games-page .fm-clan :is(.fm-brief-card,.fm-learning-scene,.fm-briefing-panel,.fm-st-panel,.fm-d-media) { border-color:#675470; box-shadow:inset 0 1px #ffffff20,0 5px 18px #0003; }
.fm-games-page .fm-clan :is(.fm-brief-card,.fm-learning-scene) { background:radial-gradient(ellipse at top,#49335e55,transparent 80%),#191a22; }
.fm-games-page .fm-clan :is(.fm-scene-clue,.fm-scene-option) { border-color:#786589; background:linear-gradient(145deg,#24212e,#16181f); box-shadow:inset 0 1px #ffffff14; }
.fm-games-page .fm-clan .fm-scene-selected { border-color:#bc95e9; background:#30213e; }
.fm-games-page .fm-clan .fm-scene-code { border-color:#aa82cf; box-shadow:inset 0 1px #ffffff30,0 3px #08090b; }
.fm-games-page .fm-clan :is(.fm-section-title,.fm-st-section > h2,.fm-svc-section > h2) { border-left:3px solid #b58adf; padding-left:14px; }
.fm-games-page .fm-clan :is(.fm-st-num,.fm-scenario-num) { color:#dec5fa; border:1px solid #675470; background:linear-gradient(#39303f,#201c29); box-shadow:inset 0 1px #ffffff22; }
.fm-games-page .fm-clan .fm-library-art { border:1px solid #675470; border-top:5px solid #887299; border-radius:8px 8px 2px 2px; background:repeating-linear-gradient(90deg,transparent 0 9px,#ffffff08 9px 11px),linear-gradient(#292330,#14151d); box-shadow:inset 0 2px #ffffff20,inset 0 -7px #08090c; }
.fm-games-page .fm-clan .fm-studio-margin { border-top:3px solid #b58adf; background:linear-gradient(135deg,#31243d55,transparent 75%); }
.fm-games-page .fm-clan .fm-journal-lettering { color:#dec5fa; border-left:4px solid #9c75c1; background:repeating-linear-gradient(0deg,transparent 0 23px,#ffffff08 23px 24px),linear-gradient(135deg,#302337,#17151e); }
.fm-games-page .fm-clan .fm-d-takeaway { border-left:3px solid #b58adf; background:linear-gradient(110deg,#39264666,transparent); }
.fm-games-page .fm-clan .fm-briefing-panel { border-top:3px solid #a77ad0; }
.fm-games-page .fm-briefing-form :is(input:not([type=radio]):not([type=checkbox]),textarea) { border-color:#796787; background:#11131a; color:#f4f0e8; box-shadow:inset 0 2px 5px #0005; }
.fm-games-page .fm-briefing-form :is(input,textarea):focus-visible { outline:2px solid #dfc1fa; outline-offset:3px; }
.fm-games-page .fm-clan .fm-footer-expanded { border-top:3px solid #816394; }
.fm-games-page .fm-clan .fm-footer-brandline.fm-guild-brand { gap:12px; }
.fm-games-page .fm-footer-brandline .fm-guild-crest { width:42px; height:52px; }
.fm-games-page .fm-footer-brandline .fm-guild-king { width:35px; height:38px; transform:translateY(-3px); }
.fm-games-page .fm-footer-brandline .fm-guild-image { width:82.8px; height:38px; }
.fm-games-page .fm-footer-brandline .fm-guild-name { font-size:23px; }
.fm-games-page .fm-footer-brandline .fm-guild-label { font-size:8px; padding:2px 9px; margin-top:5px; }
@media(min-width:768px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .fm-games-page .fm-guild-crest { transition:filter 180ms ease-out; }
 .fm-games-page .fm-guild-brand:is(:hover,:focus-visible) .fm-guild-crest { filter:brightness(1.12); }
}
@media(max-width:767px) {
 .fm-games-page .fm-header .fm-masthead { min-height:91px; padding:13px 96px 13px 14px; }
 .fm-games-page .fm-header .fm-wp-nav.pb-nav { top:22px; }
 .fm-games-page .fm-header .fm-guild-brand { gap:10px; }
 .fm-games-page .fm-header .fm-guild-crest { width:48px; height:62px; }
 .fm-games-page .fm-header .fm-guild-king { width:42px; height:46px; transform:translateY(-3px); }
 .fm-games-page .fm-header .fm-guild-image { width:100.2px; height:46px; }
 .fm-games-page .fm-header .fm-guild-name { font-size:27px; }
 .fm-games-page .fm-header .fm-guild-label { font-size:8px; padding:3px 10px; margin-top:6px; letter-spacing:.23em; }
 .fm-games-page .fm-clan :is(.fm-brief-card,.fm-learning-scene,.fm-briefing-panel,.fm-st-panel,.fm-d-media) { box-shadow:inset 0 1px #ffffff14; }
 .fm-games-page .fm-clan .fm-library-art { background:linear-gradient(#292330,#14151d); }
 .fm-games-page .fm-clan .fm-journal-lettering { background:linear-gradient(135deg,#302337,#17151e); }
 .fm-games-page .fm-clan :is(.fm-section-title,.fm-st-section > h2,.fm-svc-section > h2) { padding-left:10px; border-left-width:2px; }
}
@media(max-width:360px) { .fm-games-page .fm-header .fm-guild-name { font-size:23px; } .fm-games-page .fm-header .fm-guild-brand { gap:8px; } }

/* FM-048: distinct section rhythms, connected studio chronology. */
.fm-games-page .fm-clan .fm-intro { padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid #675470; }
.fm-games-page .fm-clan .fm-concept { padding:28px; margin-bottom:32px; border:1px solid #55465e; border-top:2px solid #b58adf; background:linear-gradient(135deg,#30233855,transparent 75%),#15151c; }
.fm-games-page .fm-clan .fm-concept-explained { gap:24px; margin-bottom:22px; }
.fm-games-page .fm-clan .fm-concept-learning { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fm-games-page .fm-clan .fm-concept-explained .fm-concept-step { border-top:1px solid #796786; padding-top:16px; }
.fm-games-page .fm-clan .fm-concept-deliverables { padding:16px 18px; background:#101117; border-left:2px solid var(--svc-accent); }
.fm-games-page .fm-clan .fm-usecases { gap:20px; }
.fm-games-page .fm-clan .fm-usecase { border:0; border-top:2px solid #887099; padding:20px; background:linear-gradient(145deg,#28212e66,transparent); }
.fm-games-page .fm-clan .fm-story-path { gap:24px; padding-top:0; margin-top:28px; }
.fm-games-page .fm-clan .fm-story-step { padding:22px; border:1px solid #65536d; background:linear-gradient(145deg,#30243a99,#16161d); box-shadow:inset 0 1px #ffffff16; }
.fm-games-page .fm-clan .fm-story-step .fm-st-num { width:38px; height:38px; font-size:13px; background:#392847; border-color:#b18bcf; }
@media(min-width:768px) {
 .fm-games-page .fm-clan .fm-story-step:not(:last-child)::before { left:calc(100% + 1px); right:auto; top:41px; width:24px; height:2px; background:#b18bcf; }
 .fm-games-page .fm-clan .fm-story-step:not(:last-child)::after { content:''; position:absolute; right:-24px; top:38px; width:7px; height:7px; border-top:2px solid #b18bcf; border-right:2px solid #b18bcf; transform:rotate(45deg); }
 .fm-games-page .fm-clan .fm-story-step h3 { font-size:25px; }
}
@media(min-width:768px) and (max-width:1024px) {
 .fm-games-page .fm-clan .fm-story-path { gap:18px; }
 .fm-games-page .fm-clan .fm-story-step { padding:16px; }
 .fm-games-page .fm-clan .fm-story-step:not(:last-child)::before { width:18px; top:35px; }
 .fm-games-page .fm-clan .fm-story-step:not(:last-child)::after { right:-18px; top:32px; }
 .fm-games-page .fm-clan .fm-story-step h3 { font-size:23px; }
}
@media(max-width:767px) {
 .fm-games-page .fm-clan .fm-intro { padding-bottom:20px; margin-bottom:20px; }
 .fm-games-page .fm-clan .fm-concept { padding:20px 16px; margin-bottom:24px; }
 .fm-games-page .fm-clan .fm-concept-explained { grid-template-columns:1fr; gap:20px; margin-top:20px; }
 .fm-games-page .fm-clan .fm-concept-deliverables { padding:12px; }
 .fm-games-page .fm-clan .fm-usecase { padding:16px; }
 .fm-games-page .fm-clan .fm-story-path { display:grid; gap:16px; }
 .fm-games-page .fm-clan .fm-story-step { grid-template-columns:38px minmax(0,1fr); gap:14px; padding:18px 16px; }
 .fm-games-page .fm-clan .fm-story-step:not(:last-child)::before { left:34px; top:100%; bottom:auto; height:17px; width:2px; background:#b18bcf; }
}

/* FM-049: primary enquiries versus secondary reading/navigation. */
.fm-games-page .fm-clan .fm-action.fm-action-secondary { display:inline-flex; width:auto; min-width:0; justify-content:space-between; gap:28px; padding:11px 16px; min-height:46px; border:1px solid #8a729f; background:linear-gradient(#2c2535,#1b1822); color:#f4f0e8; box-shadow:inset 0 1px #ffffff18; }
.fm-games-page .fm-clan .fm-action.fm-action-secondary:is(:hover,:active,:focus-visible) { color:#fff; border-color:#d0afea; background:#35273f; box-shadow:inset 0 1px #ffffff22; }
.fm-games-page .fm-clan .fm-action.fm-action-secondary:focus-visible { outline:3px solid #efdfff; outline-offset:4px; }
@media(min-width:768px) {
 .fm-games-page .fm-clan :is(.fm-svc-close-actions,.fm-d-end-actions) { align-items:flex-start; }
 .fm-games-page .fm-clan :is(.fm-svc-close,.fm-d-end,.fm-st-next) .fm-action { width:auto; min-width:0; max-width:100%; justify-self:start; align-self:start; gap:32px; }
 .fm-games-page .fm-clan .fm-journal-copy .fm-action { margin-top:20px; }
}
@media(max-width:767px) {
 .fm-games-page .fm-clan :is(.fm-svc-close,.fm-st-next) .fm-action:not(.fm-action-secondary) { display:flex; width:100%; }
 .fm-games-page .fm-clan .fm-action.fm-action-secondary { max-width:100%; }
}

/* FM-050: cartridge, notebook and a native explanatory schematic. */
.fm-games-page .fm-clan .fm-library-body { align-items:center; gap:28px; }
.fm-games-page .fm-clan .fm-library-art { padding:22px 18px 32px; min-height:190px; border-radius:12px 12px 3px 3px; border:1px solid #877098; border-top:6px solid #62516f; background:repeating-linear-gradient(90deg,#ffffff06 0 2px,transparent 2px 10px),linear-gradient(#342b3e,#19161f); box-shadow:inset 0 2px #ffffff22,inset 0 -8px #08090c,0 4px #08090c; }
.fm-games-page .fm-clan .fm-library-art::before { inset:16px 14px 30px; width:auto; height:auto; border:1px solid #816390; border-radius:3px; background:#111319; }
.fm-games-page .fm-clan .fm-library-art::after { left:22%; right:22%; bottom:0; top:auto; width:auto; height:15px; border:0; background:repeating-linear-gradient(90deg,#b29a68 0 5px,#18151d 5px 9px); }
.fm-games-page .fm-clan .fm-library-art svg { position:relative; z-index:1; width:75%; max-width:180px; color:#d6b6ef; }
.fm-games-page .fm-clan .fm-journal-feature { border:1px solid #65546f; border-top:3px solid #ac8ac8; background:#17151e; box-shadow:3px 3px #0a0b0e,4px 4px #55465e; }
.fm-games-page .fm-clan .fm-journal-feature .fm-st-panelbar { padding:11px 20px; }
.fm-games-page .fm-clan .fm-journal-feature-body { padding:24px; gap:22px; }
.fm-games-page .fm-clan .fm-journal-lettering { border-left:2px solid #b18bcf; border-right:1px solid #675470; padding:12px; background:repeating-linear-gradient(0deg,transparent 0 27px,#ffffff0a 27px 28px),#25202e; }
.fm-games-page .fm-clan .fm-idea-map { margin:24px 0; padding:22px; border:1px solid #776184; border-top:3px solid #b18bcf; background:linear-gradient(145deg,#30233b88,#15151c); }
.fm-games-page .fm-clan .fm-idea-map > .fm-d-label { font-size:11px; margin:0 0 14px; }
.fm-games-page .fm-clan .fm-energy-source { display:flex; align-items:center; gap:14px; padding:12px 14px; margin:0 0 22px; border:1px solid #756181; background:#101218; color:#f4f0e8; font-size:15px; }
.fm-games-page .fm-energy-dots { display:flex; gap:5px; flex:none; }
.fm-games-page .fm-energy-dots span { width:8px; height:18px; background:#c6a1f8; box-shadow:inset 0 1px #ffffff55; }
.fm-games-page .fm-idea-routes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.fm-games-page .fm-clan .fm-idea-route { position:relative; padding:16px; border:1px solid #675470; background:#1d1925; }
.fm-games-page .fm-idea-route::before { content:''; position:absolute; width:1px; height:23px; left:50%; top:-23px; background:#a889c3; }
.fm-games-page .fm-clan .fm-idea-route h3 { font-size:23px; margin:0 0 8px; }
.fm-games-page .fm-clan .fm-idea-route p { font-size:14px; margin:0; }
.fm-games-page .fm-clan .fm-idea-map figcaption { margin-top:16px; color:#c4bdce; font-size:13px; line-height:1.65; }
.fm-games-page .fm-clan .fm-project-opening { border-bottom:0; margin-bottom:0; padding-bottom:0; }
.fm-games-page .fm-clan .fm-project-facts { margin-top:0; border:1px solid #675470; border-top:0; background:#19161f; }
.fm-games-page .fm-project-facts .fm-d-factbox { border:0; background:transparent; }
@media(max-width:1024px) {
 .fm-games-page .fm-clan .fm-journal-lettering { border-right:0; padding:12px 14px; }
}
@media(max-width:767px) {
 .fm-games-page .fm-clan .fm-library-body { gap:20px; }
 .fm-games-page .fm-clan .fm-library-art { min-height:120px; max-width:260px; width:100%; margin-inline:auto; padding:18px 12px 28px; }
 .fm-games-page .fm-clan .fm-library-art svg { max-width:120px; }
 .fm-games-page .fm-clan .fm-journal-feature { box-shadow:none; }
 .fm-games-page .fm-clan .fm-journal-feature-body { padding:18px 16px; gap:18px; }
 .fm-games-page .fm-clan .fm-journal-feature .fm-st-panelbar { padding:10px 16px; }
 .fm-games-page .fm-clan .fm-idea-map { padding:18px 14px; }
 .fm-games-page .fm-idea-routes { grid-template-columns:1fr; gap:12px; }
 .fm-games-page .fm-clan .fm-energy-source { margin-bottom:16px; padding:12px; font-size:14px; }
 .fm-games-page .fm-clan .fm-idea-route { display:grid; grid-template-columns:70px minmax(0,1fr); gap:12px; padding:14px 12px; }
 .fm-games-page .fm-clan .fm-idea-route h3 { margin:0; font-size:23px; }
 .fm-games-page .fm-idea-route::before { display:none; }
}

/* FM-051: readable small details, lighter form and compact footer. */
.fm-games-page .fm-clan :is(.fm-bar,.fm-st-panelbar,.fm-d-panelbar) { min-height:40px; font-size:11px; line-height:1.5; letter-spacing:.07em; }
.fm-games-page .fm-clan :is(.fm-st-tag,.fm-briefing-code,.fm-briefing-kicker) { font-size:11px; line-height:1.5; }
.fm-games-page .fm-header .fm-guild-label,.fm-games-page .fm-footer-brandline .fm-guild-label { font-size:10px; line-height:1.4; letter-spacing:.2em; padding-block:3px; }
.fm-games-page .fm-clan .fm-briefing-body { padding:22px; }
.fm-games-page .fm-clan .fm-topic-choice { border:0; border-bottom:1px solid #796787; background:transparent; }
.fm-games-page .fm-clan .fm-topic-choice summary { padding:0 0 12px; min-height:44px; font-size:14px; }
.fm-games-page .fm-clan .fm-topic-options { padding:0 0 18px; }
.fm-games-page .fm-clan .fm-briefing-form .jet-form-builder { row-gap:20px; }
.fm-games-page .fm-clan .fm-briefing-form .jet-form-builder__label { margin-bottom:8px; }
.fm-games-page .fm-clan .fm-briefing-privacy { margin-top:18px; padding-top:12px; }
.fm-games-page .fm-clan .fm-briefing-note { border:0; border-top:2px solid #8a729f; padding:18px; background:linear-gradient(135deg,#28202f66,transparent); }
.fm-games-page .fm-clan .fm-footer-expanded .fm-footer-grid { gap:24px; padding:22px 0; }
.fm-games-page .fm-clan .fm-footer-expanded .fm-footer-title { margin-bottom:8px; }
.fm-games-page .fm-clan .fm-footer-expanded .fm-footer-base { padding:16px 0; gap:16px; }
.fm-games-page .fm-clan .fm-footer-expanded .fm-footer-cta { background:linear-gradient(#8043c4,#622ba6 48%,#582697 49%,#4f2286); color:#fff; border-color:#b38bd4; box-shadow:inset 0 1px #ffffff50,inset 0 -2px #0006,0 3px #07080b; }
.fm-games-page .fm-clan .fm-footer-expanded .fm-footer-cta:is(:hover,:active,:focus-visible) { color:#fff; background:linear-gradient(#7438b8,#622ba6); border-color:#dec4fa; }
@media(min-width:768px) and (max-width:1024px) {
 .fm-games-page .fm-clan .fm-wp-nav .pb-nav__link { font-family:'FM Barlow','Arial Narrow',Arial,sans-serif; font-size:13px; letter-spacing:.02em; padding-inline:4px; }
}
@media(max-width:767px) {
 .fm-games-page .fm-clan .fm-briefing-body { padding:18px 16px; }
 .fm-games-page .fm-clan .fm-briefing-form .jet-form-builder { row-gap:18px; }
 .fm-games-page .fm-clan .fm-topic-options { padding-bottom:14px; }
 .fm-games-page .fm-clan .fm-footer-expanded .fm-footer-grid { gap:20px 16px; padding:20px 0; }
 .fm-games-page .fm-clan .fm-footer-expanded .fm-footer-base { gap:12px; }
 .fm-games-page .fm-clan :is(.fm-bar,.fm-st-panelbar,.fm-d-panelbar) { letter-spacing:.03em; }
}
