/* VALCRYPTIA — sovereign editorial system
   Original visual language inspired by cinematic black-space storytelling.
   No third-party code, assets, or copy are used here. */
:root {
  --editorial-bg: #050505;
  --editorial-ink: #f5f3ee;
  --editorial-dim: #9a9893;
  --editorial-line: rgba(245,243,238,.18);
  --editorial-violet: #8c72ff;
  --editorial-cyan: #7de8e6;
  --editorial-max: 1320px;
}

html { background: var(--editorial-bg); }
body {
  background: var(--editorial-bg);
  color: var(--editorial-ink);
  font-family: 'Space Grotesk', 'Cairo', sans-serif;
  letter-spacing: -.01em;
}
body:before, .noise, .cursor-glow, .void-orb { opacity: 0 !important; }

.site-header {
  width: min(var(--editorial-max), calc(100% - 64px));
  height: 76px;
  top: 0;
  border: 0;
  border-bottom: 1px solid var(--editorial-line);
  border-radius: 0;
  padding: 0;
  background: rgba(5,5,5,.94);
  box-shadow: none;
  backdrop-filter: blur(16px);
}
.site-header.is-scrolled { top: 0; border-color: var(--editorial-line); background: rgba(5,5,5,.97); box-shadow: none; }
.brand-word { font-size: .77rem; letter-spacing: .28em; }
.main-nav { margin-left: 72px; gap: 26px; }
.main-nav a { padding: 0; border-radius: 0; color: #85837e; font-size: .61rem; letter-spacing: .12em; }
.main-nav a:hover, .main-nav a.is-active { color: var(--editorial-ink); background: none; box-shadow: none; }
.main-nav a:after { display: none; }
.header-right { gap: 20px; }
.header-link { padding: 0; border: 0; background: none; color: var(--editorial-ink); font-size: .61rem; letter-spacing: .1em; }
.header-link:hover { border: 0; background: none; color: var(--editorial-cyan); }
.language-switch { padding: 0; font-size: .59rem; }

.section-shell { width: min(var(--editorial-max), calc(100% - 64px)); }
.hero-void {
  width: 100%;
  min-height: calc(100vh - 76px);
  padding: 0 max(32px, calc((100% - var(--editorial-max)) / 2));
  background: radial-gradient(circle at 74% 38%, rgba(140,114,255,.12), transparent 26%), #050505;
  isolation: isolate;
}
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .52; mix-blend-mode: screen; filter: saturate(.82) contrast(1.08); z-index: -3; }
.hero-video-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, #050505 0%, rgba(5,5,5,.78) 34%, rgba(5,5,5,.18) 72%, #050505 100%), linear-gradient(0deg, #050505 0%, transparent 28%, rgba(5,5,5,.28) 100%); pointer-events: none; }
.hero-copy { max-width: 780px; padding: 13vh 0 15vh; }
.micro-label { margin-bottom: 38px; color: var(--editorial-dim); font-size: .59rem; letter-spacing: .18em; }
.hero-copy h1 {
  max-width: 820px;
  margin-bottom: 44px;
  font-size: clamp(4rem, 9vw, 9.7rem);
  line-height: .84;
  letter-spacing: -.105em;
  font-weight: 500;
}
.hero-copy h1 em { color: transparent; -webkit-text-stroke: 1px rgba(245,243,238,.82); }
.hero-description { max-width: 390px; margin-bottom: 38px; border-left: 0; padding-left: 0; color: var(--editorial-dim); font-size: .83rem; line-height: 1.9; }
.enter-lab { padding-bottom: 12px; border-bottom-color: var(--editorial-ink); font-size: .63rem; letter-spacing: .1em; }
.enter-lab:hover { border-color: var(--editorial-cyan); gap: 42px; }
.enter-lab b { color: var(--editorial-cyan); }
.hero-audit-link { color: #77746f; font-size: .59rem; }
.hero-grid-line { left: 74%; background: linear-gradient(transparent, var(--editorial-line), transparent); opacity: .55; }
.hero-instrument { right: 1%; opacity: .5; filter: none; }
.instrument-core { border-color: var(--editorial-cyan); box-shadow: 0 0 0 18px rgba(125,232,230,.025), 0 0 70px rgba(125,232,230,.13); }
.instrument-core span { color: var(--editorial-cyan); }
.instrument-code { color: #6b6964; }
.scroll-cue { bottom: 28px; color: #77746f; }

.doctrine, .agent-network, .projects, .self-audit, .transparency, .operating-manifest, .command-console, .access {
  padding-top: 170px;
}
.section-index { padding-top: 15px; border-color: var(--editorial-line); color: #77746f; font-size: .56rem; letter-spacing: .18em; }
.section-index:before { content: ''; }
.doctrine-layout, .agent-network-heading, .projects-heading, .transparency-heading, .manifest-heading, .console-heading, .access-layout { gap: 80px; }
.doctrine h2, .projects-heading h2, .access h2, .agent-network h2, .transparency h2, .manifest-heading h2, .console-heading h2 {
  font-size: clamp(3.5rem, 7vw, 8rem);
  line-height: .86;
  letter-spacing: -.105em;
  font-weight: 500;
}
.doctrine h2 em, .projects-heading h2 em, .access h2 em, .agent-network h2 em, .transparency h2 em, .manifest-heading h2 em, .console-heading h2 em { color: var(--editorial-violet); }
.doctrine-detail { border-left: 0; padding-left: 0; }
.doctrine-lead { font-size: clamp(1.5rem, 2.4vw, 2.35rem); line-height: 1.08; }
.doctrine-body, .agent-network-heading p, .projects-heading p, .transparency-heading p, .manifest-heading p, .console-heading p, .access-layout p { color: var(--editorial-dim); line-height: 1.95; }
.doctrine-metrics { gap: 38px; }
.doctrine-metrics strong { color: var(--editorial-cyan); }
.doctrine-line { opacity: .8; }

.agent-network { padding-bottom: 150px; }
.agent-map {
  margin-top: 70px;
  border: 1px solid var(--editorial-line);
  border-radius: 0;
  background: radial-gradient(circle at center, rgba(140,114,255,.12), transparent 45%), #090909;
  box-shadow: none;
}
.agent-node, .agent-core { border-radius: 0; background: rgba(5,5,5,.84); }
.agent-core strong { color: var(--editorial-cyan); }
.agent-network-foot { border-color: var(--editorial-line); }

.projects { padding-bottom: 180px; }
.projects-heading { padding: 75px 0 70px; }
.projects-heading p { max-width: 330px; border-left: 0; padding-left: 0; }
.project-list { border-color: var(--editorial-line); }
.project-row { min-height: 148px; grid-template-columns: 75px 1fr 150px 35px; border-color: var(--editorial-line); }
.project-row:before { background: linear-gradient(90deg, rgba(140,114,255,.12), transparent 60%); }
.project-name strong { font-size: clamp(1.8rem, 4vw, 4.1rem); font-weight: 500; }
.project-name small { color: #78756f; }
.project-status { color: var(--editorial-cyan); }
.project-arrow { color: var(--editorial-cyan); }

.self-audit, .transparency, .operating-manifest, .command-console { padding-bottom: 170px; }
.audit-shell, .console-shell { border-radius: 0; border-color: var(--editorial-line); background: #090909; box-shadow: none; }
.transparency-grid, .manifest-grid { gap: 0; border-top: 1px solid var(--editorial-line); }
.transparency-card, .manifest-grid article { border: 0; border-bottom: 1px solid var(--editorial-line); border-radius: 0; background: transparent; box-shadow: none; }
.transparency-card:hover, .manifest-grid article:hover { transform: none; border-color: var(--editorial-line); box-shadow: none; background: rgba(140,114,255,.05); }

.access { padding-bottom: 180px; }
.access-frame { border: 1px solid var(--editorial-line); border-radius: 0; padding: 36px 52px 70px; background: radial-gradient(circle at 80% 45%, rgba(140,114,255,.11), transparent 31%), #080808; box-shadow: none; }
.access h2 em { color: var(--editorial-cyan); }
.input-line { border-color: #77746f; }
.input-line:focus-within { border-color: var(--editorial-cyan); box-shadow: none; }
.input-line button { color: var(--editorial-ink); }
.input-line button:hover { color: var(--editorial-cyan); }
.site-footer { min-height: 120px; border-color: var(--editorial-line); }
.footer-meta a:hover { color: var(--editorial-cyan); }

body.rtl .hero-copy h1, body.rtl .doctrine h2, body.rtl .projects-heading h2, body.rtl .access h2 { letter-spacing: -.07em; }
body.rtl .doctrine-detail { border: 0; padding: 0; }
body.rtl .hero-instrument { left: 1%; }

@media (max-width: 850px) {
  .site-header, .section-shell { width: calc(100% - 32px); }
  .site-header { height: 64px; }
  .main-nav { top: 72px; left: 0; right: 0; border: 1px solid var(--editorial-line); border-radius: 0; background: rgba(5,5,5,.98); }
  .main-nav a { padding: 15px 14px; }
  .hero-void { width: 100%; min-height: 760px; padding-inline: 16px; }
  .hero-video { opacity: .38; object-position: 62% center; }
  .hero-copy { padding-top: 100px; }
  .hero-copy h1 { font-size: clamp(4rem, 17vw, 6.2rem); }
  .hero-instrument { width: 420px; height: 420px; right: -32%; top: 66%; opacity: .42; }
  .doctrine, .agent-network, .projects, .self-audit, .transparency, .operating-manifest, .command-console, .access { padding-top: 115px; }
  .doctrine-layout, .access-layout { grid-template-columns: 1fr; gap: 42px; }
  .agent-network-heading, .projects-heading, .transparency-heading, .manifest-heading, .console-heading { display: block; }
  .projects-heading { padding-top: 55px; }
  .project-row { grid-template-columns: 42px 1fr 30px; min-height: 122px; }
  .project-name strong { font-size: 1.75rem; }
  .project-status { grid-column: 2; grid-row: 2; }
  .access-frame { padding-inline: 24px; }
  .site-footer { width: calc(100% - 32px); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-instrument, .instrument-ring, .instrument-core, .board-scan { animation: none !important; }
}

/* Three forces narrative */
.pillars { padding-top: 170px; padding-bottom: 190px; }
.pillars-intro { display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:end; padding:75px 0 70px; }
.pillars-intro h2 { margin:0; font-size:clamp(3.5rem,7vw,8rem); line-height:.86; letter-spacing:-.105em; font-weight:500; }
.pillars-intro h2 em { color:var(--editorial-violet); font-style:normal; }
.pillars-intro p { max-width:330px; margin:0 0 7px; color:var(--editorial-dim); font-size:.84rem; line-height:1.95; }
.pillar-stack { border-top:1px solid var(--editorial-line); }
.pillar-panel { min-height:470px; display:grid; grid-template-columns:150px 1fr 1fr; gap:45px; align-items:center; position:relative; overflow:hidden; border-bottom:1px solid var(--editorial-line); transition:background .5s ease; }
.pillar-panel:hover { background:linear-gradient(90deg,rgba(140,114,255,.07),transparent 65%); }
.pillar-number { align-self:start; padding-top:28px; color:#77746f; font-size:.56rem; letter-spacing:.15em; }
.pillar-visual { min-height:340px; position:relative; display:grid; place-items:center; }
.pillar-core { width:122px; height:122px; display:grid; place-items:center; border:1px solid var(--editorial-cyan); border-radius:50%; color:var(--editorial-cyan); font:3rem 'Space Grotesk'; box-shadow:0 0 70px rgba(125,232,230,.15); animation:pillarPulse 4s ease-in-out infinite; }
.pillar-orbit { position:absolute; border:1px solid rgba(140,114,255,.5); border-radius:50%; }
.orbit-x { width:90%; height:32%; transform:rotate(-25deg); animation:pillarOrbitA 16s linear infinite; }
.orbit-y { width:50%; height:94%; transform:rotate(42deg); border-color:rgba(125,232,230,.25); animation:pillarOrbitB 21s linear infinite reverse; }
.shield-frame { width:160px; height:190px; border:1px solid var(--editorial-cyan); clip-path:polygon(50% 0,92% 18%,84% 70%,50% 100%,16% 70%,8% 18%); box-shadow:0 0 60px rgba(125,232,230,.12); background:linear-gradient(140deg,rgba(125,232,230,.1),transparent 55%); }
.shield-lock { position:absolute; color:var(--editorial-cyan); font-size:3rem; text-shadow:0 0 24px rgba(125,232,230,.5); }
.impact-line { position:absolute; height:1px; width:75%; left:12%; transform-origin:left center; background:linear-gradient(90deg,var(--editorial-violet),rgba(125,232,230,.8),transparent); box-shadow:0 0 14px rgba(125,232,230,.25); }
.line-one { transform:rotate(-24deg); }.line-two { transform:rotate(0deg); }.line-three { transform:rotate(24deg); }
.impact-origin { width:16px; height:16px; border:1px solid var(--editorial-cyan); border-radius:50%; box-shadow:0 0 24px var(--editorial-cyan); }
.pillar-copy h3 { margin:0 0 22px; font-size:clamp(2.7rem,5vw,5.8rem); line-height:.88; letter-spacing:-.1em; font-weight:500; }
.pillar-copy h3 em { color:var(--editorial-violet); font-style:normal; }
.pillar-copy p { max-width:350px; color:var(--editorial-dim); font-size:.83rem; line-height:1.95; }
.pillar-copy a { display:inline-block; margin-top:14px; color:var(--editorial-cyan); text-decoration:none; font:500 .62rem var(--mono); letter-spacing:.08em; }
.pillar-copy a:hover { color:var(--editorial-ink); }
@keyframes pillarPulse { 50% { box-shadow:0 0 0 20px rgba(125,232,230,.025),0 0 90px rgba(125,232,230,.25); } }
@keyframes pillarOrbitA { to { transform:rotate(335deg); } }
@keyframes pillarOrbitB { to { transform:rotate(402deg); } }
[data-reveal] { opacity:0; transform:translateY(28px); transition:opacity .9s ease,transform .9s ease; }
[data-reveal].is-visible { opacity:1; transform:none; }
@media (max-width:850px) {
  .pillars { padding-top:115px; padding-bottom:125px; }
  .pillars-intro { display:block; padding:55px 0; }
  .pillars-intro p { margin-top:30px; }
  .pillar-panel { min-height:620px; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0 0 55px; }
  .pillar-number { padding-top:25px; }
  .pillar-visual { min-height:280px; }
  .pillar-copy h3 { font-size:3.5rem; }
}
@media (prefers-reduced-motion:reduce) {
  .pillar-core,.pillar-orbit { animation:none; }
  [data-reveal] { opacity:1; transform:none; transition:none; }
}

/* Phase 3 — command header and icon grammar */
.site-header { height:82px; width:min(var(--editorial-max),calc(100% - 72px)); }
.brand-lockup { min-width:178px; }
.brand-mark { position:relative; width:24px; height:22px; }
.brand-mark:after { content:''; position:absolute; inset:-7px -8px; border:1px solid rgba(125,232,230,.2); transform:skewX(-18deg); pointer-events:none; }
.main-nav { margin-left:60px; gap:8px; }
.main-nav a { display:inline-flex; align-items:center; gap:8px; padding:10px 11px; border:1px solid transparent; font-size:.58rem; letter-spacing:.1em; transition:color .25s ease,border-color .25s ease,background .25s ease; }
.main-nav a:hover, .main-nav a.is-active { color:var(--editorial-ink); border-color:rgba(125,232,230,.22); background:rgba(125,232,230,.045); }
.main-nav a.is-active .nav-icon { color:var(--editorial-cyan); }
.nav-icon { width:14px; height:14px; display:inline-grid; place-items:center; color:#6f6d68; transition:color .25s ease,transform .25s ease; }
.main-nav a:hover .nav-icon { color:var(--editorial-cyan); transform:translateY(-1px); }
.nav-icon svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.header-right { gap:14px; }
.language-switch { display:inline-flex; align-items:center; min-height:30px; padding:0 9px; border:1px solid rgba(245,243,238,.15); background:rgba(245,243,238,.025); }
.language-switch:hover { border-color:rgba(125,232,230,.35); }
.header-link { display:inline-flex; align-items:center; gap:9px; min-height:30px; padding:0 12px; border:1px solid rgba(140,114,255,.5); background:rgba(140,114,255,.08); }
.header-link:hover { border-color:var(--editorial-cyan); }
.header-link b { color:var(--editorial-cyan); font-size:1rem; }
.sound-toggle { display:inline-flex; align-items:center; gap:8px; min-height:30px; padding:0 9px; border:1px solid rgba(245,243,238,.12); color:#77746f; background:transparent; font:500 .55rem var(--mono); letter-spacing:.08em; cursor:pointer; }
.sound-toggle:hover,.sound-toggle.is-on { color:var(--editorial-cyan); border-color:rgba(125,232,230,.35); }
.sound-icon { display:flex; align-items:end; gap:2px; height:12px; }
.sound-icon i { display:block; width:2px; height:5px; background:currentColor; }
.sound-icon i:nth-child(2) { height:10px; }.sound-icon i:nth-child(3) { height:7px; }
.menu-toggle { border:1px solid rgba(245,243,238,.18); border-radius:0; }
.menu-toggle:hover { border-color:var(--editorial-cyan); }
.scroll-progress { height:1px; background:rgba(245,243,238,.13); }
.scroll-progress i { background:linear-gradient(90deg,var(--editorial-violet),var(--editorial-cyan)); }

@media (max-width:1100px) and (min-width:851px) {
  .main-nav { margin-left:24px; gap:2px; }
  .main-nav a { padding-inline:7px; }
  .main-nav a > span:last-child { display:none; }
  .header-link { padding-inline:8px; }
  .sound-label { display:none; }
}
@media (max-width:850px) {
  .site-header { width:calc(100% - 32px); height:64px; }
  .brand-lockup { min-width:0; }
  .brand-mark:after { inset:-5px -6px; }
  .language-switch { min-height:32px; }
  .main-nav { top:72px; left:0; right:0; padding:10px; gap:3px; }
  .main-nav a { min-height:48px; padding:12px 14px; gap:11px; border-color:transparent; }
  .main-nav a:hover,.main-nav a.is-active { border-color:rgba(125,232,230,.26); }
  .nav-icon,.nav-icon svg { width:16px; height:16px; }
}

/* Phase 3 — inner systems and small-screen UX */
.agent-network-heading, .console-heading, .audit-heading { display:grid; grid-template-columns:1fr .72fr; align-items:end; padding:72px 0 58px; }
.agent-network-heading h2, .console-heading h2, .audit-heading h2 { margin:0; }
.agent-network-heading p, .console-heading p, .audit-heading p { max-width:360px; margin:0 0 5px; }
.agent-map { min-height:560px; overflow:hidden; }
.agent-node { max-width:190px; padding:13px 15px; border:1px solid rgba(245,243,238,.16); }
.agent-node strong { display:block; font:500 .62rem var(--mono); letter-spacing:.1em; }
.agent-node small { display:block; margin-top:5px; color:#77746f; font-size:.61rem; line-height:1.5; }
.agent-core { border:1px solid rgba(125,232,230,.42); box-shadow:0 0 0 18px rgba(125,232,230,.025),0 0 65px rgba(140,114,255,.18); }
.agent-map .map-legend, .agent-map .map-terminal { font-size:.52rem; letter-spacing:.1em; }

.console-shell { overflow:hidden; }
.console-topbar { min-height:46px; border-bottom:1px solid var(--editorial-line); background:rgba(245,243,238,.025); }
.console-lights i { width:6px; height:6px; border-radius:0; }
.console-body { gap:34px; padding:30px; }
.mission-input-panel { border-color:var(--editorial-line); }
.mission-input-panel textarea { min-height:145px; border-radius:0; border-color:rgba(245,243,238,.2); background:#060606; }
.mission-input-panel textarea:focus { border-color:var(--editorial-cyan); box-shadow:0 0 0 3px rgba(125,232,230,.07); }
.console-launch { min-height:40px; border-radius:0; border-color:rgba(125,232,230,.55); background:rgba(125,232,230,.07); }
.console-launch:hover { background:rgba(125,232,230,.15); box-shadow:0 0 25px rgba(125,232,230,.1); }
.pipeline-step { min-height:68px; border-color:rgba(245,243,238,.08); border-radius:0; }
.pipeline-step.is-current { border-color:rgba(125,232,230,.42); background:rgba(125,232,230,.055); transform:translateX(5px); }
.pipeline-icon { border-radius:0; color:var(--editorial-cyan); }
.pipeline-step strong { font-size:.63rem; letter-spacing:.04em; }
.console-log { border-color:var(--editorial-line); }

.audit-shell { border-color:var(--editorial-line); background:var(--editorial-line); }
.audit-checks, .audit-result { background:#090909; padding:30px; }
.audit-check { min-height:54px; align-items:center; border-color:rgba(245,243,238,.1); }
.audit-check input { width:19px; height:19px; border-radius:0; }
.audit-result { border-color:var(--editorial-line); }
.audit-copy, .audit-share { border-radius:0; min-height:40px; }
.audit-copy { background:var(--editorial-violet); border-color:var(--editorial-violet); }

@media (max-width:850px) {
  body { font-size:15px; }
  .section-shell { width:calc(100% - 32px); }
  .agent-network-heading, .console-heading, .audit-heading { display:block; padding:54px 0 38px; }
  .agent-network-heading p, .console-heading p, .audit-heading p { max-width:100%; margin-top:26px; }
  .agent-map { min-height:520px; margin-top:25px; }
  .agent-node { max-width:145px; padding:10px; }
  .agent-node strong { font-size:.51rem; }
  .agent-node small { font-size:.5rem; }
  .agent-core { transform:scale(.82); }
  .map-legend { left:14px !important; right:14px !important; bottom:14px !important; flex-wrap:wrap; gap:8px !important; }
  .map-terminal { left:14px !important; right:auto !important; top:14px !important; font-size:.44rem !important; }
  .console-body { gap:22px; padding:18px; }
  .console-topbar { padding-inline:14px; }
  .mission-input-panel textarea { min-height:128px; font-size:.74rem; }
  .mission-actions { align-items:stretch; flex-direction:column; gap:12px; }
  .mission-actions small { order:2; }
  .console-launch { width:100%; }
  .pipeline-step { grid-template-columns:28px 32px 1fr; gap:8px; padding:10px 7px; }
  .pipeline-step .pipeline-state { grid-column:3; justify-self:start; margin-top:4px; }
  .pipeline-line { left:20px; }
  .console-log { padding:14px; line-height:1.6; }
  .audit-shell { display:block; }
  .audit-checks, .audit-result { padding:20px; }
  .audit-result { border-top:1px solid var(--editorial-line); }
  .audit-check { align-items:flex-start; min-height:unset; padding-block:14px; font-size:.7rem; }
  .audit-severity { min-width:61px; font-size:.46rem; }
  .audit-score strong { font-size:4.7rem; }
  .audit-actions { display:grid; grid-template-columns:1fr; }
  .audit-copy, .audit-share { width:100%; }
}
@media (max-width:520px) {
  .agent-map { min-height:465px; }
  .agent-node { max-width:125px; }
  .node-command { left:12px !important; top:90px !important; }
  .node-intelligence { right:12px !important; top:90px !important; }
  .node-systems { left:12px !important; bottom:76px !important; }
  .node-defense { right:12px !important; bottom:76px !important; }
  .node-signal { right:50% !important; top:50% !important; transform:translate(50%,-50%) !important; }
  .agent-network-foot { flex-direction:column; align-items:flex-start; gap:13px; }
  .console-lights { display:none; }
  .console-topbar > .mono { font-size:.43rem; }
}
