/* Site shell: one header/footer appearance for every reader route, derived from the top page.
   Specificity intentionally matches the existing .wl-* rules so the final responsive layer still wins. */
.wl-header,.wl-footer{--sh-ink:#142c3d;--sh-gold:#a68b52;--sh-paper:#fffefa;--sh-line:#dedbd2;--sh-muted:#5f6b74;--sh-serif:'Shared Serif','Yu Mincho',serif;--sh-sans:'Yu Gothic',Meiryo,sans-serif;--sh-width:1160px;--sh-gutter:32px;--line:#dedbd2;--paper:#fffefa;--gold:#a68b52;font-family:var(--sh-sans);color:var(--sh-ink);letter-spacing:normal}
.wl-header a,.wl-footer a{color:inherit;text-decoration:none}
.wl-header{position:relative;z-index:20;background:var(--sh-paper);border-bottom:1px solid var(--sh-line);padding:0;margin:0}
.wl-header-inner,.wl-footer-inner{width:min(var(--sh-width),calc(100% - 2 * var(--sh-gutter)));margin-inline:auto;padding:0}
.wl-header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.wl-brand{display:flex;align-items:center;gap:12px;font:400 20px/1.5 var(--sh-serif);white-space:nowrap;letter-spacing:.06em}
.wl-brand svg{width:36px;height:40px;fill:none;stroke:var(--sh-gold);stroke-width:1.5;flex:none}
.wl-brand small{display:block;font:400 12px/1.7 var(--sh-sans);letter-spacing:.07em;margin-top:4px}
.wl-header nav{display:flex;gap:26px;align-items:center;font-size:12px;font-weight:400;line-height:1.9}
.wl-header nav>a[aria-current]:not(.wl-contact),.wl-footer nav>a[aria-current]:not(.wl-contact){text-decoration:underline;text-decoration-color:var(--sh-gold);text-decoration-thickness:1px;text-underline-offset:8px}
.wl-contact{display:inline-block;padding:12px 18px;border:1px solid var(--sh-gold);background:transparent;font-weight:400;line-height:1.9}
.wl-contact[aria-current]{background:rgba(166,139,82,.1)}
.wl-header .wl-contact:hover,.wl-footer .wl-contact:hover{background:rgba(166,139,82,.12)}
.wl-menu{display:none;background:none;border:1px solid var(--sh-line);padding:8px 12px;font:400 12px/1.5 var(--sh-sans);color:var(--sh-ink);letter-spacing:normal}
.wl-footer{padding:44px 0 24px;background:var(--sh-paper);border:0}
.wl-footer-top{display:flex;justify-content:space-between;align-items:center;gap:32px}
.wl-footer nav{display:flex;gap:20px;font-size:12px;flex-wrap:wrap;align-items:center;justify-content:flex-end;line-height:1.9}
.wl-copyright{margin:32px 0 0;padding-top:20px;border-top:1px solid var(--sh-line);font-size:12px;line-height:1.7;color:var(--sh-muted)}
@media(max-width:1100px){.wl-header nav{gap:14px}.wl-header nav .wl-contact{display:inline-block;padding:10px 14px}}
@media(max-width:800px){.wl-header-inner{min-height:80px}.wl-menu{display:block}.wl-header nav{display:none}.wl-header nav.is-open{display:flex;flex-direction:column;align-items:stretch}.wl-header nav .wl-contact{display:block}.wl-footer-top{flex-direction:column;align-items:flex-start}.wl-footer nav{justify-content:flex-start}.wl-brand{font-size:18px;gap:8px}.wl-brand svg{width:30px}}
@media(max-width:540px){.wl-header,.wl-footer{--sh-gutter:24px}.wl-brand{font-size:17px}.wl-brand svg{width:25px}.wl-footer nav{gap:16px}}

/* Top key visual: H3 motion over the existing still, shaded exactly like the still. */
.pilot-home .hero{position:relative;isolation:isolate;overflow:hidden}
.pilot-home .hero>.hero-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none;background:#030f1d}
.pilot-home .hero:has(>.hero-motion)::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(3,15,29,.4),rgba(3,15,29,0) 65%)}
@media(max-width:540px){.pilot-home .hero>.hero-motion{object-position:58% center}.pilot-home .hero:has(>.hero-motion)::before{background:linear-gradient(90deg,rgba(3,15,29,.88),rgba(3,15,29,.5))}}
@media(prefers-reduced-motion:reduce){.pilot-home .hero>.hero-motion{display:none}.pilot-home .hero::before{content:none}}

/* Closing consultation band: generic routes follow the top page .cta composition.
   Case pages with their own photographic closing band (data-case-polish="primary", finance/medical designs) keep it. */
body:not([data-case-polish="primary"]) .restored-copy .contact-band{background:#122b3d radial-gradient(ellipse at 85% 130%,#3a5264,transparent 60%);color:#fff;text-align:center;padding:64px 32px}
body:not([data-case-polish="primary"]) .restored-copy .contact-band .container{display:block;width:min(1160px,100%);margin-inline:auto}
body:not([data-case-polish="primary"]) .restored-copy .contact-band .container>h2{max-width:none;margin:10px 0 18px;padding:0;border:0;color:#fff}
body:not([data-case-polish="primary"]) .restored-copy .contact-band .container>p:not(.eyebrow){margin:0 auto;font-size:16px;line-height:1.9;color:#d7dfe3}
body:not([data-case-polish="primary"]) .restored-copy .contact-band .button{display:inline-flex;justify-content:center;margin-top:28px;min-width:260px;background:#c2a565;color:#122b3d;border:1px solid #d6bd84}
.cta .eyebrow,body:not([data-case-polish="primary"]) .restored-copy .contact-band .eyebrow{color:#c2a468}
/* Blog article pages use a standalone .contact-band directly under <main>: same top-page composition. */
main>section.contact-band{background:#122b3d radial-gradient(ellipse at 85% 130%,#3a5264,transparent 60%);color:#fff;text-align:center;padding:64px 32px}
main>section.contact-band .contact-band-inner{display:block;width:min(1160px,100%);margin-inline:auto}
main>section.contact-band h2{max-width:none;margin:10px 0 18px;color:#fff}
main>section.contact-band .contact-band-inner p:not(.eyebrow){margin:0 auto;font-size:16px;line-height:1.9;color:#d7dfe3}
main>section.contact-band .eyebrow{color:#c2a468}
main>section.contact-band .button{display:inline-flex;justify-content:center;margin-top:28px;min-width:260px;background:#c2a565;color:#122b3d;border:1px solid #d6bd84}
@media(max-width:540px){main>section.contact-band{padding:46px 22px}main>section.contact-band h2{font-size:26px}}
@media(max-width:540px){body:not([data-case-polish="primary"]) .restored-copy .contact-band{padding:46px 22px}body:not([data-case-polish="primary"]) .restored-copy .contact-band .container>h2{font-size:26px}}

/* Readability fixes found in the 2026-10-15 review. */
.restored-copy .page-intro p:not(.eyebrow){color:#c9d3da}
.restored-copy .page-intro .eyebrow{color:#c2a468}
.pilot-home .section .eyebrow,.pilot-home .tag{color:#7d6331}
main .eyebrow{color:#7d6331}
[data-page-layout="services"] .copy-section>.container>article>span,[data-page-layout="services"] .copy-section>.container>h2+div b{color:#8c6d32}
.restored-copy .owner-note{color:#5f6b74}
[data-case-polish="primary"] :is(#purpose,#technology) .section-heading small{color:#7d6331}
[data-case-polish="primary"] :is(#output,#process) .section-heading small{color:#cdb178}
.pilot-medical .mc-flow-goal{color:#6f582b}
.pilot-medical .mc-architecture :is(.mc-inputs,.mc-outputs) small{color:#56626b}
.pilot-medical .mc-localnav a,.pilot-medical .mc-flow .mc-step,.pilot-medical .mc-compare article:not(.mc-before) .mc-comparison-copy h2{color:#6f582b}
.fv .fv-section:not(#engineering) .fv-eyebrow,.fv .fv-section:not(#engineering) .fv-heading h2>span,.fv .fv-section:not(#engineering) .fv-flow>b,.fv .fv-section:not(#engineering) .fv-flow>span{color:#7d6331}
.pilot-home .wl-partner-note{color:var(--sh-muted,#5f6b74)}
.case-card>.copy-diagram-media,.case-card>.subject-art,.case-card>.case-card-copy{align-self:stretch;width:auto}
main :is(h1,h2,h3,p,li,dt,dd,span,a){word-break:auto-phrase}
