/* Hallmark · macrostructure: Conversational FAQ · tone: utilitarian · anchor hue: green
   Existing Nightcrew Terminal palette and IBM Plex Mono; source directory before questions.
   nav: N8 command · footer: Ft2 inline · enrichment: vector moon-and-signal brand mark.
   Rotation: replaces Narrative Workflow; removes numbered steps; keeps the authenticated UI.
   Audience: cybersecurity marketers · action: request access · motion: none.
   Self-critique: P4 H4 E4 S5 R4 V4 · slop-test: pass · responsive: pass (320–1440).
   Contrast retains verified tokens; no private content or invented metrics in assets. */
@font-face {font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("/static/fonts/ibm-plex-mono-regular.woff2") format("woff2")}
@font-face {font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("/static/fonts/ibm-plex-mono-semibold.woff2") format("woff2")}
:root {
    color-scheme:dark;
    --font-body:"IBM Plex Mono","Berkeley Mono","JetBrains Mono",monospace;
    --color-bg:oklch(14.5% .005 145);--color-surface:oklch(18% .005 145);--color-ink:oklch(90.7% .005 145);
    --color-muted:oklch(69% .005 145);--color-accent:oklch(86.8% .28 145);--color-accent-ink:oklch(14.5% .005 145);
    --color-border:oklch(57% .005 145);--color-rule:oklch(32% .005 145);--color-error:oklch(78% .13 25);
    --space-xs:.75rem;--space-button:1.25rem;--space-copy-offset:2.5rem;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--space-7:6rem;--space-8:8rem;
    --text-sm:.875rem;--text-body:1rem;--text-lg:1.125rem;--text-h3:1.375rem;--text-h2:clamp(1.75rem,3.1vw,2.5rem);--text-hero:clamp(1.8rem,4.45vw,4rem);
}
*,*::before,*::after {box-sizing:border-box}
html,body {margin:0;overflow-x:clip}
body {background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.7;-webkit-font-smoothing:antialiased}
[hidden] {display:none!important}
::selection {background:var(--color-accent);color:var(--color-accent-ink)}
a {color:inherit;text-underline-offset:.3em;text-decoration-thickness:1px;white-space:nowrap}
a:hover {color:var(--color-accent)}
a:active {color:var(--color-muted)}
a[aria-disabled="true"] {color:var(--color-muted);pointer-events:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible {outline:2px solid var(--color-accent);outline-offset:5px}
h1,h2,h3,p {margin:0}
h1,h2,h3 {font-weight:600;line-height:1.25;letter-spacing:-.045em;overflow-wrap:anywhere;min-width:0;text-wrap:balance}
h1 {font-size:var(--text-hero);line-height:1.16}
h1 span {color:var(--color-accent)}
h2 {font-size:var(--text-h2)}
h3 {font-size:var(--text-h3)}
p {max-width:62ch}
.page {max-width:1280px;margin:auto;padding:0 var(--space-5)}
.site-header,.site-footer {display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.site-header {min-height:104px}
.wordmark {font-size:var(--text-lg);font-weight:600;text-decoration:none;white-space:nowrap;padding-block:var(--space-xs)}
.wordmark span {color:var(--color-accent)}
nav {display:flex;gap:var(--space-4);align-items:center}
nav a {display:inline-flex;align-items:center;gap:.5rem;min-height:44px;text-decoration:none;white-space:nowrap}
.hero {display:grid;grid-template-columns:minmax(0,1fr) 224px;gap:var(--space-6);padding:var(--space-7) 0 var(--space-8);align-items:end}
.intro-label {font-size:var(--text-sm);color:var(--color-muted);margin-bottom:var(--space-3)}
.hero-copy {font-size:var(--text-lg);line-height:1.8;max-width:57ch;margin-top:var(--space-4)}
.hero-actions {display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap;margin:var(--space-5) 0 var(--space-3)}
.button {display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-xs) var(--space-button);min-height:50px;border:1px solid var(--color-accent);border-radius:0;background:var(--color-accent);color:var(--color-accent-ink);font:600 var(--text-body)/1.4 var(--font-body);text-decoration:none;cursor:pointer;white-space:nowrap}
.button:hover {background:var(--color-ink);border-color:var(--color-ink);color:var(--color-accent-ink)}
.button:active {background:var(--color-muted);border-color:var(--color-muted)}
.button:disabled {background:var(--color-rule);border-color:var(--color-border);color:var(--color-ink);cursor:wait}
.text-link {display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;white-space:nowrap;font-size:var(--text-sm)}
.small {font-size:var(--text-sm);line-height:1.7}
.muted {color:var(--color-muted)}
.source-index {padding-bottom:var(--space-1)}
.source-heading {font-size:var(--text-sm);color:var(--color-accent);margin-bottom:var(--space-2)}
.source-index ul {list-style:none;margin:0 0 var(--space-3);padding:0}
.source-index li {padding:var(--space-xs) 0;border-bottom:1px solid var(--color-rule);font-size:var(--text-sm);display:flex;justify-content:space-between;gap:var(--space-1)}
.source-index li span {color:var(--color-muted);font-size:var(--text-sm)}
.workflow {padding-bottom:var(--space-7);scroll-margin-top:var(--space-4)}
.workflow>h2 {margin-bottom:var(--space-6);max-width:28ch}
.steps {list-style:none;margin:0;padding:0;border-top:1px solid var(--color-rule)}
.steps li {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-7);padding:var(--space-5) 0;border-bottom:1px solid var(--color-rule)}
.step-title {display:flex;flex-direction:column;gap:var(--space-2)}
.step-number {font-size:var(--text-sm);color:var(--color-accent)}
.step-copy {padding-top:var(--space-copy-offset)}
.detail {margin-top:var(--space-2);color:var(--color-muted);font-size:var(--text-sm)}
.step-copy .text-link {margin-top:var(--space-1)}
.access {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-7);padding:var(--space-5) 0 var(--space-8);scroll-margin-top:var(--space-4)}
.access-intro>p:not(:first-child) {margin-top:var(--space-3);max-width:45ch}
.access-intro h2 {max-width:18ch}
.access-form-area {min-width:0}
.form-note {color:var(--color-muted);margin-bottom:var(--space-3)}
.field {margin-bottom:var(--space-3)}
label {display:block;margin-bottom:var(--space-1);font-size:var(--text-sm)}
input,textarea {width:100%;border:1px solid var(--color-border);border-radius:0;padding:var(--space-xs);background:var(--color-surface);color:var(--color-ink);font:var(--text-body)/1.6 var(--font-body);min-height:48px;box-shadow:none}
textarea {resize:vertical;min-height:140px}
input:hover,textarea:hover {border-color:var(--color-ink)}
input:focus,textarea:focus {border-color:var(--color-accent)}
input:active,textarea:active {border-color:var(--color-accent)}
input:disabled,textarea:disabled {background:var(--color-rule);color:var(--color-muted);cursor:not-allowed}
[aria-invalid="true"] {border-color:var(--color-error)}
.field-error {margin-top:var(--space-1);color:var(--color-error)}
.notice {border-left:2px solid var(--color-accent);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}
.notice h3 {margin-bottom:var(--space-2)}
.notice .text-link {margin-top:var(--space-3)}
.error {border-color:var(--color-error);color:var(--color-error);font-size:var(--text-sm)}
.privacy {margin-top:var(--space-3)}
.honeypot {display:none}
.site-footer {border-top:1px solid var(--color-rule);padding:var(--space-3) 0;font-size:var(--text-sm)}
.skip-link {position:absolute;top:-100px;left:var(--space-2);padding:var(--space-2);background:var(--color-accent);color:var(--color-accent-ink);z-index:10}
.skip-link:focus {top:var(--space-2)}
@media (max-width:1020px) {
    .page {padding-inline:var(--space-4)}
    .hero {grid-template-columns:minmax(0,1fr);gap:var(--space-6);padding-top:var(--space-6);padding-bottom:var(--space-7)}
    h1 {font-size:clamp(1.8rem,6.4vw,3.5rem)}
    .source-index {max-width:640px}
    .source-index ul {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-4)}
    .source-index>p:last-child br {display:none}
    .steps li,.access {gap:var(--space-5)}
}
@media (max-width:700px) {
    .page {padding-inline:var(--space-3)}
    .site-header {min-height:80px}
    nav {gap:var(--space-3)}
    .hero {padding-top:var(--space-5);padding-bottom:var(--space-6)}
    .hero-copy {font-size:var(--text-body)}
    .hero-actions {gap:var(--space-3);margin-top:var(--space-4)}
    .source-index ul {grid-template-columns:minmax(0,1fr)}
    .source-index {max-width:none}
    .workflow {padding-bottom:var(--space-6)}
    .workflow>h2 {margin-bottom:var(--space-4)}
    .steps li,.access {grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
    .steps li {padding-block:var(--space-4)}
    .step-copy {padding-top:0}
    .access {padding:0 0 var(--space-6);gap:var(--space-4)}
    .site-footer {align-items:flex-start;flex-direction:column;gap:var(--space-1)}
    .button {font-size:var(--text-sm)}
}
@media (max-width:360px) {.page{padding-inline:var(--space-2)}nav{gap:var(--space-2)}.wordmark{font-size:var(--text-body)}}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media (min-width:701px) and (max-width:900px) {
    .steps li,.access {grid-template-columns:minmax(0,1fr);gap:var(--space-3)}
    .step-copy {padding-top:0}
    .access {gap:var(--space-4)}
}

/* Cybersecurity marketers: source directory and concise product questions. */
.wordmark {display:inline-flex;align-items:center;gap:var(--space-1)}
.wordmark img {display:block;flex-shrink:0}
.hero {grid-template-columns:minmax(0,1fr) 272px;align-items:center;padding-bottom:var(--space-7)}
.hero-copy {max-width:54ch}
.example-question {font-size:var(--text-lg);line-height:1.7;margin-bottom:var(--space-3)}
.source-directory {padding-bottom:var(--space-7)}
.source-directory>p {margin-top:var(--space-3)}
.publication-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:var(--space-4) 0 var(--space-2);padding:0;gap:var(--space-1) var(--space-3)}
.publication-list a {display:flex;gap:var(--space-1);align-items:center;justify-content:space-between;min-height:48px;font-size:var(--text-sm);text-decoration:none;border-bottom:1px solid var(--color-rule)}
.publication-list span {color:var(--color-muted)}
.source-directory>.source-disclosure {margin-top:var(--space-1)}
.questions {padding-bottom:var(--space-7);scroll-margin-top:var(--space-4)}
.questions article {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--color-rule)}
.questions h2 {font-size:var(--text-h3);letter-spacing:-.025em}
.questions .text-link {margin-top:var(--space-1)}
.access-intro h2 {font-size:clamp(1.65rem,2.6vw,2.25rem)}
@media (max-width:1100px) {
    .publication-list {grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1) var(--space-4)}
}
@media (max-width:1020px) {
    .hero {grid-template-columns:minmax(0,1fr);gap:var(--space-4)}
    .example-question {max-width:50ch}
}
@media (max-width:900px) {
    .questions article {grid-template-columns:minmax(0,1fr);gap:var(--space-2)}
}
@media (max-width:700px) {
    .hero,.source-directory,.questions {padding-bottom:var(--space-6)}
    .wordmark img {width:28px;height:28px}
}
@media (max-width:540px) {
    .publication-list {grid-template-columns:minmax(0,1fr)}
}
.digest-section {padding:0 0 var(--space-7);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-7)}
.digest-section h2 {font-size:var(--text-h2);max-width:22ch}
.digest-section p {margin-top:var(--space-3)}
.digest-form {max-width:560px}
.consent-label {display:flex;align-items:flex-start;gap:var(--space-1);margin:var(--space-3) 0;font-size:var(--text-sm);cursor:pointer}
.consent-label input {width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:var(--color-accent)}
.digest-page {max-width:740px;padding:var(--space-5) 0 var(--space-7)}
.digest-page .hero-copy,.digest-page form,.digest-page>.small {margin-bottom:var(--space-4)}
.digest-page form>p {margin-bottom:var(--space-3)}
@media(max-width:900px){.digest-section{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}
@media(max-width:700px){.digest-section{padding-bottom:var(--space-6)}}
