/* perpwave — liquid-glass aurora (serious-blue, glossy 3D, кинематографичный вход) */
/* Шрифты САМОХОСТ (Prajwal-аудит S1): ранее @import с fonts.googleapis.com — утечка IP/referrer
   посетителя в Google (нем. суды штрафовали за это под GDPR). Теперь woff2 локально в fonts/. */
@import url('fonts/fonts.css');

:root{
  /* indigo night */
  --navy:#0a1024; --navy-2:#0d1430; --navy-3:#121a40; --ink-deep:#070b1c;
  --navy-line:#28315e; --navy-line-2:#1b2347;
  /* iridescent accents (логотип) */
  --blue:#0a74d6; --blue-deep:#0b56a4; --blue-bright:#3d8bf5;
  --cyan:#74d4ff; --cyan-2:#aee6ff; --violet:#8f78f0; --violet-2:#b692f2; --pink:#caa7ee;
  --sky-soft:#e7f1fb;
  /* light surfaces (для нижних секций) */
  --ink:#141a2e; --carbon:#2c3350; --steel:#5a6280; --fog:#aab0c6;
  --sage:#dfe3ee; --mist:#cdd2e2; --linen:#f6f8fc; --paper:#ffffff; --cream:#fdfeff;
  --good:#1f9d6b; --good-glow:#37d39a; --warn:#c8852a;
  /* type */
  --serif:'Source Serif 4',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',monospace;
  --max:1180px;
  --glass:rgba(255,255,255,.04); --glass-line:rgba(255,255,255,.10);
  --shadow-card:rgba(0,0,0,.07) 0 1px 1px,rgba(0,0,0,.07) 0 6px 20px;
  --shadow-nav:rgba(6,10,28,.42) 0 10px 34px;
  --shadow-glow:0 30px 70px rgba(60,120,245,.30);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--ink-deep);color:#fff;-webkit-font-smoothing:antialiased;
  letter-spacing:-.011em;line-height:1.55;overflow-x:hidden}
::selection{background:rgba(116,212,255,.28);color:#fff}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;position:relative;z-index:2}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;line-height:1.06}
a{color:inherit;text-decoration:none}
.tnum{font-variant-numeric:tabular-nums}

/* ===== logo ===== */
.pwlogo{display:block}
.pwlogo use{transform-box:fill-box}

/* ===== aurora background (фикс, за всем) ===== */
.aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--ink-deep)}
.aurora b{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;mix-blend-mode:screen;will-change:transform}
.aurora .a1{width:60vw;height:60vw;left:-10vw;top:-18vw;background:radial-gradient(circle,#1d4ed8,transparent 65%);animation:drift1 26s var(--ease) infinite}
.aurora .a2{width:50vw;height:50vw;right:-12vw;top:-8vw;background:radial-gradient(circle,#7c5cff,transparent 62%);animation:drift2 32s var(--ease) infinite}
.aurora .a3{width:46vw;height:46vw;left:18vw;bottom:-22vw;background:radial-gradient(circle,#19a0e0,transparent 60%);animation:drift3 30s var(--ease) infinite}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(8vw,6vw) scale(1.15)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-7vw,9vw) scale(1.1)}}
@keyframes drift3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(6vw,-7vw) scale(1.2)}}

/* ===== nav (pill, frosted) ===== */
.nav-shell{position:sticky;top:18px;z-index:50;display:flex;justify-content:center;pointer-events:none}
.nav{pointer-events:auto;display:flex;align-items:center;gap:22px;background:rgba(12,18,42,.72);
  backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);
  border:1px solid var(--navy-line);border-radius:50px;padding:8px 12px 8px 16px;box-shadow:var(--shadow-nav)}
.nav .brand{display:flex;align-items:center;gap:9px;color:#fff;font-weight:700;font-size:15.5px;letter-spacing:-.02em}
.nav .brand .pwlogo{width:24px;height:26px}
.nav .links{display:flex;gap:20px;margin:0 6px}
.nav .links a{color:#c7cce0;font-size:14px;font-weight:500;transition:color .15s}.nav .links a:hover{color:var(--cyan)}
.nav .status{display:flex;align-items:center;gap:6px;color:#9aa3c4;font-size:12.5px;font-family:var(--mono)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--good-glow);box-shadow:0 0 0 3px rgba(55,211,154,.18);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(55,211,154,.18)}50%{box-shadow:0 0 0 6px rgba(55,211,154,.05)}}
.cta{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--blue-bright),var(--blue));
  color:#fff;font-size:14px;font-weight:600;padding:9px 15px;border-radius:9px;transition:transform .15s var(--ease),box-shadow .2s;
  box-shadow:0 6px 18px rgba(13,116,214,.4)}
.cta:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(61,139,245,.5)}
.cta.ghost{background:transparent;color:#fff;border:1px solid var(--navy-line);box-shadow:none}
.cta.ghost:hover{background:rgba(255,255,255,.06)}
@media(max-width:780px){.nav .links,.nav .status{display:none}}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:15px;font-weight:600;
  padding:14px 22px;border-radius:11px;transition:transform .15s var(--ease),box-shadow .2s;cursor:pointer;border:0;position:relative;overflow:hidden}
.btn.primary{background:linear-gradient(135deg,#5ea0ff,var(--blue));color:#fff;box-shadow:0 10px 28px rgba(13,116,214,.45)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(61,139,245,.55)}
.btn.primary::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  transform:translateX(-120%);transition:transform .6s var(--ease)}
.btn.primary:hover::after{transform:translateX(120%)}
.btn.glass{background:var(--glass);color:#fff;border:1px solid var(--glass-line);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn.glass:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.btn.light{background:#fff;color:var(--navy)}.btn.light:hover{transform:translateY(-2px)}

/* ===== sections ===== */
section{padding:96px 0;position:relative;z-index:2}
.kicker{font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cyan);margin-bottom:16px;display:inline-flex;align-items:center;gap:8px}
.kicker::before{content:"";width:22px;height:1px;background:var(--cyan);opacity:.6}
.lead{font-size:clamp(28px,4vw,42px);max-width:17em;line-height:1.08}
.lead .link{background:linear-gradient(120deg,var(--cyan),var(--violet-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:#aeb6d4}

/* glass card */
.glass{background:rgba(255,255,255,.045);border:1px solid var(--glass-line);border-radius:18px;
  backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 20px 50px rgba(5,9,26,.4)}

/* ===== scroll reveal ===== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

/* ===== footer ===== */
footer{padding:48px 0;border-top:1px solid var(--navy-line-2);color:#8e98bd;font-size:13.5px;position:relative;z-index:2}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.foot .brand{display:flex;align-items:center;gap:9px;color:#fff;font-weight:700}
.foot .brand .pwlogo{width:22px;height:24px}

/* ============================================================= */
/* ===== ИНСТИТУЦИОНАЛЬНЫЙ СЛОЙ (приватный квант-фонд) ===== */
/* ============================================================= */

/* секции-заголовки */
.section-head{max-width:46em;margin-bottom:40px}
.section-head .lead{margin-top:14px}
.section-head p.sub{margin-top:16px;color:#aeb6d4;font-size:16.5px;line-height:1.65;max-width:40em}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

/* badge — мелкий статус-чип */
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;font-weight:600;
  padding:4px 10px;border-radius:50px;letter-spacing:.02em}
.badge.verify{background:rgba(116,212,255,.12);color:var(--cyan)}
.badge.good{background:rgba(55,211,154,.14);color:var(--good-glow)}
.badge.warn{background:rgba(200,133,42,.16);color:var(--warn)}
.badge.demo{background:rgba(255,255,255,.06);color:#9aa3c4}

/* stat — крупная измеренная цифра */
.stat{padding:22px 0}
.stat .v{font-family:var(--serif);font-size:clamp(26px,3vw,34px);color:#fff;letter-spacing:-.02em;line-height:1}
.stat .v .u{font-family:var(--sans);font-size:14px;color:#9fb0dd}
.stat .l{margin-top:8px;color:#8e98bd;font-size:13px;line-height:1.5}
.stat .d{margin-top:4px;font-size:12px;color:#9fb0dd}.stat .d.up{color:var(--good-glow)}

/* proof — карточка доказательства с «как проверить» */
.proof{padding:22px 24px;border-radius:16px}
.proof .ph{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.proof .seal{width:34px;height:34px;border-radius:9px;background:rgba(116,212,255,.14);color:var(--cyan);
  display:grid;place-items:center;flex:none;font-size:16px}
.proof h3{font-family:var(--sans);font-size:16px;font-weight:600;color:#fff}
.proof p{color:#aab2d0;font-size:14px;line-height:1.6}
.proof .verify{margin-top:14px;font-family:var(--mono);font-size:12px;color:#9fb0dd;display:flex;gap:8px;
  align-items:center;border-top:1px solid var(--navy-line-2);padding-top:12px}
.proof .verify b{color:var(--cyan);font-weight:600}

/* spec-table — институциональная таблица данных */
.spec-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.spec-table th{text-align:left;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;
  color:#9aa3c4;font-weight:500;padding:12px 16px;border-bottom:1px solid var(--navy-line)}
.spec-table td{padding:13px 16px;border-top:1px solid var(--navy-line-2);font-size:13.5px;color:#cdd6f4}
.spec-table tr.hl td{background:rgba(116,212,255,.07)}
.spec-table td.good{color:var(--good-glow);font-weight:600}.spec-table td.warn{color:var(--warn);font-weight:600}
.spec-table .mono{font-family:var(--mono);font-size:12.5px;color:#9fb0dd}

/* diagram — рамка под SVG-схемы */
.diagram{padding:18px;border-radius:18px;overflow:hidden}
.diagram svg{width:100%;display:block}
.diagram .cap{margin-top:10px;font-family:var(--mono);font-size:12px;color:#9aa3c4;text-align:center}

/* accordion — FAQ */
.accordion{display:flex;flex-direction:column;gap:10px}
.acc-item{border:1px solid var(--glass-line);border-radius:14px;background:rgba(255,255,255,.025);overflow:hidden}
.acc-item>button{width:100%;text-align:left;background:transparent;border:0;cursor:pointer;color:#fff;
  font-family:var(--sans);font-size:16px;font-weight:500;padding:18px 20px;display:flex;justify-content:space-between;
  align-items:center;gap:16px}
.acc-item>button .ic{flex:none;color:var(--cyan);font-size:20px;transition:transform .25s var(--ease)}
.acc-item.open>button .ic{transform:rotate(45deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.acc-body .inner{padding:0 20px 20px;color:#aab2d0;font-size:14.5px;line-height:1.65}
.acc-body .inner a{color:var(--cyan)}

/* note — институциональная оговорка */
.note-card{display:flex;gap:10px;background:rgba(255,255,255,.03);border:1px solid var(--navy-line-2);
  border-radius:12px;padding:14px 16px;font-size:13px;color:#9aa3c4;line-height:1.55}
.note-card .ic{flex:none;color:#9fb0dd}

/* eyebrow — mono-пилюля над заголовком внутренних страниц (была только в index.html → в общий слой) */
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#bcc6ea;font-family:var(--mono);font-size:12.5px;
  letter-spacing:.06em;border:1px solid var(--navy-line);border-radius:50px;padding:7px 14px;margin-bottom:24px;
  background:rgba(255,255,255,.03)}
.eyebrow .tick{color:var(--cyan);font-size:11px;line-height:1}

/* kbar — credibility bar */
.kbar{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-family:var(--mono);
  font-size:11.5px;color:#8e98bd;padding:14px 0;border-top:1px solid var(--navy-line-2)}
.kbar span{display:inline-flex;align-items:center;gap:6px}

/* feature list (safety-stack и т.п.) */
.flist{display:flex;flex-direction:column;gap:2px}
.frow{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--navy-line-2)}.frow:first-child{border-top:0}
.frow .fic{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,rgba(116,212,255,.16),rgba(143,120,240,.16));
  border:1px solid var(--glass-line);color:var(--cyan);display:grid;place-items:center;flex:none}
.frow .ft{font-size:15px;font-weight:600;color:#fff}.frow .fm{margin-top:3px;color:#9fb0dd;font-size:13.5px;line-height:1.55}

/* page-hero — заголовок внутренних страниц */
.page-hero{padding:120px 0 30px;margin-top:-72px}
.page-hero h1{font-size:clamp(34px,5vw,54px);color:#fff;max-width:16em;line-height:1.06}
.page-hero h1 .it{font-style:italic;background:linear-gradient(120deg,var(--cyan),var(--violet-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero p{margin-top:20px;max-width:34em;color:#bcc4e0;font-size:17px;line-height:1.6}
.page-hero .badges{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap}

/* band — CTA-полоса */
.band{border-radius:26px;padding:58px;text-align:center;overflow:hidden;position:relative;
  background:linear-gradient(135deg,rgba(13,20,48,.8),rgba(18,26,64,.7));border:1px solid var(--navy-line)}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 130% at 50% -10%,rgba(116,212,255,.16),transparent 55%)}
.band h2{font-size:clamp(28px,4vw,40px);margin-bottom:12px;color:#fff;position:relative}
.band p{color:#bcc4e0;max-width:34em;margin:0 auto 26px;font-size:16px;position:relative}
.band .actions{position:relative;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

@media(max-width:900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section-head{margin-bottom:30px}
  section{padding:64px 0}.spec-table{font-size:12.5px}.spec-table th,.spec-table td{padding:10px 10px}
  .band{padding:40px 24px}.nav .links{display:none}}

/* ============================================================= */
/* ===== UI-UX PRO MAX: a11y + интеракции (Trust & Authority) ==== */
/* ============================================================= */

/* CRITICAL #1 — видимое кольцо фокуса для клавиатуры (focus-visible, не трогаем mouse-focus) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--cyan);outline-offset:3px;border-radius:8px}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}

/* CRITICAL #2 — tap без 300ms задержки + cursor на кликабельном */
a,button,.cta,.btn,.seg button,.acc-item>button,.flat{touch-action:manipulation}
button,.cta,.btn,.seg button,.acc-item>button,.flat,.lift{cursor:pointer}

/* skip-link (a11y: пропустить к контенту) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--blue);color:#fff;
  padding:12px 18px;border-radius:0 0 12px 0;font-weight:600;font-size:14px;font-family:var(--sans)}
.skip-link:focus{left:0}

/* интерактивные КАРТОЧКИ — единый hover (transform-only -> без layout-shift; 180ms ease-out) */
.proof,.cyc,.step,.role,.arch-col,.kpi{transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}
.proof:hover,.cyc:hover,.step:hover,.role:hover,.arch-col:hover,.kpi:hover{
  transform:translateY(-3px);border-color:rgba(116,212,255,.30);box-shadow:0 26px 64px rgba(5,9,26,.55)}
.acc-item{transition:border-color .18s var(--ease)}.acc-item:hover{border-color:rgba(116,212,255,.22)}
.btn,.cta{transition:transform .15s var(--ease),box-shadow .2s var(--ease),background .15s}

/* tabular figures на ВСЕХ данных (skill number-tabular — precision/quant вид) */
.stat .v,.kpi .v,.metric .v,.netline b,.spec-table td,.spec-table th,.pnl,.mono,.tnum,.rrow b,.lev,.t,.pct{
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* anchor offset под sticky-nav (fixed-element-offset) */
:target{scroll-margin-top:100px}
section[id],[id="request"],[id="trust"],[id="scope"],[id="how"],[id="roles"]{scroll-margin-top:96px}

/* активная навигация (nav-state-active + aria-current стилизуется) */
.nav .links a.active,.nav .links a[aria-current="page"]{color:var(--cyan)}

/* read-only/visually-hidden утилита */
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* reduce motion (skill HIGH) — отключает все анимации/transition, hover остаётся мгновенным */
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}
  .proof:hover,.cyc:hover,.step:hover,.role:hover,.arch-col:hover,.kpi:hover,.lift:hover{transform:none}}
