/* Shared layout primitives. Feature styles may arrange workflows, not fork the brand. */
html { font-synthesis: none; }
.numina-site { background: var(--canvas); color: var(--ink); font-family: var(--font-sans); }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
button, a, input, select, summary { touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { opacity: .45; cursor: not-allowed; }
:is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
img, svg { max-width: 100%; height: auto; }
figure { margin-inline: 0; }
em { color: var(--accent); font-style: normal; }
main, main * { min-width: 0; }
main :is(code,pre,dd,a,p) { overflow-wrap: anywhere; }
main code { font-family: var(--font-mono); font-size: .85em; }
pre { white-space: pre-wrap; overflow: auto; max-width: 100%; }
main fieldset { min-width: 0; }
.site-wrap > main { width: 100%; max-width: none; margin-inline: 0; }
.site-wrap main .wrap { width: 100%; max-width: none; margin-inline: 0; }
.site-wrap .app-wrap { padding: var(--space-5) 0; }
.site-wrap .reviewer-wrap { padding-inline: 0; }
/* One first-paint header and footer on every route. */
.numina-site .site-header { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 28px; min-height: 118px; padding: 24px 0; border-bottom: 1px solid var(--line); position: relative; }
.site-header .brand { font-size: clamp(23px,1.15vw,31px); width: auto; }
.numina-site .site-header .site-nav { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px clamp(18px,1.5vw,36px); }
.site-header .site-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.4; color: var(--muted); text-decoration: none; padding: 0; }
.site-header .site-nav a:hover, .site-header .site-nav a[aria-current] { color: var(--ink); }
.site-header .site-nav a[aria-current] { text-decoration: underline; text-underline-offset: 7px; text-decoration-color: var(--accent); }
.site-header .mobile-menu { display: none; margin: 0; }
.mobile-menu summary { border: 1px solid var(--line-strong); min-height: 44px; padding: 9px 14px; list-style: none; color: var(--ink); }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { color: var(--accent); margin-left: 12px; }
.mobile-menu[open] summary span { display: inline-block; transform: rotate(45deg); }
.numina-site .site-footer { display: grid; grid-template-columns: 1.3fr repeat(3,minmax(0,1fr)); gap: 40px; padding: var(--section-space) 0 var(--space-5); border-top: 1px solid var(--line); }
.site-footer .footer-group { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.site-footer h2 { font-size: 14px; line-height: 1.5; font-weight: 600; letter-spacing: 0; margin: 0 0 12px; }
.site-footer a { color: var(--muted); font-size: 14px; line-height: 1.6; text-decoration: none; }
.site-footer a:hover { color: var(--accent); text-decoration: underline; }
.site-footer .brand { color: var(--ink); font-size: 23px; }
.site-footer p { font: 400 13px/1.7 var(--font-sans); letter-spacing: 0; text-transform: none; color: var(--muted); }
.footer-intro p { margin: 14px 0 24px; }
.footer-meta { grid-column: 1/-1; border-top: 1px solid var(--line); padding-top: 24px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.footer-meta strong { font-weight: 500; color: var(--ink); }
/* Reusable page hero, section, grid, card, evidence and reading layouts. */
.numina-site main :is(.hero:not(.hero-home),.page-hero,.about-hero) { padding-block: var(--section-space); max-width: none; border-bottom: 1px solid var(--line); }
.numina-site main :is(.hero:not(.hero-home),.page-hero,.about-hero) h1 { font: 430 var(--hero-size)/1.04 var(--font-sans); letter-spacing: -.062em; max-width: 18ch; margin: 28px 0 36px; }
.numina-site main h2, .numina-site main h3 { font-family: var(--font-sans); }
.numina-site main :is(.section,.services-section,.contact,.product-feature,.founder) { padding-block: var(--section-space); border-bottom: 1px solid var(--line); }
.section:has(>.section-label) { display: grid; grid-template-columns: minmax(140px,1fr) minmax(0,3fr); gap: var(--space-5); }
.section-content { min-width: 0; }
.section-label,.eyebrow,.role-meta,.back-link,.research-meta { font-family: var(--font-mono); font-size: 11px; line-height: 1.7; letter-spacing: .12em; color: var(--muted); }
.eyebrow { display: block; margin-bottom: 24px; }
.section-label { padding-top: 6px; }
.page-hero > p, .hero-bottom > p { max-width: 70ch; font-size: clamp(1.12rem,.85vw,1.48rem); }
.hero-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--space-4); }
.hero-bottom .actions { margin-top: 0; }
.hero-top,.hero-rule { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.hero-rule { padding-top: 30px; color: var(--muted); font-size: 12px; }
.spectral { display: none; }
.section-navigation,.resource-links { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px 24px; margin: 24px 0; }
.section-navigation { border-block: 1px solid var(--line); padding-block: 20px; }
.resource-links a,.text-link { color: var(--accent); font-size: inherit; text-decoration: underline; }
.numina-site .button { font-family: var(--font-sans); border-radius: var(--radius); min-height: 48px; max-width: 100%; white-space: normal; text-align: center; }
.cards,.service-grid,.security-pillars,.contact-options,.evidence-grid,.evidence-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); margin-top: var(--space-4); }
.cards.three,.evidence-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
.evidence-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.numina-site :is(.cards article,.service-grid article,.security-pillars article,.contact-options article,.evidence-grid article,.foundation-card,.program-card,.operate-tier,.journey-panel,.os-core-visual,.value-note) { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: none; padding: var(--card-space); }
.cards h3 { margin-top: 0; }
.cards p:last-child { margin-bottom: 0; }
.number,.capability-number { display: block; color: var(--accent); margin-bottom: 24px; font: 12px var(--font-mono); }
.numina-site .program-featured { border-color: var(--accent); }
.numina-site .tier-price { font-family: var(--font-sans); color: var(--ink); }
.numina-site .tier-price small { font-family: var(--font-sans); }
.numina-site .services-section-heading h2 { font-size: clamp(1.8rem,1.65vw,2.8rem); }
.fineprint,.helper,.field-note,.notice { color: var(--muted); font-size: 14px; line-height: 1.7; }
.manifest-list { margin: 28px 0; }
.manifest-list > div { border-bottom: 1px solid var(--line); padding: 20px 0; }
.manifest-list dt { color: var(--muted); font-size: 13px; margin-bottom: 8px; }
.manifest-list dd { margin: 0; font-size: 15px; line-height: 1.7; }
.runtime-capabilities { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
.runtime-proof-links { padding-left: 22px; line-height: 1.8; }
.evidence-details,.commercial-note,.historical-notice,.case-flow { margin: 28px 0; padding: var(--card-space); border: 1px solid var(--line); background: var(--surface); }
.evidence-details pre { max-height: 420px; font-size: 12px; line-height: 1.8; }
.evidence-details summary { color: var(--accent); }
.verification-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; border: 1px solid var(--line); padding: var(--space-4); background: var(--surface); }
.verification-banner p { margin: 0; }
.evidence-grid strong,.evidence-summary strong { display: block; color: var(--accent); font-size: clamp(20px,2vw,28px); overflow-wrap: anywhere; }
.evidence-summary span { display: block; font-size: 13px; color: var(--muted); }
.release-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 32px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.release-strip > div { flex: 1 1 180px; }
.release-strip .eyebrow { margin-bottom: 10px; }
.release-summary { overflow-wrap: anywhere; }
.release-indicator[data-state=error] { color: #f3aa9d; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.evidence-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.evidence-table td,.evidence-table th { text-align: left; padding: 18px 14px; border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
.evidence-table th { color: var(--accent); background: var(--surface); }
.institution-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 24px; list-style: none; padding: 0; }
.institution-list li { border-bottom: 1px solid var(--line); padding: 16px 0; }
.about-hero,.product-feature,.founder,.split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); align-items: center; }
.about-portrait,.portrait-link { max-width: 560px; justify-self: end; }
.about-portrait img,.portrait-link img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
figcaption,.portrait-link small { color: var(--muted); font-size: 12px; margin-top: 16px; }
.role { padding: 32px 0; border-top: 1px solid var(--line); }
.role-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.contact-links { display: flex; flex-direction: column; gap: 18px; }
.reading-layout { display: grid; grid-template-columns: 220px minmax(0,900px); gap: 50px; padding-block: var(--section-space); }
.contents { display: flex; flex-direction: column; gap: 18px; }
.article-body section { padding-bottom: 32px; }
.legal-copy { max-width: 80ch; }
.legal-copy h2 { margin-top: 40px; }
.redemption-terms > div { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--line); }
.redemption-terms dd { margin: 0; }
.value-chain { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; border: 1px solid var(--line); background: var(--line); margin: 32px 0; }
.value-chain article { padding: var(--card-space); background: var(--surface); }
.value-chain span { color: var(--accent); font-size: 12px; }
.mini-terminal,.mini-payment { border: 1px solid var(--line); padding: var(--card-space); background: var(--surface); }
.mini-top,.mini-bottom,.mini-payment > div,.mini-stats { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; margin: 20px 0; }
.mini-stats small { display: block; }
.architecture img { width: 100%; }
.journey-panel ol { padding-left: 22px; }
.journey-panel li { padding: 16px 0; }
.journey-panel li span { display: block; color: var(--muted); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
/* Proof-led agentic finance presentation primitives. */
.proof-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid var(--line); background:linear-gradient(90deg,rgba(185,237,242,.035),transparent 55%); }
.proof-signal { min-width:0; min-height:210px; padding:clamp(28px,2.8vw,54px); border-right:1px solid var(--line); color:var(--ink); text-decoration:none; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.proof-signal:last-child { border-right:0; }
.proof-signal::after { content:''; position:absolute; inset:auto -20% -80% 20%; height:150px; background:radial-gradient(circle,rgba(185,237,242,.16),transparent 65%); opacity:0; transition:opacity 180ms ease; }
.proof-signal:hover::after { opacity:1; }
.proof-signal > span,.advantage-number,.milestone-grid span,.services-edge-grid article>span,.services-proof-line span,.treasury-node span,.treasury-core span { color:var(--accent); font:11px/1.6 var(--font-mono); letter-spacing:.12em; }
.proof-signal strong { margin:18px 0 8px; font-size:clamp(1.45rem,1.7vw,2.6rem); font-weight:470; letter-spacing:-.04em; }
.proof-signal p { margin:0 0 28px; font-size:14px; }
.proof-signal i,.audience-grid i { margin-top:auto; color:var(--muted); font-size:13px; font-style:normal; }
.leadership-section,.operating-model,.growth-section,.global-section,.milestone-section,.treasury-architecture,.mint-milestone { padding-block:var(--section-space); border-bottom:1px solid var(--line); }
.leadership-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); align-items:end; gap:clamp(32px,6vw,120px); margin-bottom:clamp(38px,4vw,76px); }
.leadership-heading h2 { max-width:13ch; margin:20px 0 0; font-size:clamp(2.7rem,4.5vw,6.8rem); letter-spacing:-.06em; }
.leadership-heading>p { margin:0; font-size:clamp(1.05rem,.8vw,1.35rem); }
.advantage-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.advantage-card { grid-column:span 3; min-height:390px; padding:clamp(28px,3vw,58px); background:var(--canvas); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.advantage-card:first-child,.advantage-card:nth-child(2) { grid-column:span 6; min-height:470px; }
.advantage-card h3 { max-width:15ch; margin:38px 0 18px; font-size:clamp(1.65rem,2.2vw,3.25rem); }
.advantage-card p { max-width:47ch; }
.advantage-card>a { margin-top:auto; color:var(--accent); font-size:14px; }
.advantage-featured { background:linear-gradient(145deg,#10202a,#080c12 72%); }
.advantage-quantum { background:radial-gradient(circle at 82% 28%,rgba(156,139,232,.18),transparent 30%),linear-gradient(145deg,#111823,#080c12 70%); }
.decision-states { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }
.decision-states b,.control-chips span { border:1px solid var(--line-strong); padding:8px 12px; color:#dce7ef; font:11px/1.3 var(--font-mono); letter-spacing:.1em; }
.quantum-orbit { width:170px; height:170px; position:absolute; right:clamp(20px,4vw,70px); bottom:clamp(20px,4vw,60px); border:1px solid rgba(185,237,242,.22); border-radius:50%; }
.quantum-orbit i { position:absolute; inset:18px; border:1px solid rgba(185,237,242,.16); border-radius:50%; transform:rotate(60deg); }
.quantum-orbit i:nth-child(2) { transform:rotate(120deg) scaleX(.55); }
.quantum-orbit i:nth-child(3) { transform:rotate(30deg) scaleY(.55); }
.quantum-orbit span { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); color:var(--accent); font:500 34px var(--font-mono); }
.operating-flow { list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; padding:0; margin:0; border-block:1px solid var(--line); }
.operating-flow li { min-height:230px; padding:32px 24px; border-right:1px solid var(--line); position:relative; }
.operating-flow li:last-child { border-right:0; }
.operating-flow li::after { content:'→'; position:absolute; top:31px; right:-8px; z-index:1; color:var(--accent); background:var(--canvas); padding:0 2px; }
.operating-flow li:last-child::after { display:none; }
.operating-flow span { color:var(--accent); font:11px var(--font-mono); }
.operating-flow strong { display:block; margin:54px 0 12px; font-size:clamp(1.15rem,1.2vw,1.8rem); font-weight:500; }
.operating-flow p { margin:0; font-size:14px; }
.audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border:1px solid var(--line); background:var(--line); }
.audience-grid a { min-height:330px; padding:clamp(30px,3vw,60px); background:var(--surface); color:var(--ink); text-decoration:none; display:flex; flex-direction:column; }
.audience-grid a:hover { background:var(--surface-strong); }
.audience-grid span { color:var(--accent); font:11px var(--font-mono); letter-spacing:.12em; }
.audience-grid h3 { margin:70px 0 16px; font-size:clamp(1.35rem,1.6vw,2.3rem); }
.global-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--space-5); }
.global-section h2 { max-width:13ch; font-size:clamp(2.4rem,3.7vw,5.2rem); }
.milestone-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.milestone-grid a { min-height:240px; padding:var(--card-space); background:linear-gradient(145deg,var(--surface),var(--canvas)); color:var(--ink); text-decoration:none; }
.milestone-grid strong { display:block; margin:34px 0 12px; font-size:clamp(1.6rem,2.4vw,3.2rem); font-weight:480; }
.milestone-grid p { margin:0; }
.mint-milestone { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:clamp(40px,7vw,130px); background:radial-gradient(circle at 75% 45%,rgba(185,237,242,.09),transparent 29%); }
.mint-milestone h2 { max-width:16ch; margin-top:24px; font-size:clamp(2.5rem,4.2vw,6rem); }
.mint-milestone dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; background:var(--line); border:1px solid var(--line); }
.mint-milestone dl>div { min-width:0; padding:24px; background:var(--surface); }
.mint-milestone dt { color:var(--muted); font-size:12px; }
.mint-milestone dd { margin:10px 0 0; color:var(--ink); font-size:clamp(1.05rem,1.1vw,1.5rem); overflow-wrap:anywhere; }
.treasury-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,3vw,56px); position:relative; padding-bottom:170px; }
.treasury-map::after { content:''; position:absolute; left:16.66%; right:16.66%; top:132px; height:1px; background:linear-gradient(90deg,transparent,var(--accent),transparent); opacity:.55; }
.treasury-node { min-height:150px; padding:28px; border:1px solid var(--line); background:var(--surface); position:relative; z-index:1; }
.treasury-node strong,.treasury-core strong { display:block; margin:24px 0 8px; font-size:clamp(1.2rem,1.4vw,2rem); font-weight:500; }
.treasury-node small,.treasury-core small { color:var(--muted); }
.treasury-core { position:absolute; z-index:2; left:50%; bottom:0; transform:translateX(-50%); width:min(620px,80%); padding:30px; text-align:center; border:1px solid var(--accent); background:linear-gradient(145deg,#11212a,#0a1017); }
.control-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:32px; }
@media (max-width:1180px) {
  .proof-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .proof-signal:nth-child(2) { border-right:0; }
  .proof-signal:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .advantage-card,.advantage-card:first-child,.advantage-card:nth-child(2) { grid-column:span 6; min-height:380px; }
  .quantum-orbit { width:130px; height:130px; opacity:.65; }
}
@media (max-width:760px) {
  .leadership-heading,.global-section,.mint-milestone { grid-template-columns:minmax(0,1fr); gap:28px; }
  .leadership-heading h2 { font-size:clamp(2.55rem,11vw,4.7rem); }
  .advantage-card,.advantage-card:first-child,.advantage-card:nth-child(2) { grid-column:span 12; min-height:330px; }
  .quantum-orbit { position:relative; right:auto; bottom:auto; margin:24px 0; }
  .operating-flow { grid-template-columns:minmax(0,1fr); }
  .operating-flow li { min-height:0; padding:26px 0; border-right:0; border-bottom:1px solid var(--line); }
  .operating-flow li:last-child { border-bottom:0; }
  .operating-flow li::after { content:'↓'; top:auto; right:8px; bottom:-12px; }
  .operating-flow strong { margin:18px 0 8px; }
  .audience-grid,.milestone-grid,.treasury-map { grid-template-columns:minmax(0,1fr); }
  .audience-grid a,.milestone-grid a { min-height:240px; }
  .audience-grid h3 { margin-top:40px; }
  .treasury-map { padding-bottom:0; }
  .treasury-map::after { display:none; }
  .treasury-core { position:relative; left:auto; bottom:auto; transform:none; width:100%; }
}
@media (max-width:480px) {
  .proof-rail { grid-template-columns:minmax(0,1fr); }
  .proof-signal { min-height:180px; border-right:0; border-bottom:1px solid var(--line); }
  .proof-signal:last-child { border-bottom:0; }
  .mint-milestone dl { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .proof-signal::after { transition:none; } }
/* Workspace grids and state colors remain functional, while sharing type, surface and controls. */
.numina-site :is(.app-panel,.control-panel,.evidence-panel,.app-sign-in,.request-row,.account-references,.receipt-panel,.local-signing-panel,.preparation-panel) { background: var(--surface); border-color: var(--line); border-radius: var(--radius); }
.numina-site input:not([type=checkbox]):not([type=radio]),.numina-site select,.numina-site textarea { color: var(--ink); background: var(--surface-strong); border: 1px solid var(--line-strong); border-radius: var(--radius); max-width: 100%; }
@media (max-width: 1180px) {
  .numina-site .site-header { grid-template-columns: minmax(0,1fr) auto; min-height: 100px; gap: 16px; padding-block: 20px; }
  .site-header .desktop-nav { display: none !important; }
  .site-header .mobile-menu { display: block; }
  .numina-site .site-header .mobile-menu .site-nav { position: absolute; top: calc(100% - 1px); right: 0; z-index: 30; width: min(360px,100%); background: var(--surface); border: 1px solid var(--line-strong); padding: 16px 24px; display: flex; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 20px 40px #0006; }
  .mobile-menu .site-nav a { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
  .mobile-menu .site-nav a:last-child { border: 0; }
  .evidence-grid,.cards.three { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .numina-site .site-header { min-height: 96px; }
  .site-header .slogan { font-size: 8px; letter-spacing: .12em; }
  .site-header .brand { font-size: 23px; }
  .numina-site .site-footer { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; }
  .footer-intro { grid-column: 1/-1; }
  .section:has(>.section-label),.cards,.cards.three,.cards.two,.service-grid,.security-pillars,.contact-options,.evidence-summary,.runtime-capabilities,.about-hero,.product-feature,.founder,.split,.reading-layout,.redemption-terms > div,.value-chain { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .about-portrait,.portrait-link { justify-self: start; max-width: 100%; }
  .institution-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-bottom { align-items: flex-start; }
  .app-title { flex-direction: column; align-items: flex-start; }
  .app-service-state { max-width: none; width: 100%; text-align: left; }
  .evidence-table { display: block; overflow-x: auto; }
  .evidence-table td,.evidence-table th { min-width: 130px; }
}
@media (max-width: 380px) {
  .numina-site .site-footer,.evidence-grid { grid-template-columns: minmax(0,1fr); }
}
