/* ==========================================================================
   "Signal to Sense" type layer for netaphor.com (loads after the themes).
   The fleet speaks in IBM Plex Mono (labels, numbers), the interface in
   IBM Plex Sans, and people in IBM Plex Serif (headings). Fonts are served
   from /assets/fonts (SIL Open Font License); no outside requests.
   Colors live in theme-light.css (Mostly white) and theme-noir.css (Blue).
   ========================================================================== */
@font-face{font-family:"Plex Sans";src:url(/assets/fonts/IBMPlexSans-Regular-Latin1.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Sans";src:url(/assets/fonts/IBMPlexSans-Italic-Latin1.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Plex Sans";src:url(/assets/fonts/IBMPlexSans-Medium-Latin1.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Sans";src:url(/assets/fonts/IBMPlexSans-SemiBold-Latin1.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Sans";src:url(/assets/fonts/IBMPlexSans-Bold-Latin1.woff2) format("woff2");font-weight:700 900;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Serif";src:url(/assets/fonts/IBMPlexSerif-Medium-Latin1.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Serif";src:url(/assets/fonts/IBMPlexSerif-MediumItalic-Latin1.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Plex Serif";src:url(/assets/fonts/IBMPlexSerif-SemiBold-Latin1.woff2) format("woff2");font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Serif";src:url(/assets/fonts/IBMPlexSerif-SemiBoldItalic-Latin1.woff2) format("woff2");font-weight:600 900;font-style:italic;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/assets/fonts/IBMPlexMono-Regular-Latin1.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/assets/fonts/IBMPlexMono-Medium-Latin1.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/assets/fonts/IBMPlexMono-SemiBold-Latin1.woff2) format("woff2");font-weight:600 900;font-display:swap}

html:root, html:root body{
  --font-body:"Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-heading:"Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --font-display:"Plex Serif",Georgia,"Times New Roman",serif;
  --font-mono:"Plex Mono",Consolas,"Courier New",monospace;
  --sig-amber:#e09f44; --sig-amber-ink:#8a5a12; --sig-warm:#fbeedb; --sig-band:#f7f3ea;
}
html[data-theme="noir"]:root, html[data-theme="noir"]:root body{ --sig-amber:#f0b65e; --sig-amber-ink:#f0c57f; --sig-warm:#3a3020; --sig-band:#152846; }
html body{font-family:var(--font-body);font-feature-settings:"kern","liga"}
html body :is(h1,h2){font-family:var(--font-display);font-weight:600;letter-spacing:-.012em}
html body h3{font-family:var(--font-body);font-weight:600}
html body :is(code,kbd,pre,samp){font-family:var(--font-mono)}
/* The machine voice: small labels above headings */
html body :is(.story-kicker,.section-label,.page-context){font-family:var(--font-mono);font-weight:500;letter-spacing:.08em}
html body :is(.story-kicker,.section-label){text-transform:uppercase;font-size:13px;color:var(--sig-amber-ink)}
html body .page-context{font-size:12.5px;text-transform:uppercase}
/* Warm light behind the opening of each page */
html[data-theme="light"] body :is(.story-hero,.page-hero,.hero){background-image:radial-gradient(ellipse 55% 70% at 85% 35%,var(--sig-warm),transparent 70%)}
/* Rhythm: alternate sections sit on a warm band in light mode */
html[data-theme="light"] body :is(.story-section--light,.section--light,.bg-light-alt){background-color:var(--sig-band)}
/* Pill buttons, like the support site */
html body :is(.btn,.button){border-radius:999px}
/* Photographs placed in page sections (images/photos) */
html body .sig-photo{margin:28px 0 8px;border-radius:16px;overflow:hidden;box-shadow:0 20px 40px -24px rgba(19,37,59,.45);background:var(--sig-band)}
html body .sig-photo img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}
html body .sig-photo--wide{max-width:1000px;margin:28px auto 36px}
html body .card>.sig-photo--card:first-child{margin:-32px -32px 20px;border-radius:12px 12px 0 0;box-shadow:none}
html body .sig-photo--card img{aspect-ratio:3/2}
@media (max-width:640px){html body .sig-photo img{aspect-ratio:3/2}}
/* Partners: the Global Partner Network infographic carries its own panels, so the frame around it steps back */
html body .partner-network-card:has(.partner-network-img){background:transparent;border:0;box-shadow:none;overflow:visible;max-width:1100px;margin:0 auto}
/* Dark theme: sections that were built as "light" panels keep light text (Newsroom, Whitepapers, legal pages...) */
html[data-theme="noir"] body :is(.section--light,.story-section--light,.bg-light,.bg-light-alt){--color-text-primary:#f1f5fb;--color-text-secondary:#c3d0e3;--color-text-muted:#a3b5ce;--color-border-subtle:rgba(255,255,255,.12);--color-border-medium:rgba(255,255,255,.22)}
/* Newsroom: each release is a readable row with its date */
html body .news-list a{color:var(--color-text-primary)}
html body .news-list a:hover{color:var(--color-accent-400)}
/* Home: the DCA architecture drawing sits on a white sheet in both themes (its title text is dark) */
html body .dca-arch{margin:0;background:#ffffff;border-radius:20px;padding:10px;box-shadow:0 24px 50px -24px rgba(6,13,26,.55)}
html body .dca-arch img{display:block;width:100%;height:auto;background:#ffffff !important;box-shadow:none !important;border:0 !important;border-radius:12px}
/* Contact: "A few reference points" cards, readable in both themes */
html body .ref-card{text-align:center;padding:24px;border-radius:16px;background:#ffffff;border:1px solid rgba(19,37,59,.12);box-shadow:0 12px 28px -18px rgba(19,37,59,.35)}
html[data-theme="noir"] body .ref-card{background:#22395f;border-color:rgba(255,255,255,.12);box-shadow:none}
/* ---------- Readability fixes found by a contrast sweep of the footer pages ---------- */
html[data-theme="noir"] body .skip-link{background:#5cc6de !important;color:#06202a !important}
/* Links inside "light" sections, in dark mode */
html[data-theme="noir"] body :where(.section--light,.story-section--light,.bg-light,.bg-light-alt,.article-page,.legal-document) a:not(.btn):not(.lang-link){color:#8bd8ea}
/* Partner Program: the "Already a partner?" box and the inquiry form follow the theme */
html body .partner-already-box{margin-top:32px;padding:24px;border-radius:14px;background:#f7f3ea;border:1px solid #e2ded5}
html body .partner-already-box h3{font-size:1.125rem;color:#13253b;margin:0 0 8px}
html body .partner-already-box p{font-size:.95rem;color:#3e5066;margin:0 0 16px}
html[data-theme="noir"] body .partner-already-box{background:#22395f;border-color:#33507e}
html[data-theme="noir"] body .partner-already-box h3{color:#f1f5fb}
html[data-theme="noir"] body .partner-already-box p{color:#c3d0e3}
html[data-theme="noir"] body .partner-program-page .partner-form-shell{background:#22395f;border-color:#33507e;box-shadow:none}
/* Contact: address and email links readable on the white card in light mode; reference numbers readable in dark */
html[data-theme="light"] body .contact-info a{color:#0f5569 !important}
html[data-theme="noir"] body .ref-card>div:first-child{color:#8bd8ea !important}
html[data-theme="noir"] body .ref-card:nth-child(2)>div:first-child{color:#b9e3c4 !important}
html[data-theme="noir"] body .ref-card:nth-child(3)>div:first-child{color:#f0c57f !important}
html[data-theme="noir"] body .ref-card>div+div{color:#c3d0e3 !important}
/* Platform requirements table in dark mode */
html[data-theme="noir"] body .requirement-table small{color:#a3b5ce !important}
html[data-theme="noir"] body .recommended-pill{color:#b9e3c4 !important;background:rgba(124,140,55,.25) !important;border-color:rgba(185,227,196,.35) !important}
/* Deployment Planner step legend in light mode */
html body.planner-page .legend{color:#0f5569}
html[data-theme="noir"] body.planner-page .legend{color:#8bd8ea}
html[data-theme="noir"] body .partner-form-shell :is(legend,.form-group__label,.form-help){color:#e6edf7 !important}
html[data-theme="noir"] body .partner-form-shell .choice{background:#1a2d4f !important;border-color:#4a6a9c !important}
html[data-theme="noir"] body .partner-form-shell .choice span{color:#e6edf7 !important}
html[data-theme="noir"] body .legal-document a:not(.btn){color:#8bd8ea !important}
