/* RECONSTRUCTED EQUIVALENT CODE: minimal compatibility after evidence-derived deployed CSS. */
/* FD publication identity, original Investigator artwork restored by explicit user direction on 2026-10-15. */
.masthead .brand--logo{display:flex;align-items:center;flex:0 0 auto;width:212px;min-width:212px}
.masthead .brand--logo .brand__logo{display:block;width:172px;min-width:172px;max-width:172px;height:56px}
.footer__brand{display:flex;align-items:center;gap:12px}
.footer__brand img{flex:0 0 auto}
@media(max-width:1320px){.masthead .brand--logo{width:196px;min-width:196px}.masthead .brand--logo .brand__logo{width:156px;min-width:156px;max-width:156px;height:51px}}
@media(max-width:900px){.masthead .brand--logo{width:180px;min-width:180px}.masthead .brand--logo .brand__logo{width:140px;min-width:140px;max-width:140px;height:46px}}
/* FD live-frontend remediation: grid guards, hierarchy, hero, sections, format browser, newsletter. */
.service-directory__item a > br,.desk-grid > li > a > br{display:none}
.masthead .brand--logo{width:212px;min-width:212px}
.masthead .brand--logo .brand__logo{width:172px;min-width:172px;max-width:172px}
@media(max-width:1320px){.masthead .brand--logo{width:196px;min-width:196px}.masthead .brand--logo .brand__logo{width:156px;min-width:156px;max-width:156px}}
@media(max-width:900px){.masthead .brand--logo{width:180px;min-width:180px}.masthead .brand--logo .brand__logo{width:140px;min-width:140px;max-width:140px}}
.nav-industries__kicker{grid-column:1/-1;margin:14px 0 2px}
.nav-industries__kicker:first-child{margin-top:0}
.nav-industry--building{opacity:.92}
.menu-toggle__bars{transform:scale(.8)}
.action-row{gap:18px}
.action-row .text-link{letter-spacing:.02em}
.action-row .text-link [aria-hidden="true"]{margin-left:8px}
.hero__copy{max-width:640px}
.hero .action-row{margin-top:26px}
/* FD visual remediation batch 2: switcher chips, format browser, newsletter contrast, link restraint, footer seal. */
.arc-switcher{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 4px}
.arc-switcher a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid rgb(201 149 80 / .45);border-radius:999px;background:transparent;color:#1a1712;font:600 12px/1 "DM Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.arc-switcher a[aria-current="page"]{background:#18130f;border-color:#18130f;color:#f5f1e8}
.archive-switch{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.archive-switch a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid rgb(201 149 80 / .45);border-radius:999px;background:transparent;color:#1a1712;font:600 12px/1 "DM Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.archive-switch a:hover,.arc-switcher a:hover{border-color:#8a5d25}
.library-routes{grid-template-columns:minmax(150px,.7fr) repeat(5,minmax(0,1fr));gap:0 18px}
.library-routes__label{align-self:center}
.library-routes a{position:relative;border-left:0;border-top:3px solid #c99550;padding:16px 34px 16px 2px;min-height:96px;align-content:start}
.library-routes a b{font-size:19px}
.library-routes a::after{content:"↗";position:absolute;right:6px;bottom:12px;color:#8a5d25;font-family:"IBM Plex Mono",monospace;font-size:14px}
.library-routes a:hover{background:#18130f;color:#f5f1e8}
.library-routes a:hover small{color:#cfc6b9}
.library-routes a:hover::after{color:#f5c56d}
@media(max-width:1024px){.library-routes{grid-template-columns:repeat(2,minmax(0,1fr))}.library-routes__label{grid-column:1/-1}}
@media(max-width:640px){.library-routes{grid-template-columns:minmax(0,1fr)}}
.home-dispatch .fi-news-form label{color:#3f4442;font-weight:600}
.rail-newsletter .fi-news-form label{color:#3f4442;font-weight:600}
.home-dispatch .fi-news-form .fi-news-email::placeholder{color:#a9a29a}
.rail-newsletter .rail-label{color:#e8c98a}
.footer .footer__identity::before{width:120px;height:124px;opacity:.5}
.arc-card h2 a{text-decoration:none}
.arc-card h2 a:hover{text-decoration:underline;text-underline-offset:3px}
.arc-card__byline a{text-decoration:none}
.arc-card__byline a:hover{text-decoration:underline}
.hero .action-row .text-link,.section-intro__body .text-link,.section-heading .text-link{font-family:"DM Sans",sans-serif;font-size:15px;font-weight:600;letter-spacing:.01em}
/* FD pre-launch polish: documentary hero, signature file strip, method panel, watch blocks, cards, focus. */
.article-hero__media{margin:26px 0 0;border-top:3px solid #c99550;background:#14110e}
.article-hero__media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.article-hero__media figcaption{padding:10px 14px;border-top:1px solid rgb(201 149 80 / .34);color:#d8a55f;background:#14110e}
.article-file-strip--interview{border-top:3px solid #c99550}
.article-file-strip--interview dt{font-family:"IBM Plex Mono",Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a5d25}
.fi-method-panel{margin:28px 0;padding:20px 22px;border:1px solid rgb(201 149 80 / .5);border-left:4px solid #c99550;background:linear-gradient(135deg,rgb(201 149 80 / .10),transparent)}
.fi-method-panel ul{margin:10px 0 0;padding-left:20px}
.article-hero__media--compact img{aspect-ratio:21/9;max-height:340px}
.fi-evidence-file{margin:28px 0;padding:20px 22px;border:1px solid rgb(201 149 80 / .5);border-left:4px solid #8a5d25;background:#14110e;color:#f5f1e8}
.fi-evidence-file dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0;padding:0}
.fi-evidence-file dt{font-family:"IBM Plex Mono",Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#d8a55f}
.fi-evidence-file dd{margin:4px 0 0}
.fi-evidence-file ul{margin:12px 0 0;padding-left:20px}
.fi-evidence-file a{color:#f5c56d}
@media(max-width:640px){.fi-evidence-file dl{grid-template-columns:minmax(0,1fr)}}
.arc-head__watch{margin-top:18px;padding:14px 16px;border:1px dashed rgb(201 149 80 / .55);background:rgb(201 149 80 / .07)}
.arc-card__format{display:inline-block;margin:0 0 8px;padding:3px 8px;border:1px solid rgb(201 149 80 / .5);color:#8a5d25;font:700 10px/1.5 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}
.arc-card__media img{aspect-ratio:16/9;object-fit:cover}
.arc-card h2 a:focus-visible,.fi-404__desks a:focus-visible,.primary-nav a:focus-visible,.nav-group summary:focus-visible{outline:2px solid #c99550;outline-offset:3px}
.fi-404__desks{list-style:none;margin:16px 0;padding:0;display:grid;gap:8px}
.fi-404__search{max-width:560px;margin:16px 0}
.fi-author-head{display:grid;grid-template-columns:88px minmax(0,1fr);gap:24px;align-items:center}
.fi-privacy-reopen{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
.service-pitch__independence,.fi-intent-cta__independence{font-size:12px;color:#8a7a63}
.fi-page-subhead{font-size:20px;line-height:1.5;color:#4e4942}
.fi-casefile-count{font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.02em}
@media(max-width:480px){.fi-author-head{grid-template-columns:1fr}}
:root{--fi-brand-name:"The Factory Dossier"}html{scroll-behavior:smooth}body{margin:0}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;margin:0;padding:12px 16px;z-index:100000;background:#fff;color:#111}.fi-reconstructed-baseline img{max-width:100%;height:auto}.fi-reconstructed-baseline .entry-content>div.entry-content{display:contents}.fi-form-card .fi-honeypot{position:absolute!important;left:-9999px!important}.fi-form-notice{padding:12px 14px;border:1px solid currentColor;margin:0 0 16px}.fi-form-notice--success{background:#eef5eb}.fi-form-notice--error{background:#fff0ec}.fi-reconstruction-search{max-width:1240px;margin:0 auto;padding:48px 24px}.fi-empty{padding:48px 0;font-family:"DM Sans",sans-serif}.article-toc a[aria-current="true"]{font-weight:700}.menu-toggle[aria-expanded="true"]+.site-menu{display:block}@media(max-width:900px){.site-menu:not(.is-open){display:none}.site-menu.is-open{display:block}}
.fi-honey{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.article-layout-shell{display:contents}.fi-reconstructed-form label{display:grid;gap:6px}.fi-reconstructed-form input,.fi-reconstructed-form select,.fi-reconstructed-form textarea{font:inherit}.fi-reconstructed-form textarea{min-height:150px}.fi-consent[hidden]{display:none!important}@media(max-width:720px){.article-layout-shell{display:contents}}
@media(max-width:720px){.single-post .entry-content .fi-table-scroll{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.single-post .entry-content .fi-table-scroll>table{display:table!important;max-width:none!important;overflow:visible!important}.single-post .entry-content pre,.single-post .entry-content code{max-width:100%;overflow-wrap:anywhere}}
.fi-table-scroll{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.fi-table-scroll>table{margin-inline:0}
/* D1 2026-10-04: tablet/small-desktop hero band (min floors 480+410+gap overflow content ~901-1150px). Flexible columns only in that band; desktop floors above, existing 1fr stack at <=900px untouched. */
@media(max-width:1150px) and (min-width:901px){.fi-core-pages-v1 .fi-page-hero.fi-core-visualized,.fi-core-pages-v1 .fi-hub-lede.fi-core-visualized{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;}}
/* H2 remediation 2026-10-04: contact hero subhead+intro shared grid-row 3 (overlap) -> explicit rows; sidebar/industry grids used bare fr minimums (auto minimum overflow) -> minmax(0,..); recovered rule hides approved 404 (expects .fi-empty-state) -> restore. No overflow hiding, no redesign. */
.fi-contact-page .fi-page-hero.fi-core-visualized>p.fi-page-subhead{grid-row:3!important;}
.fi-contact-page .fi-page-hero.fi-core-visualized>p:not(.fi-page-kicker):not(.fi-page-subhead){grid-row:4!important;}
@media (max-width:900px){.fi-contact-sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}}
@media (max-width:640px){.fi-contact-sidebar{grid-template-columns:minmax(0,1fr)!important;}}
@media (max-width:1180px){.nav-group.nav-group--industries .nav-group__panel--industries .nav-industries__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}.nav-group.nav-group--industries .nav-group__panel--industries a.nav-industry>*{min-width:0!important;}}
body.error404 .site-main>.fi-basic-page.fi-404{display:block!important;}
/* N1 2026-10-04: homepage bridge CTA max-content (~318px) defeats the existing width:100% via min-width:auto up the chain. min-width:0 down the chain + capped full-width button, mobile band only. */
@media (max-width:900px){.investigation-bridge__grid>*{min-width:0!important;}.investigation-bridge .button{width:100%!important;max-width:100%!important;min-width:0!important;}.homepage-owner-review .investigation-bridge__grid{grid-template-columns:minmax(0,1fr)!important;}}
/* Final visual audit: a reserved scrollbar can leave less than 320px of usable
   space. Preserve the fluid shell and prevent the mobile article track from
   growing to the intrinsic width of its reading tools or long title. */
body.fi-reconstructed-baseline{min-width:0;}
@media(max-width:720px){body.single-post .site-main,body.single-post .article-rail,body.single-post .reading-tools-card{grid-template-columns:minmax(0,1fr);}}
@media(max-width:480px){.homepage-owner-review .menu-toggle{min-width:44px;}}

/* Preserve the original SVG aspect ratios inside the unchanged branding boxes. */
.masthead .brand--logo .brand__logo,.footer__brand img,.article-author > img,.fi-author-head__avatar{object-fit:contain}

/* FD final seal: preserve the approved square placements exactly. The
   475x486 master is letterboxed inside them; it is never stretched or cropped. */
.footer__brand img{width:40px;height:40px}
main img.fi-author-head__avatar{width:88px;height:88px}
.article-author > img{width:88px;height:88px}
@media (max-width:480px){.article-author > img{width:72px;height:72px}}

/* FAQ affordance v1.0.1 (2026-11-01): shared renderer owns decoration.
   No inline SVG/HTML duplication is required from a writing prompt. */
.entry-content button.faq-q::after{content:"";display:block;flex:0 0 .5rem;width:.5rem;height:.5rem;margin-inline-start:auto;margin-inline-end:.15rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform 180ms ease;pointer-events:none}
.entry-content button.faq-q[aria-expanded="true"]::after{transform:rotate(225deg)}
.entry-content button.faq-q>svg{display:none}
@media(prefers-reduced-motion:reduce){.entry-content button.faq-q::after{transition:none}}

/* Mobile article headline v1.0.2 (2026-11-01): fit long words without
   changing title prose, desktop typography or core-page/navigation fonts. */
@media(max-width:480px){body.single-post .site-main .article-hero h1.entry-title,body.single-post.fd-interview .site-main .article-hero--interview h1.entry-title{font-size:clamp(24px,8vw,34px)}}
