/* APInfoSec 3.0.2-rc.1 — Midnight. Loaded after the legacy export styles. */
@font-face{font-family:APInterface;src:url('/_next/static/media/e4af272ccee01ff0-s.p.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root,html[data-theme="dark"]{
 --midnight:#081222;--surface:#101f34;--surface-raised:#14263e;--text:#edf3fc;--quiet:#a5b6cd;--accent:#8bc5ff;--hairline:#2d405b;--control-line:#617d9f;
 --green:#75d8b3;--amber:#f0c177;--red:#ff95a4;--deep:#060f1c;
 color-scheme:dark;
}
html[data-theme="light"]{
 --midnight:#edf2f8;--surface:#f9fbfe;--surface-raised:#e3ebf5;--text:#13243e;--quiet:#4b607b;--accent:#245888;--hairline:#bccbdd;--control-line:#6b819c;
 --green:#176a50;--amber:#805112;--red:#9d324e;--deep:#e3ebf5;color-scheme:light;
}
:root,html[data-theme="dark"],html[data-theme="light"]{
 --font-interface:APInterface,Inter,system-ui,sans-serif;--font-editorial:APInterface,Inter,system-ui,sans-serif;
 --ivory:var(--midnight);--ivory-deep:var(--deep);--paper:var(--surface);--ink:var(--text);--navy:var(--accent);--burgundy:var(--accent);--muted:var(--quiet);--line:var(--hairline);--white:var(--surface);
 --ap3-ivory:var(--midnight);--ap3-paper:var(--surface);--ap3-ink:var(--text);--ap3-navy:var(--accent);--ap3-burgundy:var(--accent);--ap3-teal:var(--accent);--ap3-line:var(--hairline);--ap3-muted:var(--quiet);
 --ap3-dark:#081222;--ap3-panel:#101f34;--ap3-panel-line:#2d405b;--ap3-dark-text:#edf3fc;--ap3-dark-muted:#a5b6cd;--ap3-radius:.65rem;--ap3-shadow:none;
 --lisa-ink-950:var(--midnight);--lisa-panel-900:var(--surface);--lisa-panel-blue:var(--surface-raised);--lisa-cyan:var(--accent);--lisa-cyan-bright:var(--accent);--lisa-blue:var(--accent);--lisa-amber:var(--amber);--lisa-red:var(--red);--lisa-green:var(--green);
 --tooltip-background:var(--surface-raised);--tooltip-foreground:var(--text);--tooltip-border:var(--control-line);
}
html,body{background:var(--midnight);color:var(--text);font-family:var(--font-interface);}
body{font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.brand,.admin-brand,.now-metric-value,.now-pulse-value{font-family:var(--font-interface)!important;letter-spacing:-.045em}
h1{font-weight:520;line-height:1.05;text-wrap:balance}
h2{font-weight:540;line-height:1.16;text-wrap:balance}
h3,h4{letter-spacing:-.025em}
p{color:var(--quiet)}
a{color:inherit}a:hover{color:var(--accent)}
::selection{background:var(--accent);color:var(--midnight)}
.shell{width:min(1240px,calc(100% - 4rem))}
.site-header{background:color-mix(in srgb,var(--midnight) 94%,transparent)!important;border-bottom:1px solid var(--hairline);box-shadow:none!important;backdrop-filter:blur(16px)}
.header-inner{min-height:5rem}
.header-rule{display:none}
.brand{font-size:1.2rem;font-weight:650;letter-spacing:-.035em;display:inline-flex;gap:.7rem;align-items:center}
.brand::before{content:"";width:2.1rem;height:2.1rem;flex:none;background:url('/brand/ap-midnight.svg') center/contain no-repeat}
.desktop-nav a,.mobile-nav a{font-size:.87rem;font-weight:500}
.hero{padding-block:6rem 5rem;gap:4rem;align-items:center}
.hero h1{font-size:clamp(2.8rem,5.6vw,5.2rem);max-width:13ch}
.hero-line{display:block}
.hero-line em,.hero h1 em{font-family:inherit;font-style:normal;color:var(--accent)}
.hero-lead{font-size:1.05rem;line-height:1.8;max-width:45ch}
.eyebrow,.section-kicker{color:var(--accent);font-size:.69rem;letter-spacing:.17em;font-weight:650;text-transform:uppercase}
.section{padding-block:5rem}.section-heading h2{font-size:clamp(2rem,3.6vw,3.5rem)}
.section-tinted,.focus-strip{background:transparent;border-block:1px solid var(--hairline)}
.focus-strip{padding-block:1.4rem;color:var(--quiet)}
.hero-monogram,.monogram-frame{background:none!important;box-shadow:none!important;border:0!important}
.hero-monogram::before,.hero-monogram::after,.monogram-frame::before,.monogram-frame::after{display:none!important}
.hero-monogram img{width:100%;height:auto;filter:none!important;opacity:1!important}

.hero-monogram figcaption{font-size:.65rem;letter-spacing:.1em;color:var(--quiet);text-align:center}
.button,button,input,select,textarea{font-family:var(--font-interface)}
.button,button{border-radius:.4rem;letter-spacing:0}
.button-primary,.live-tool-banner .button{background:var(--accent)!important;color:var(--midnight)!important;border-color:var(--accent)!important;font-weight:650;box-shadow:none!important}
.button-outline{border-color:var(--control-line);color:var(--text);background:transparent}
.text-link{color:var(--accent)}
input,select,textarea{background:var(--surface)!important;color:var(--text)!important;border-color:var(--control-line)!important;accent-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--quiet);opacity:1}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.theme-toggle{background:var(--surface);border-color:var(--control-line);color:var(--text)}
.theme-toggle-option{color:var(--quiet)}
.theme-toggle[data-active-theme="dark"] .theme-toggle-dark,.theme-toggle[data-active-theme="light"] .theme-toggle-light{background:var(--accent);color:var(--midnight);box-shadow:none}
.pillar-card,.publication-card,.now-metric,.now-panel,.analytics-summary article,.driver-card,.institutional-target-card,.institutional-summary-card,.method-definition-grid article,.feed-event,.timeline-event{
 background:var(--surface)!important;border-color:var(--hairline)!important;box-shadow:none!important;border-radius:.65rem;
}
.pillar-card,.publication-card{padding:2rem;border-top:1px solid var(--hairline)}
.pillar-card .index{font-family:var(--font-interface);font-size:.75rem;color:var(--accent)}
.live-tool-banner{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--hairline);box-shadow:none!important;border-radius:.65rem;padding:2rem 2.5rem}
.live-tool-banner h2,.live-tool-banner h3{color:var(--text)}
.live-tool-banner p{color:var(--quiet)}
.prose-large,.method-statement{font-family:var(--font-interface);line-height:1.55;letter-spacing:-.025em}
.site-footer{background:var(--deep);border-top:1px solid var(--hairline);color:var(--quiet)}
.site-footer h2,.site-footer h3,.site-footer strong{color:var(--text)}
.reveal{opacity:1!important;transform:none!important}
.now-page,.lisa-main,.analytics-page,.institutional-dashboard,.geopolitical-page{background:var(--midnight)!important;color:var(--text)}
.now-page .now-hero h1,.analytics-page h1{font-size:clamp(2rem,4vw,3.6rem)}
.lisa-dashboard-sidebar,.lisa-sidebar-sticky,.lisa-sidebar-panel{background:var(--surface)!important;border-color:var(--hairline)!important}
.lisa-nav-module.is-current>.lisa-nav-module-link,.now-tool-nav a[aria-current],.lisa-sidebar-link[aria-current]{background:var(--surface-raised)!important;color:var(--accent)!important;box-shadow:none!important}
.now-pulse-card,.now-card,.cf-card,.global-coverage,.now-event-card{border-color:var(--hairline)!important;box-shadow:none!important}
.now-page .now-expanded,.now-page .lisa-expanded{background:var(--surface)!important;color:var(--text)!important}
.now-panel-title p,.now-metric-label,.now-metric-note,.cf-chart-axis,.analytics-note,.trend-axis{color:var(--quiet);fill:var(--quiet)}
.now-page .now-sparkline,.cf-series,.trend-line{color:var(--accent);stroke:var(--accent)}
.trend-point{fill:var(--accent)}.trend-grid,.cf-zero{stroke:var(--hairline)}
body.admin-app{background:var(--midnight)!important;color:var(--text)!important}
body.admin-app .admin-header,body.admin-app .admin-nav{background:var(--deep)!important;border-color:var(--hairline)!important}
body.admin-app .admin-brand,body.admin-app h1,body.admin-app h2,body.admin-app h3{color:var(--text)!important}
body.admin-app .admin-card,body.admin-app .admin-panel,body.admin-app .admin-stat,body.admin-app .admin-table-wrap{background:var(--surface)!important;border-color:var(--hairline)!important;box-shadow:none!important}
body.admin-app p,body.admin-app small,body.admin-app .muted{color:var(--quiet)!important}
body.admin-app .admin-nav a[aria-current="page"]{background:var(--surface-raised)!important;color:var(--accent)!important;border-color:var(--accent)!important}
body.admin-app table,body.admin-app th,body.admin-app td{border-color:var(--hairline)!important}
body.admin-app .danger,body.admin-app .button-danger,body.admin-app button[name="delete"]{color:var(--red)!important;border-color:var(--red)!important}
.awareness-page{background:var(--midnight)!important;color:var(--text)}
@media(min-width:1500px){.hero{padding-block:7.5rem 6rem}}
@media(max-width:900px){.shell{width:calc(100% - 2.4rem)}.hero{padding-block:3.5rem;gap:2rem}.hero h1{font-size:clamp(2.7rem,8vw,4rem)}.hero-monogram{max-width:24rem;margin-inline:auto}.section{padding-block:3.5rem}.live-tool-banner{padding:1.5rem}}
@media(max-width:480px){.shell{width:calc(100% - 1.8rem)}.brand{font-size:1.05rem}.brand::before{width:1.7rem;height:1.7rem}.header-inner{min-height:4.3rem}.hero{padding-block:2.5rem}.hero h1{font-size:2.7rem}.hero-monogram{max-width:19rem}.pillar-card,.publication-card{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* rc.2 — defects reproduced in the deployed rc.1, 30 October 2026. */
.page-intro h1,.analytics-heading h1,.compliance-heading h1{font-size:clamp(2.4rem,4.7vw,4.25rem);line-height:1.08;letter-spacing:-.045em}
.page-intro{padding-block:clamp(3rem,5.5vw,5rem);min-height:0}
.analytics-heading{padding-block:clamp(2.5rem,4.5vw,4rem) 2.25rem}
.hero::before,.hero::after,.live-tool-banner::after{display:none!important}
.hero .hero-visual.hero-monogram{width:min(100%,30rem);max-width:30rem;min-width:0;margin:0;justify-self:center}
.hero .monogram-frame.ap-identity-stage{display:grid;place-items:center;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1;overflow:visible!important;position:relative}
.hero .ap-identity-stage img{grid-area:1/1;display:block;width:100%;height:auto!important;aspect-ratio:1;object-fit:contain;content:normal!important}
.hero .ap-identity-stage .ap-logo-light{display:none}
html[data-theme="light"] .hero .ap-identity-stage .ap-logo-dark{display:none}
html[data-theme="light"] .hero .ap-identity-stage .ap-logo-light{display:block}
.hero-monogram figcaption{font-family:var(--font-interface);font-size:.72rem;letter-spacing:.035em;line-height:1.55;max-width:36ch;margin:1rem auto 0}
.site-footer,.site-footer .footer-grid,.site-footer .footer-brand,.site-footer a{color:var(--text)!important}
.site-footer p,.site-footer .legal-row,.site-footer .legal-links a{color:var(--quiet)!important}
.site-footer a:hover,.site-footer .legal-links a:hover{color:var(--accent)!important}
.now-page .dashboard-scope-control button.is-active,
html[data-theme="dark"] .now-page .dashboard-scope-control button.is-active,
html[data-theme="light"] .now-page .dashboard-scope-control button.is-active{background:var(--accent)!important;color:var(--midnight)!important;border-color:var(--accent)!important;box-shadow:none!important}
.now-page .now-heading{min-height:0!important;padding-block:2rem 1.5rem;gap:1.5rem}
.now-page .lisa-dashboard-layout{padding-top:1.25rem}
.now-page .now-pulse-copy>strong,.now-page .now-gauge strong,.analytics-summary strong,.driver-card span,.institutional-summary-card strong{font-family:var(--font-interface)!important;font-variant-numeric:tabular-nums}
.now-page .analyst-pulse,.now-page .analyst-metric,.analytics-summary article,.analytics-controls,.analytics-panel{box-shadow:none!important;border:1px solid var(--hairline);border-radius:.65rem;background:var(--surface)}
.analytics-controls{grid-template-columns:minmax(12rem,.7fr) minmax(0,1.8fr);gap:1.5rem}
.analytics-controls h2{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.2}
.analytics-panel h2{font-size:clamp(1.4rem,2.1vw,1.85rem);line-height:1.2}
.analytics-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;border:0;background:none}
#analytics-form button,.evidence-filters button{background:var(--accent);color:var(--midnight);border-color:var(--accent);border-radius:.35rem}
.lisa-dashboard-sidebar :is(a,p,small){font-size:max(.74rem,12px)}
.lisa-dashboard-sidebar .lisa-nav-group-label{font-size:.67rem;line-height:1.6}
.now-page :is(.institutional-summary,.now-window,.now-updated small){line-height:1.6}
main [id]{scroll-margin-top:7rem}
@media(max-width:1050px){.analytics-controls{grid-template-columns:1fr}.analytics-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.hero .hero-visual.hero-monogram{max-width:25rem}.now-page .now-heading{align-items:flex-start;min-height:0!important;padding-block:1.5rem}.now-page .now-updated{max-width:100%}}
@media(max-width:640px){.analytics-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.page-intro h1,.analytics-heading h1{font-size:clamp(2.25rem,9vw,3rem)}.page-intro{padding-block:2.5rem}.analytics-panel>header{align-items:flex-start;flex-wrap:wrap}.hero .hero-visual.hero-monogram{max-width:23rem}}
@media(max-width:480px){.analytics-summary{grid-template-columns:1fr}.hero .hero-visual.hero-monogram{max-width:21rem}.hero h1{font-size:clamp(2.3rem,10vw,2.8rem)}.header-inner{gap:.6rem}.theme-toggle{min-width:4rem}}
/* One type scale also covers standalone Compliance, Awareness and PHP pages. */
body main h1{font-size:clamp(2.15rem,4.2vw,3.5rem)!important;line-height:1.08!important;letter-spacing:-.045em!important}
body main h1 :is(span,em,strong){font-size:inherit!important;line-height:inherit!important;font-family:inherit!important}
body main .hero h1{font-size:clamp(2.4rem,4.8vw,4rem)!important}
body main h2{font-size:clamp(1.5rem,2.5vw,2.1rem)!important;line-height:1.2}
:is(.now-page,.analytics-page,.institutional-dashboard-page,.geopolitical-page) h2{font-size:clamp(1.2rem,1.8vw,1.55rem)!important;line-height:1.25}
body main .now-heading h1{font-size:clamp(1.85rem,2.8vw,2.3rem)!important}
body.admin-app main h1{font-size:clamp(1.9rem,3vw,2.5rem)!important}
body.admin-app main h2{font-size:clamp(1.4rem,2vw,1.6rem)!important}
body main :is(.compliance-hero,.compliance-dashboard-hero,.compliance-timeline-hero,.event-timeline-heading,.compliance-heading,.timeline-hero,.awareness-hero){min-height:0;padding-block:clamp(2.5rem,5vw,4.5rem)}
@media(max-width:640px){body main h1{font-size:clamp(2rem,8.5vw,2.65rem)!important}body main .hero h1{font-size:clamp(2.3rem,9.5vw,2.9rem)!important}body main h2{font-size:clamp(1.4rem,6vw,1.8rem)}body main .now-heading h1{font-size:1.9rem!important}}
