@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 500;
  font-display:swap;
  src: url(/fonts/Geologica-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 500;
  font-display:swap;
  src: url(/fonts/Geologica-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src: url(/fonts/Geologica-600-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src: url(/fonts/Geologica-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 700;
  font-display:swap;
  src: url(/fonts/Geologica-700-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geologica';
  font-style: normal;
  font-weight: 700;
  font-display:swap;
  src: url(/fonts/Geologica-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display:swap;
  src: url(/fonts/GolosText-400-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display:swap;
  src: url(/fonts/GolosText-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 500;
  font-display:swap;
  src: url(/fonts/GolosText-500-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 500;
  font-display:swap;
  src: url(/fonts/GolosText-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src: url(/fonts/GolosText-600-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src: url(/fonts/GolosText-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --ink:#0C1B3A; --ink2:#33415F; --mute:#5D6B88; --mute2:#8A96AE;
  --paper:#F5F7FB; --white:#FFFFFF; --line:#DCE3EF; --line2:#C9D3E4;
  --orion:#1F5BEF; --orion-d:#1446C7; --orion-soft:#EAF0FE; --sky:#9DB8F7;
  --leak:#D9452B; --leak-soft:#FCEDEA; --warn:#C77C0A; --warn-soft:#FDF4E3; --ok:#0E8F64; --ok-soft:#E6F5EF;
  --disp:'Geologica',system-ui,sans-serif; --body:'Golos Text',system-ui,sans-serif;
  --wrap:1240px; --gut:24px; --r:14px; --r-s:9px;
  --t-press:100ms; --t-hover:160ms; --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;overflow-x:clip;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--body);font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--orion-d)}
h1,h2,h3{font-family:var(--disp);margin:0;color:var(--ink)}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--orion);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:50;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.muted{color:var(--mute)}
.fine{margin-top:22px;font-size:15px;color:var(--mute);max-width:62ch}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:10px;border:1px solid var(--orion);background:var(--orion);color:#fff;font:600 16px/1 var(--body);text-decoration:none;cursor:pointer;transition:background var(--t-hover) var(--ease),border-color var(--t-hover),color var(--t-hover),transform var(--t-press)}
.btn:hover{background:var(--orion-d);border-color:var(--orion-d)}
.btn:active{transform:translateY(1px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn--ghost:hover{background:var(--white);border-color:var(--ink2);color:var(--ink)}
.btn--sm{min-height:40px;padding:0 14px;font-size:14.5px}

/* header */
.top{position:sticky;top:0;z-index:30;background:rgba(245,247,251,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color var(--t-hover)}
.top.scrolled{border-bottom-color:var(--line)}
.top__in{display:flex;align-items:center;gap:28px;height:72px}
.brand img{width:44px;height:auto}
.nav{display:flex;gap:26px;margin-right:auto}
.nav a{color:var(--ink2);text-decoration:none;font-size:15.5px;padding:8px 0;border-bottom:2px solid transparent;transition:color var(--t-hover),border-color var(--t-hover)}
.nav a:hover{color:var(--ink);border-bottom-color:var(--sky)}
.top__act{display:flex;align-items:center;gap:12px}
.lang{display:inline-grid;place-items:center;min-width:44px;height:40px;border-radius:9px;border:1px solid var(--line2);color:var(--ink);text-decoration:none;font:600 14px/1 var(--body);transition:border-color var(--t-hover),background var(--t-hover)}
.lang:hover{border-color:var(--ink2);background:var(--white)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line2);border-radius:9px;background:transparent;cursor:pointer;position:relative}
.burger i{position:absolute;left:12px;right:12px;height:2px;background:var(--ink);border-radius:2px;transition:transform var(--t-hover)}
.burger i:first-of-type{top:17px}.burger i:last-of-type{top:25px}
.burger[aria-expanded=true] i:first-of-type{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}

/* hero */
.hero{padding:56px 0 24px}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:40px;align-items:start}
.hero h1{font-weight:700;font-size:clamp(42px,5.5vw,78px);line-height:1.02;letter-spacing:-.036em;text-wrap:balance;max-width:13ch}
.hero__lead{margin-top:26px;font-size:20px;line-height:1.5;color:var(--ink2);max-width:46ch}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:34px 0 0;max-width:620px}
.trio div{padding:14px 18px 0 0;border-top:2px solid var(--ink)}
.trio div+div{padding-left:18px;border-left:1px solid var(--line)}
.trio dt{font:600 18px/1.2 var(--disp);letter-spacing:-.01em}
.trio dd{margin:6px 0 0;font-size:15px;line-height:1.4;color:var(--mute)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.hero__note{margin-top:18px;font-size:15px;color:var(--mute)}

/* star chart */
.sky{position:relative;margin:0;width:100%}
.sky__svg{width:100%;height:auto;max-height:560px;aspect-ratio:600/660;display:block;overflow:visible;margin:0 auto}
.sky .grid line{stroke:var(--line);stroke-width:1}
.sky .grid text{fill:var(--mute2);font:400 11px var(--body)}
.sky .bg circle{fill:var(--sky);opacity:.55}
.sky .edge{stroke:var(--sky);stroke-width:1.4;fill:none;transition:stroke var(--t-hover)}
.sky .edge.on{stroke:var(--orion);stroke-width:2}
.sky .star{cursor:pointer;outline:none}
.sky .star .hit{fill:transparent}
.sky .star .core{fill:var(--ink);transition:fill var(--t-hover)}
.sky .star .ring{fill:none;stroke:transparent;stroke-width:2;transition:stroke var(--t-hover)}
.sky .star .lbl{fill:var(--ink2);font:500 13px var(--body);transition:fill var(--t-hover)}
.sky .star:hover .core,.sky .star:focus-visible .core{fill:var(--orion)}
.sky .star:focus-visible .ring{stroke:var(--orion)}
.sky .star.on .core{fill:var(--sev,var(--warn))}
.sky .star.on .ring{stroke:var(--sev,var(--warn))}
.sky .star.on .lbl{fill:var(--ink);font-weight:600}
.sky .pulse{fill:none;stroke:var(--sev,var(--warn));stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
.sky .star.on .pulse{animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
.sig{position:static;width:100%;margin-top:6px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px 16px 13px;box-shadow:0 18px 40px -24px rgba(12,27,58,.45);transition:left .45s var(--ease),top .45s var(--ease),opacity .2s}
.sig__top{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mute);flex-wrap:wrap}
.sig__det{font-weight:600;color:var(--ink)}
.sig__ex{margin-left:auto;font-size:12px;color:var(--mute2)}
.sig b{display:block;margin-top:8px;font:600 17px/1.3 var(--disp);letter-spacing:-.005em}
.sig__row{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px}
.sig__obj{margin:0;font-size:14px;color:var(--ink2)}
.sig__src{margin:0;align-self:center;font-size:12.5px;color:var(--mute)}
.dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--warn)}
.dot--crit{background:var(--leak)}.dot--high{background:#E06A1B}.dot--warn{background:var(--warn)}

.sky__list{display:none}
.sky__list button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line2);border-radius:999px;background:var(--white);font-size:14.5px;cursor:pointer;transition:border-color var(--t-hover),background var(--t-hover)}
.sky__list button[aria-pressed=true]{border-color:var(--orion);background:var(--orion-soft)}
/* sections */
.sec{padding:112px 0}
.sec--white{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec__head{max-width:860px;margin-bottom:52px}
.sec__head h2{font-weight:600;font-size:clamp(30px,3.5vw,48px);line-height:1.08;letter-spacing:-.026em;text-wrap:balance}
.sec__head p{margin-top:18px;font-size:19px;color:var(--ink2);max-width:60ch}

/* screens */
.screen{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -40px rgba(12,27,58,.4);overflow:hidden}
.screen__bar{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:14px;flex-wrap:wrap}
.screen__bar b{font:600 17px/1 var(--disp)}
.screen__bar em{margin-left:auto;font-style:normal;font-size:12.5px;color:var(--mute2)}
.tabs{display:flex;flex-wrap:wrap;gap:2px;background:var(--paper);border-radius:9px;padding:3px}
.tabs span{padding:6px 10px;border-radius:7px;color:var(--mute);font-size:13px}
.tabs span.on{background:var(--orion);color:#fff}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 18px}
.kpis--5{grid-template-columns:repeat(5,1fr)}
.kpi{border:1px solid var(--line);border-left:3px solid var(--line2);border-radius:10px;padding:10px 12px;min-width:0;transition:box-shadow var(--t-hover),border-color var(--t-hover)}
.kpi span{display:block;font-size:12.5px;color:var(--mute)}
.kpi b{display:block;margin-top:4px;font:600 22px/1.15 var(--disp);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.kpi small{display:block;margin-top:3px;font-size:12px;color:var(--mute);line-height:1.3}
.kpi--b{border-left-color:var(--orion)}.kpi--r{border-left-color:var(--leak)}.kpi--a{border-left-color:var(--warn)}
.kpi--hot{border-color:#F2B8AC;border-left-color:var(--leak)}
.kpi--hot b{color:var(--leak)}
.hl{box-shadow:0 0 0 3px var(--orion)!important;border-radius:10px;position:relative;z-index:1}

/* leaks */
.leaks{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.3fr);gap:28px;align-items:start}
.ledgers{display:grid;gap:10px}
.ledger{all:unset;box-sizing:border-box;display:block;cursor:pointer;padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;background:var(--white);transition:border-color var(--t-hover),box-shadow var(--t-hover)}
.ledger:hover{border-color:var(--line2);border-left-color:var(--sky)}
.ledger[aria-selected=true]{border-color:var(--orion);border-left-color:var(--orion);box-shadow:0 0 0 3px var(--orion-soft)}
.ledger:focus-visible{outline:3px solid var(--orion);outline-offset:3px}
.ledger__t{display:block;font:600 21px/1.2 var(--disp);letter-spacing:-.01em}
.ledger ul{margin-top:8px;display:grid;gap:3px}
.ledger li{font-size:15px;color:var(--ink2);padding-left:14px;position:relative}
.ledger li::before{content:"";position:absolute;left:0;top:.65em;width:6px;height:1.5px;background:var(--mute2)}
.queue{padding:4px 18px 18px;min-height:250px}
.qrow{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px 0;border-top:1px solid var(--line);animation:qin .32s var(--ease) both}
.qrow:nth-child(2){animation-delay:.05s}.qrow:nth-child(3){animation-delay:.1s}
@keyframes qin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.qrow .dot{margin-top:7px}
.qrow b{display:block;font-weight:600;font-size:15.5px}
.qrow small{display:block;margin-top:2px;font-size:13px;color:var(--mute)}
.qrow .amt{font:600 15px/1.3 var(--disp);color:var(--leak);text-align:right;white-space:nowrap}
.qrow .sev{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:11.5px;font-weight:500;vertical-align:2px}
.sev--crit{background:var(--leak-soft);color:var(--leak)}.sev--high{background:#FDEBDF;color:#B4520F}.sev--warn{background:var(--warn-soft);color:#965C05}

/* flow */
.flow{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:28px;align-items:stretch}
.steps{display:grid;gap:6px;counter-reset:s}
.steps button{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;cursor:pointer;border:1px solid transparent;transition:background var(--t-hover),border-color var(--t-hover)}
.steps button:hover{background:var(--paper)}
.steps button:focus-visible{outline:3px solid var(--orion);outline-offset:2px}
.steps .n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line2);font:600 16px/1 var(--disp);color:var(--ink2);transition:all var(--t-hover)}
.steps b{display:block;font:600 18px/1.2 var(--disp)}
.steps small{display:block;font-size:14px;color:var(--mute);margin-top:2px}
.steps button[aria-selected=true]{background:var(--orion-soft);border-color:#C9D7FB}
.steps button[aria-selected=true] .n{background:var(--orion);border-color:var(--orion);color:#fff}
.steps button.done .n{border-color:var(--orion);color:var(--orion)}
.fpanel{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:30px 32px;display:flex;flex-direction:column;min-height:360px}
.fpanel__ex{font-size:14.5px;color:var(--mute)}
.fpanel__body{flex:1;margin-top:20px}
.fpanel__step{display:flex;align-items:baseline;gap:14px}
.fpanel__step b{font:700 clamp(40px,5vw,64px)/1 var(--disp);letter-spacing:-.04em;color:var(--orion)}
.fpanel__step span{font:600 26px/1.15 var(--disp);letter-spacing:-.02em}
.fpanel__p{margin-top:18px;font-size:20px;line-height:1.5;color:var(--ink);max-width:52ch}
.fpanel__tag{display:inline-block;margin-top:18px;padding:4px 10px;border-radius:999px;background:var(--white);border:1px solid var(--line);font-size:13px;color:var(--ink2)}
.fpanel__track{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:26px}
.fpanel__track i{height:4px;border-radius:2px;background:var(--line);transition:background var(--t-hover)}
.fpanel__track i.on{background:var(--orion)}
.fpanel__nav{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px;border-top:1px solid var(--line)}
.pillars li{padding:18px 20px 0 0;font:500 16px/1.4 var(--body);color:var(--ink);position:relative;padding-left:28px}
.pillars li::before{content:"";position:absolute;left:0;top:22px;width:16px;height:9px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}

/* live */
.tower__obj{padding:14px 18px 0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}
.tower__obj b{font:600 20px/1.2 var(--disp)}
.tower__obj span{font-size:13px;color:var(--mute)}
.tower__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;padding:0 18px 18px}
.tbl-wrap{border:1px solid var(--line);border-radius:12px;overflow-x:auto}
.tbl-cap{display:block;padding:12px 14px 8px;font-size:13px;font-weight:600;color:var(--ink2)}
.model .tbl-cap,.model__time .tbl-cap{padding:0;margin-bottom:12px}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.tbl th{text-align:left;font-weight:500;font-size:12px;color:var(--mute);padding:6px 12px;border-bottom:1px solid var(--line)}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td b{display:block;font-weight:600}
.tbl td small{display:block;color:var(--mute);font-size:12px;margin-top:2px}
.tbl tr.st-crit td{background:#FDF3F1}
.tbl tr.st-crit td:nth-child(3),.tbl tr.st-crit td:nth-child(4){color:var(--leak);font-weight:600}
.chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}
.chip--crit{background:var(--leak-soft);color:var(--leak)}.chip--warn{background:var(--warn-soft);color:#965C05}.chip--ok{background:var(--ok-soft);color:var(--ok)}
.orders{border:1px solid var(--line);border-radius:12px}
.order{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 12px;padding:12px 14px;border-top:1px solid var(--line);font-size:13.5px}
.order:first-of-type{border-top:0}
.order b{display:block;font-weight:600}
.order small{display:block;color:var(--mute);font-size:12.5px;margin-top:2px}
.order button{grid-column:2;justify-self:start;margin-top:6px}
.order--orion small{color:var(--ink2)}
.order button.done{background:var(--ok);border-color:var(--ok);color:#fff}
.callouts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.callouts button{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:var(--white);transition:border-color var(--t-hover),box-shadow var(--t-hover)}
.callouts button:hover,.callouts button[aria-pressed=true]{border-color:var(--orion);box-shadow:0 0 0 3px var(--orion-soft)}
.callouts button:focus-visible{outline:3px solid var(--orion);outline-offset:3px}
.callouts b{display:block;font:600 26px/1.1 var(--disp);letter-spacing:-.02em}
.callouts span{display:block;margin-top:4px;font-size:14.5px;color:var(--mute)}
.proof{margin-top:28px;padding:16px 0 0 20px;border-left:3px solid var(--orion);font:500 18px/1.45 var(--body);max-width:64ch}

/* model */
.model{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:start}
.model__src ul{display:flex;flex-wrap:wrap;gap:8px}
.model__src li{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);font-weight:500;font-size:15px}
.model__core{border:1px solid #C9D7FB;background:var(--orion-soft);border-radius:16px;padding:22px 24px;position:relative}
.model__core::before,.model__core::after{content:"";position:absolute;top:50%;width:28px;height:1.5px;background:var(--sky)}
.model__core::before{left:-28px}.model__core::after{right:-28px}
.model__core li{padding:10px 0 10px 28px;border-top:1px solid #D5E0FC;position:relative;color:var(--mute);transition:color .3s}
.model__core li:first-child{border-top:0}
.model__core li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--sky);background:var(--white);transition:all .3s}
.model__core li.on{color:var(--ink);font-weight:500}
.model__core li.on::before{background:var(--orion);border-color:var(--orion)}
.model__time output{display:block;font:700 52px/1 var(--disp);letter-spacing:-.04em;color:var(--orion)}
.model__time input[type=range]{width:100%;margin:12px 0 6px;accent-color:var(--orion);height:44px}
.days li{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line);font-size:14.5px;color:var(--mute);transition:color .3s}
.days li b{font-weight:600}
.days li.on{color:var(--ink)}

/* bench */
.bench{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:28px;align-items:start}
.lenses{display:grid;gap:8px}
.lenses button{all:unset;box-sizing:border-box;cursor:pointer;display:block;padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:var(--white);transition:border-color var(--t-hover),box-shadow var(--t-hover)}
.lenses button:hover{border-color:var(--line2)}
.lenses button[aria-selected=true]{border-color:var(--orion);box-shadow:0 0 0 3px var(--orion-soft)}
.lenses button:focus-visible{outline:3px solid var(--orion);outline-offset:3px}
.lenses b{font:600 19px/1.2 var(--disp)}
.lenses ul{margin-top:6px;font-size:14px;color:var(--mute);display:flex;flex-wrap:wrap;gap:2px 14px}
.chart{margin:0;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px 18px 14px}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{margin-top:10px;font-size:14.5px;color:var(--mute)}
.chart text{font:400 11.5px var(--body);fill:var(--mute)}

/* reuse */
.reuse{width:100%;border-collapse:collapse}
.reuse th,.reuse td{text-align:left;padding:20px 16px 20px 0;border-top:1px solid var(--line);vertical-align:baseline}
.reuse thead th{font-weight:500;font-size:14px;color:var(--mute);padding-top:0;border-top:0}
.reuse tbody th{font:600 21px/1.25 var(--disp);letter-spacing:-.01em;width:28%}
.reuse__scale{font:600 26px/1.15 var(--disp);letter-spacing:-.02em;color:var(--orion);width:24%;white-space:nowrap}
.reuse td:last-child{font-size:16.5px;color:var(--ink2)}

/* arch */
.arch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.arch .sec__head{margin-bottom:0}
.guar{margin-top:28px;display:grid;gap:10px}
.guar li{position:relative;padding-left:28px;font-weight:500}
.guar li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:8px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.layers{display:grid;gap:10px;counter-reset:l}
.layers li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:20px 22px;border-radius:14px;background:var(--white);border:1px solid var(--line)}
.layers li:nth-child(1){margin-right:0}.layers li:nth-child(2){margin-left:14px}.layers li:nth-child(3){margin-left:28px}
.layers li:nth-child(4){margin-left:42px;background:var(--ink);border-color:var(--ink)}
.layers li:nth-child(4) b,.layers li:nth-child(4) span{color:#fff}
.layers li:nth-child(4) span{color:#C3CDE2}
.layers b{font:600 18px/1.25 var(--disp)}
.layers span{font-size:15px;color:var(--ink2)}

/* start */
.road{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.road li{position:relative;padding-top:58px}
.road .n{position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;background:var(--white);border:1.5px solid var(--orion);display:grid;place-items:center;font:600 17px/1 var(--disp);color:var(--orion)}
.road li::after{content:"";position:absolute;top:22px;left:52px;right:-8px;height:1.5px;background:var(--sky)}
.road li:last-child::after{display:none}
.road b{display:block;font:600 19px/1.2 var(--disp)}
.road span{display:block;margin-top:6px;font-size:15px;color:var(--ink2)}
.phases{display:flex;gap:16px;margin-top:30px}
.phases div{flex:var(--n);min-width:0;padding:12px 14px;border-radius:10px;background:var(--orion-soft);border:1px solid #C9D7FB}
.phases div:nth-child(2){background:var(--orion);border-color:var(--orion)}
.phases div:nth-child(2) b,.phases div:nth-child(2) span{color:#fff}
.phases b{font:600 15px/1.2 var(--disp)}
.phases span{display:block;font-size:14px;color:var(--ink2);margin-top:2px}

/* cta */
.cta{background:var(--paper)}
.cta__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.cta h2{font-weight:600;font-size:clamp(30px,3.5vw,46px);line-height:1.08;letter-spacing:-.026em;text-wrap:balance}
.cta__copy p{margin-top:18px;font-size:19px;color:var(--ink2)}
.cta__or{font-size:15px!important;color:var(--mute)!important;margin-top:36px!important}
.cta__direct{display:flex;flex-direction:column;gap:6px;margin-top:8px!important}
.cta__direct a{font:600 20px/1.3 var(--disp);text-decoration:none;color:var(--ink)}
.cta__direct a:hover{color:var(--orion)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:28px}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0;border:0;padding:0;margin:0}
.fld--wide{grid-column:1/-1}
.fld label,.fld legend{font-size:14.5px;font-weight:500;color:var(--ink)}
.fld legend{margin-bottom:8px}
.opt{color:var(--mute);font-weight:400}
.fld input:not([type=radio]):not([type=checkbox]),.fld textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--white);border:1px solid var(--line2);border-radius:10px;padding:11px 13px;min-height:48px;transition:border-color var(--t-hover),box-shadow var(--t-hover)}
.fld input:hover,.fld textarea:hover{border-color:var(--mute2)}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--orion);box-shadow:0 0 0 3px var(--orion-soft)}
.fld .bad{border-color:var(--leak)!important}
.err{min-height:0;font-size:13.5px;color:var(--leak)}
.err:empty{display:none}
.areas{display:flex;flex-wrap:wrap;gap:8px}
.area input{position:absolute;opacity:0;pointer-events:none}
.area span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line2);border-radius:999px;font-size:14.5px;cursor:pointer;transition:all var(--t-hover)}
.area span:hover{border-color:var(--ink2)}
.area input:checked+span{background:var(--orion);border-color:var(--orion);color:#fff}
.area input:focus-visible+span{outline:3px solid var(--orion);outline-offset:3px}
.consent{display:grid!important;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-weight:400!important;font-size:14.5px!important;color:var(--ink2)!important;cursor:pointer}
.consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--orion)}
.form__act{flex-direction:row}
.form__ok{grid-column:1/-1;padding:16px 18px;border-radius:12px;background:var(--ok-soft);border:1px solid #BFE6D6}
.form__ok b{display:block;font:600 17px/1.3 var(--disp)}
.form__ok p{margin-top:4px;font-size:15px;color:var(--ink2)}
.form__ok.is-err{background:var(--leak-soft);border-color:#F2C2B8}
.hp{position:absolute;left:-9999px}

/* footer */
.foot{border-top:1px solid var(--line);padding:36px 0 44px;background:var(--white)}
.foot__in{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start}
.foot__in>div{display:flex;gap:16px;align-items:flex-start}
.foot__in p{font-size:14.5px;color:var(--ink2);line-height:1.5}
.foot__in p span{color:var(--mute)}
.foot ul{display:grid;gap:6px;justify-items:end;font-size:14.5px}
.foot__c{grid-column:1/-1;font-size:13.5px!important;color:var(--mute)!important}

/* legal pages */
.legal{max-width:820px;padding:56px 0 96px}
.legal h1{font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-.025em}
.legal h2{font-size:24px;margin-top:40px}
.legal h3{font-size:19px;margin-top:28px}
.legal p,.legal li{font-size:16px;line-height:1.6;color:var(--ink2);margin-top:12px}
.legal ul{list-style:disc;padding-left:22px}
.legal table{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px;display:block;overflow-x:auto}
.legal th,.legal td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.legal .back{display:inline-block;margin-bottom:24px;font-weight:500}


/* hints: where to click */
.hint{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:7px 14px 7px 10px;border-radius:999px;background:var(--orion-soft);border:1px solid #C9D7FB;color:var(--orion-d);font-size:14.5px;font-weight:500;transition:opacity .4s,background .3s,color .3s}
.hint__ico{width:20px;height:20px;fill:var(--orion);flex:none;animation:tap 1.6s var(--ease) infinite;transform-origin:50% 90%}
@keyframes tap{0%,55%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(3px) scale(.92)}}
.hint--done{background:transparent;border-color:var(--line);color:var(--mute)}
.hint--done .hint__ico{animation:none;fill:var(--mute2)}
.hero__viz{min-width:0}
.hero__viz .hint{margin-bottom:6px}
/* pulsing ring around the next thing to click */
.nudge{position:relative}
.nudge::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(31,91,239,.55);pointer-events:none;animation:ring 2s var(--ease) infinite}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(31,91,239,.5)}70%,100%{box-shadow:0 0 0 7px rgba(31,91,239,0)}}
.sky .star.beckon .ring,.hub .co.beckon .halo{animation:breathe 2.4s ease-in-out infinite}
@keyframes breathe{0%,100%{stroke:transparent}50%{stroke:var(--sky)}}
/* autoplay progress on the current step */
.steps button{position:relative;overflow:hidden}
.steps button .prog{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--orion);border-radius:0 2px 2px 0}
.steps button.playing .prog{animation:prog var(--dur,4.5s) linear forwards}
@keyframes prog{to{width:100%}}
.chart polyline.draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw 1.1s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.sky .edge.draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw 1.2s var(--ease) forwards}
.sky .star.pop{opacity:0;animation:pop .5s var(--ease) forwards}
@keyframes pop{from{opacity:0}to{opacity:1}}

/* holding */
.hold{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start}
.hold__viz{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:12px 12px 14px}
.hub{width:100%;height:auto;display:block}
.hub .orbit{fill:none;stroke:var(--line2);stroke-dasharray:2 6}
.hub .orbit2{fill:none;stroke:var(--line)}
.hub .spoke{fill:none;stroke:#D6E1FA;stroke-width:1.6;transition:stroke var(--t-hover),stroke-width var(--t-hover)}
.hub .spoke.on{stroke:var(--orion);stroke-width:2.4}
.hub .co{cursor:pointer;outline:none}
.hub .co rect.box{fill:var(--white);stroke:var(--line);stroke-width:1.2;transition:stroke var(--t-hover),filter var(--t-hover)}
.hub .co:hover rect.box,.hub .co:focus-visible rect.box{stroke:var(--orion)}
.hub .co.on rect.box{stroke:var(--orion);stroke-width:2.4}
.hub .co .halo{fill:none;stroke:transparent;stroke-width:2}
.hub .co .nm{font:600 15px var(--disp);fill:var(--ink)}
.hub .co .ind{font:400 11.5px var(--body);fill:var(--mute)}
.hub .co .code{font:600 11px var(--body);fill:var(--mute2)}
.hub .ctr{font:500 12px var(--body);fill:var(--mute)}
.hub__legend{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;padding:4px 8px 0;font-size:13.5px;color:var(--ink2)}
.hub__legend span{display:inline-flex;align-items:center;gap:8px}
.hub__legend em{margin-left:auto;font-style:normal;font-size:12.5px;color:var(--mute2)}
.fl{width:9px;height:9px;border-radius:50%}
.fl--down{background:var(--orion)}.fl--up{background:var(--ok)}
.kpis--2{grid-template-columns:1fr 1fr;padding:0}
.kpi--n{border-left-color:var(--mute2)}
.hold__side{display:grid;gap:14px}
.hcard{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:20px 22px;min-height:300px;box-shadow:0 18px 40px -30px rgba(12,27,58,.4)}
.hcard__top{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:start}
.hcard__top span{grid-column:1}
.hcard__idx{grid-column:2;grid-row:1/3}
.hcard__top b{font:600 24px/1.15 var(--disp);letter-spacing:-.015em}
.hcard__top span{font-size:14px;color:var(--mute)}
.hcard__idx{text-align:right}
.hcard__idx b{display:block;font:700 34px/1 var(--disp);letter-spacing:-.03em}
.hcard__idx small{font-size:12px;color:var(--mute)}
.hcard__dims{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:16px}
.hcard__dims div{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--mute)}
.hcard__sig{margin-top:18px;padding:12px 14px;border-radius:12px;background:var(--paper);border-left:3px solid var(--sev,var(--orion))}
.hcard__sig small{display:block;font-size:12px;color:var(--mute)}
.hcard__sig b{display:block;margin-top:4px;font:600 16px/1.35 var(--disp)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:500;white-space:nowrap;width:max-content}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill--r{background:var(--leak-soft);color:var(--leak)}.pill--a{background:var(--warn-soft);color:#965C05}.pill--g{background:var(--ok-soft);color:var(--ok)}.pill--n{background:#EEF1F6;color:var(--mute)}
.amap-wrap{margin-top:22px}
.amap-bar{display:flex;align-items:center;gap:14px;margin-bottom:10px;flex-wrap:wrap}
.amap-bar b{font:600 18px/1.2 var(--disp)}
.seg{display:inline-flex;margin-left:auto;border:1px solid var(--line2);border-radius:10px;overflow:hidden}
.seg button{all:unset;cursor:pointer;padding:10px 14px;font-size:14px;color:var(--ink2);min-height:24px;transition:background var(--t-hover),color var(--t-hover)}
.seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.seg button:focus-visible{outline:3px solid var(--orion);outline-offset:-3px}
.amap{min-width:820px}
.amap tbody tr{cursor:pointer;transition:background var(--t-hover)}
.amap tbody tr:hover td{background:#F8FAFE}
.amap tbody tr.on td{background:var(--orion-soft)}
.amap tbody tr:focus-visible{outline:3px solid var(--orion);outline-offset:-3px}
.amap td.idx{font:600 16px/1 var(--disp)}
.amap td.idx.hi{color:var(--leak)}
.amap .move{animation:moved .5s var(--ease)}
@keyframes moved{from{background:#FFF7E6}to{background:transparent}}
@media (max-width:900px){.hold{grid-template-columns:1fr}}
@media (max-width:640px){.hcard__dims{grid-template-columns:1fr 1fr}.hub .co .ind,.hub .co .code{display:none}.hub .co .nm{font-size:25px}.hub .ctr{font-size:20px}.hcard{min-height:0}.hub__legend em{margin-left:0;width:100%}}


/* developer */
.dev{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.dev .sec__head{margin-bottom:28px}
.dev__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;border-top:2px solid var(--ink)}
.dev__facts div{padding:14px 16px 0 0}
.dev__facts div+div{padding-left:16px;border-left:1px solid var(--line)}
.dev__facts dt{font:700 30px/1.1 var(--disp);letter-spacing:-.02em;color:var(--orion)}
.dev__facts dd{margin:4px 0 0;font-size:14.5px;color:var(--mute)}
.dev__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.dev__badges li{padding:8px 12px;border:1px solid var(--line2);border-radius:999px;font-size:14px;font-weight:500;color:var(--ink2)}
.dev__site{margin-top:18px;font-weight:600}
.dev__req{border:1px solid var(--line);border-radius:16px;padding:22px 24px;background:var(--paper)}
.dev__req .tbl-cap{padding:0;margin-bottom:6px}
.dev__req dl{margin:0}
.dev__req dl div{display:grid;grid-template-columns:190px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.dev__req dl div:first-child{border-top:0}
.dev__req dt{font-size:13.5px;color:var(--mute)}
.dev__req dd{margin:0;font-size:14.5px;color:var(--ink);line-height:1.45}
@media (max-width:900px){.dev{grid-template-columns:1fr;gap:28px}}
@media (max-width:640px){.dev__facts{grid-template-columns:1fr}.dev__facts div,.dev__facts div+div{padding:12px 0;border-left:0;border-top:1px solid var(--line)}.dev__facts div:first-child{border-top:0}.dev__req dl div{grid-template-columns:1fr;gap:2px}}

/* responsive */
@media (max-width:1080px){
  .nav{gap:18px}.nav a{font-size:14.5px}
  .kpis--5{grid-template-columns:repeat(3,1fr)}
  .tower__grid{grid-template-columns:1fr}
  .model{grid-template-columns:1fr 1fr}.model__time{grid-column:1/-1}
  .model__core::after{display:none}
}
@media (max-width:900px){
  :root{--gut:20px}
  .burger{display:block}
  .nav{position:absolute;left:0;right:0;top:72px;flex-direction:column;gap:0;background:var(--white);border-bottom:1px solid var(--line);padding:6px var(--gut) 14px;display:none}
  .nav.open{display:flex}
  .nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}
  .top__act .btn{display:none}
  .hero{padding:28px 0 64px}
  .hero__grid,.leaks,.flow,.bench,.arch,.cta__grid{grid-template-columns:1fr}
  .sky{max-width:520px;margin:0 auto}
  .sec{padding:76px 0}
  .sec__head{margin-bottom:36px}
  .pillars{grid-template-columns:1fr 1fr;gap:0 20px}
  .callouts{grid-template-columns:1fr 1fr}
  .road{grid-template-columns:1fr;gap:18px}
  .road li{padding:0 0 0 60px;min-height:44px}
  .road li::after{top:50px;left:22px;right:auto;width:1.5px;height:calc(100% - 34px)}
  .phases{flex-direction:column;gap:8px}
  .phases div{flex:none}
  .layers li{margin-left:0!important}
}
@media (max-width:640px){
  :root{--gut:16px}
  body{font-size:16px}
  .hero__lead,.sec__head p,.cta__copy p{font-size:17px}
  .trio{grid-template-columns:1fr;max-width:none}
  .trio div,.trio div+div{padding:12px 0;border-left:0;border-top:1px solid var(--line)}
  .trio div:first-child{border-top:2px solid var(--ink)}
  .kpis,.kpis--5{grid-template-columns:1fr 1fr}
  .screen__bar em{margin-left:0;width:100%}
  .model{grid-template-columns:1fr}
  .model__core::before{display:none}
  .pillars,.callouts{grid-template-columns:1fr}
  .fpanel{padding:22px 20px;min-height:0}
  .fpanel__p{font-size:17px}
  .form{grid-template-columns:1fr;padding:20px}
  .reuse thead{display:none}
  .reuse tr{display:grid;padding:16px 0;border-top:1px solid var(--line)}
  .reuse th,.reuse td{border:0;padding:2px 0;width:auto!important}
  .layers li{grid-template-columns:1fr;gap:4px}
  .foot__in{grid-template-columns:1fr}
  .foot ul{justify-items:start}
  .sky__list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
  .screen__bar .tabs{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
