:root { --blue:#105cff; --blue-2:#0040cd; --ink:#0a1020; --muted:#657086; --paper:#f7f9fd; --ice:#eaf2ff; --line:rgba(10,38,91,.13); --green:#15b979; --red:#e84a5f; --display:"Archivo",sans-serif; --sans:"DM Sans",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:var(--sans); line-height:1.55; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
[hidden] { display:none!important; }
::selection { color:#fff; background:var(--blue); }
.section { padding:130px max(30px,calc((100vw - 1280px)/2)); }
.section-label { display:flex; align-items:center; gap:13px; color:#6b7890; font:700 9px var(--display); letter-spacing:.18em; }
.section-label span { width:32px; height:32px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--blue); letter-spacing:0; }
.section-label p { margin:0; }

/* Header */
.header { position:absolute; z-index:30; top:18px; left:24px; right:24px; min-height:68px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid rgba(255,255,255,.58); border-radius:18px; background:rgba(255,255,255,.7); box-shadow:0 18px 55px rgba(42,77,128,.09); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.logo { display:inline-flex; align-items:center; gap:10px; white-space:nowrap; }
.logo-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font:800 14px var(--display); box-shadow:0 7px 20px rgba(16,92,255,.22); }
.logo strong { font:800 14px var(--display); letter-spacing:.1em; }
.logo i { color:var(--blue); font-style:normal; }
.header nav { display:flex; gap:31px; color:#4b5870; font-size:11px; font-weight:600; }
.header nav a { transition:color .2s ease; }.header nav a:hover { color:var(--blue); }
.header-action { min-height:38px; padding:0 14px; display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:99px; background:rgba(255,255,255,.44); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.header-action > span { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 9px var(--green); }.header-action b { color:var(--blue); font-size:12px; }

/* Hero */
.hero { position:relative; min-height:900px; height:100svh; max-height:1080px; overflow:hidden; background:#eef5ff; }
.hero-image { position:absolute; inset:0; background-image:linear-gradient(180deg,rgba(244,249,255,.02) 40%,rgba(239,246,255,.2) 65%,#eef5ff 100%),url("../assets/images/elite-hero.webp"); background-size:cover; background-position:center; transform:scale(1.01); animation:heroBreath 9s ease-in-out infinite; }
@keyframes heroBreath { 50% { transform:scale(1.035); } }
.hero-topline { position:absolute; z-index:2; top:114px; left:max(30px,calc((100vw - 1280px)/2)); right:max(30px,calc((100vw - 1280px)/2)); display:flex; justify-content:space-between; color:#69768a; font:700 7px var(--display); letter-spacing:.2em; }
.hero-content { position:absolute; z-index:3; left:max(30px,calc((100vw - 1280px)/2)); right:max(30px,calc((100vw - 1280px)/2)); bottom:66px; }
.hero-content > p { margin:0 0 17px; display:flex; align-items:center; gap:10px; color:#53627a; font:700 8px var(--display); letter-spacing:.18em; }.hero-content > p span { width:28px; height:1px; background:var(--blue); }
.hero h1,.catalog-heading h2,.service-intro h2,.how-title h2,.faq-heading h2,.cta h2 { margin:0; font-family:var(--display); font-weight:700; letter-spacing:-.07em; line-height:.89; }
.hero h1 { max-width:1120px; font-size:clamp(72px,8.2vw,126px); text-transform:uppercase; }
h1 em,h2 em,blockquote em { color:var(--blue); font-style:normal; }
.hero-bottom { margin-top:28px; display:flex; align-items:flex-end; justify-content:space-between; gap:35px; }
.hero-bottom > p { max-width:520px; margin:0; color:#43516a; font-size:14px; }
.hero-bottom > div { display:flex; gap:9px; }
.main-button { min-height:54px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:25px; border:0; border-radius:14px; color:#fff; background:var(--blue); box-shadow:0 15px 35px rgba(16,92,255,.22); cursor:pointer; font-size:11px; font-weight:700; transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }.main-button:hover { transform:translateY(-2px); background:#276dff; box-shadow:0 20px 45px rgba(16,92,255,.3); }.main-button:disabled { color:#9ba5b7; background:#d5dae3; box-shadow:none; cursor:not-allowed; transform:none; }
.round-button { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(16,92,255,.25); border-radius:50%; color:var(--blue); background:rgba(255,255,255,.62); font-size:17px; backdrop-filter:blur(10px); }
.hero-counter { position:absolute; z-index:3; right:26px; top:50%; display:flex; align-items:center; gap:10px; color:#6c7890; font:700 7px var(--display); letter-spacing:.12em; transform:rotate(90deg) translateX(50%); transform-origin:right center; }.hero-counter b { color:var(--blue); font-size:10px; }.hero-counter span { width:50px; height:1px; background:rgba(16,92,255,.28); }

/* Facts */
.quick-facts { width:min(calc(100% - 48px),1280px); margin:-1px auto 0; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:0 0 24px 24px; background:#fff; box-shadow:0 25px 70px rgba(34,62,108,.07); }
.quick-facts article { min-height:190px; padding:31px; border-right:1px solid var(--line); }.quick-facts article:last-child { border-right:0; }
.quick-facts small { display:block; margin-bottom:27px; color:#8290a6; font:700 7px var(--display); letter-spacing:.17em; }.quick-facts strong { display:block; margin-bottom:8px; font:700 25px var(--display); letter-spacing:-.04em; }.quick-facts p { max-width:300px; margin:0; color:var(--muted); font-size:11px; }

/* Catalog */
.catalog { background:var(--paper); }
.catalog-heading { margin:38px 0 55px; display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:70px; }
.catalog-heading h2,.service-intro h2,.how-title h2,.faq-heading h2 { font-size:clamp(55px,6.5vw,95px); }
.catalog-heading > div { padding-bottom:8px; }.catalog-heading > div p { margin:0 0 27px; color:var(--muted); font-size:13px; }.catalog-heading > div span { color:var(--blue); font:700 7px var(--display); letter-spacing:.18em; }
.state-box { padding:26px; border:1px solid var(--line); border-radius:17px; color:var(--muted); background:#fff; text-align:center; font-size:12px; }.state-box.error { color:var(--red); }.loader { display:inline-block; width:11px; height:11px; margin-right:8px; border:1.5px solid #c7d2e6; border-top-color:var(--blue); border-radius:50%; animation:spin .8s linear infinite; }@keyframes spin{to{transform:rotate(360deg)}}
.catalog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.product-card { position:relative; min-height:520px; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 15px 45px rgba(40,67,108,.045); transition:transform .35s ease,box-shadow .35s ease; }.product-card:hover { transform:translateY(-7px); box-shadow:0 28px 65px rgba(40,67,108,.11); }
.product-card::before { content:"ДОСТУПНО"; position:absolute; z-index:4; top:16px; left:16px; padding:6px 9px 6px 19px; border:1px solid rgba(20,185,121,.22); border-radius:99px; color:#168b60; background:rgba(255,255,255,.8); font:700 6px var(--display); letter-spacing:.13em; backdrop-filter:blur(8px); }.product-card::after { content:""; position:absolute; z-index:5; top:25px; left:25px; width:5px; height:5px; border-radius:50%; background:var(--green); box-shadow:0 0 7px var(--green); }
.product-image { position:relative; height:290px; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at 50% 38%,#fff 0,#e6f0ff 45%,#cbdfff); }
.product-image::before { content:""; position:absolute; width:160px; height:210px; border:1px solid rgba(16,92,255,.18); border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.7),rgba(125,174,255,.22)); box-shadow:22px 24px 0 rgba(16,92,255,.04); transform:rotate(-8deg); }.product-image::after { content:"ELITE PS"; position:absolute; color:#4e79c8; font:800 9px var(--display); letter-spacing:.15em; }
.product-image img { position:relative; z-index:2; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }.product-card:hover .product-image img { transform:scale(1.035); }
.product-image-fallback { position:relative; z-index:2; width:85px; height:85px; border:1px solid rgba(16,92,255,.25); border-radius:50%; }.product-image-fallback::before { content:"E"; position:absolute; inset:0; display:grid; place-items:center; color:var(--blue); font:800 27px var(--display); }
.product-body { flex:1; padding:23px; display:flex; flex-direction:column; gap:10px; }.product-name { margin:0; font:700 23px/1.12 var(--display); letter-spacing:-.045em; }.product-description { flex:1; margin:0; color:var(--muted); font-size:11px; line-height:1.65; }.product-footer { margin-top:8px; padding-top:17px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line); }.product-price { font:700 22px var(--display); letter-spacing:-.045em; white-space:nowrap; }.product-footer .btn { min-height:42px; padding:0 17px; border:0; border-radius:11px; color:#fff; background:var(--blue); cursor:pointer; font-size:10px; font-weight:700; transition:transform .2s ease,background .2s ease; }.product-footer .btn:hover { transform:translateY(-2px); background:#2e72ff; }

/* Service */
.service { display:grid; grid-template-columns:.9fr 1.1fr; color:#fff; background:#0b1735; }
.service-intro { min-height:680px; padding:110px max(40px,calc((100vw - 1280px)/2)); padding-right:80px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(255,255,255,.13); background:radial-gradient(circle at 30% 20%,rgba(47,111,255,.35),transparent 35%),#0b1735; }
.section-label.light { color:#9aadd0; }.section-label.light span { color:#9bc0ff; border-color:rgba(255,255,255,.18); }.service-intro h2 { margin:34px 0 30px; }.service-intro h2 em { color:#8eb8ff; }.service-intro > p { max-width:540px; margin:0; color:#9eacc4; font-size:13px; }
.service-list article { position:relative; min-height:226px; padding:38px 48px; display:grid; grid-template-columns:65px 1fr; align-content:center; column-gap:25px; border-bottom:1px solid rgba(255,255,255,.13); }.service-list article:last-child { border-bottom:0; }.service-list article > span { position:absolute; right:30px; top:27px; color:#647495; font:700 8px var(--display); }.service-symbol { width:58px; height:58px; grid-row:1/3; display:grid; place-items:center; border:1px solid rgba(143,184,255,.3); border-radius:50%; color:#9bc0ff; background:rgba(63,124,255,.09); }.shield i { width:19px; height:23px; border:1.5px solid #9bc0ff; clip-path:polygon(50% 0,100% 18%,88% 78%,50% 100%,12% 78%,0 18%); }.pulse i { width:8px; height:8px; border-radius:50%; background:#74e7bc; box-shadow:0 0 0 8px rgba(116,231,188,.08),0 0 14px #74e7bc; }.dialogue i { width:23px; height:17px; border:1.5px solid #9bc0ff; border-radius:7px; }.service-list h3 { margin:0 0 8px; font:700 23px var(--display); letter-spacing:-.04em; }.service-list p { max-width:450px; margin:0; color:#8f9eb8; font-size:11px; }

/* How */
.how { background:#eef3fa; }.how-title { margin:38px 0 60px; display:flex; align-items:end; justify-content:space-between; gap:30px; }.how-title p { margin:0 0 7px; color:var(--muted); font-size:12px; }.timeline { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.timeline article { position:relative; min-height:390px; padding:34px; border-right:1px solid var(--line); background:rgba(255,255,255,.32); }.timeline article:last-child { border-right:0; }.timeline article > div { display:flex; align-items:center; gap:12px; }.timeline article > div span { width:43px; height:43px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font:700 13px var(--display); }.timeline article > div b { color:#65738a; font:700 7px var(--display); letter-spacing:.16em; }.timeline h3 { margin:125px 0 10px; font:700 25px var(--display); letter-spacing:-.045em; }.timeline p { max-width:300px; margin:0; color:var(--muted); font-size:11px; }.timeline article > i { position:absolute; right:26px; bottom:22px; color:#9ca8b9; font:700 7px var(--display); letter-spacing:.13em; }

/* Manifesto */
.manifesto { position:relative; min-height:650px; padding:100px 30px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:#0755f5; text-align:center; }.manifesto::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size:70px 70px; }.manifesto-orb { position:absolute; width:440px; height:440px; border:1px solid rgba(255,255,255,.25); border-radius:50%; box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.02),inset 0 0 90px rgba(255,255,255,.12); }.manifesto > p { position:relative; margin:0 0 28px; font:700 8px var(--display); letter-spacing:.22em; }.manifesto blockquote { position:relative; margin:0; font:700 clamp(54px,6vw,88px)/.95 var(--display); letter-spacing:-.065em; }.manifesto blockquote em { color:#cbdcff; }.manifesto > div:last-child { position:absolute; left:30px; right:30px; bottom:26px; display:flex; justify-content:space-between; color:#b8ceff; font:700 7px var(--display); letter-spacing:.15em; }

/* FAQ + CTA */
.faq { display:grid; grid-template-columns:.72fr 1.28fr; gap:100px; background:#fff; }.faq-heading .section-label { margin-bottom:34px; }.faq-heading > p { max-width:380px; margin:26px 0; color:var(--muted); font-size:12px; }.faq-heading > a { padding-bottom:5px; border-bottom:1px solid rgba(16,92,255,.3); color:var(--blue); font-size:11px; font-weight:700; }
.faq-list { border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { position:relative; min-height:84px; padding:0 48px 0 55px; display:flex; align-items:center; list-style:none; cursor:pointer; font:600 18px var(--display); letter-spacing:-.025em; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { position:absolute; left:0; color:#8290a6; font:700 8px var(--display); }.faq-list summary b { position:absolute; right:5px; color:var(--blue); font:400 24px var(--sans); transition:transform .25s ease; }.faq-list details[open] summary b { transform:rotate(45deg); }.faq-list details p { max-width:90%; margin:-5px 0 28px 55px; color:var(--muted); font-size:12px; }
.cta { position:relative; min-height:700px; padding:100px 30px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#eaf3ff; text-align:center; }.cta-word { position:absolute; color:transparent; font:800 35vw/.8 var(--display); letter-spacing:-.1em; -webkit-text-stroke:1px rgba(16,92,255,.09); }.cta > p { position:relative; margin:0 0 25px; color:var(--blue); font:700 8px var(--display); letter-spacing:.2em; }.cta h2 { position:relative; font-size:clamp(65px,8vw,120px); }.cta > div:last-child { position:relative; margin-top:42px; display:flex; gap:10px; }.main-button.dark { color:#fff; background:var(--ink); box-shadow:0 15px 35px rgba(10,16,32,.16); }.outline-button { min-height:54px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(10,16,32,.17); border-radius:14px; background:rgba(255,255,255,.35); font-size:11px; font-weight:700; }
footer { padding:45px max(30px,calc((100vw - 1280px)/2)); display:grid; grid-template-columns:1fr 1fr 1fr auto; align-items:end; gap:30px; border-top:1px solid var(--line); background:#fff; }footer > p { margin:0; color:var(--muted); font-size:10px; }footer > div { display:flex; gap:20px; color:#56647b; font-size:10px; }footer small { color:#9aa6b7; font-size:8px; }

/* Modal + status */
.modal-overlay { position:fixed; z-index:90; inset:0; padding:18px; display:flex; align-items:center; justify-content:center; background:rgba(17,31,56,.54); backdrop-filter:blur(16px); }.modal { position:relative; width:min(100%,490px); max-height:92vh; overflow:auto; padding:35px; border:1px solid rgba(255,255,255,.7); border-radius:24px; background:#fff; box-shadow:0 40px 100px rgba(23,46,85,.25); }.modal-close { position:absolute; top:18px; right:18px; width:36px; height:36px; border:1px solid var(--line); border-radius:50%; color:#68758a; background:#f5f8fc; cursor:pointer; font-size:22px; }.modal-label { margin:0 0 10px; color:var(--blue); font:700 8px var(--display); letter-spacing:.16em; }.modal h2 { margin:0; font:700 34px var(--display); letter-spacing:-.05em; }.order-summary { margin:22px 0; padding:16px 0; display:flex; justify-content:space-between; gap:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:12px; }.order-product-name { color:var(--muted); }.order-product-price { font:700 18px var(--display); white-space:nowrap; }.order-form { display:flex; flex-direction:column; gap:14px; }.field-label { display:flex; flex-direction:column; gap:7px; color:#637087; font-size:10px; }.field-label input,.field-label select,.select-filter,.text-input,.textarea-input { width:100%; padding:13px 14px; outline:none; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:#f6f8fc; font-size:12px; transition:border-color .2s ease,background .2s ease; }.field-label input:focus,.field-label select:focus,.select-filter:focus,.textarea-input:focus { border-color:var(--blue); background:#fff; }.field-checkbox { display:flex; align-items:flex-start; gap:9px; color:var(--muted); font-size:9px; }.field-checkbox input { margin-top:2px; accent-color:var(--blue); }.form-error { padding:11px 13px; border:1px solid rgba(232,74,95,.2); border-radius:10px; color:var(--red); background:rgba(232,74,95,.06); font-size:10px; }.submit { width:100%; }
.mobile-bar { display:none; }
.status-page { min-height:100vh; padding:110px 20px 70px; display:grid; place-items:center; background:radial-gradient(circle at 50% 0,#dbeaff,transparent 50%),var(--paper); }.status-card { width:min(100%,590px); padding:42px; border:1px solid var(--line); border-radius:24px; background:#fff; text-align:center; box-shadow:0 30px 80px rgba(31,60,104,.12); }.status-card h1 { margin:6px 0 20px; font:700 37px var(--display); letter-spacing:-.05em; }.status-card p { color:var(--muted); font-size:12px; }.status-card strong { color:var(--ink); }.status-badge { display:inline-block; margin-bottom:12px; padding:7px 13px; border-radius:99px; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }.status-waiting { color:var(--blue); background:rgba(16,92,255,.08); }.status-fulfilled { color:var(--green); background:rgba(21,185,121,.08); }.status-error { color:var(--red); background:rgba(232,74,95,.08); }.code-box { margin:18px 0; padding:19px; border:1px dashed rgba(16,92,255,.3); border-radius:12px; color:var(--blue); background:#f5f8ff; font:700 18px monospace; word-break:break-all; }.test-payment-panel { margin:20px 0; padding:17px; border:1px dashed rgba(16,92,255,.3); border-radius:12px; background:#f5f8ff; }.test-warning,.back-link { color:var(--blue); }.spinner { width:29px; height:29px; margin:0 auto 17px; border:2px solid #d8e1f0; border-top-color:var(--blue); border-radius:50%; animation:spin .8s linear infinite; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .75s ease,transform .75s ease; }.reveal.is-visible { opacity:1; transform:none; }

@media(max-width:1000px){
  .hero { min-height:860px; height:auto; }.hero h1 { font-size:clamp(70px,10vw,100px); }.catalog-grid { grid-template-columns:repeat(2,1fr); }.service { grid-template-columns:1fr; }.service-intro { min-height:570px; padding-inline:max(30px,calc((100vw - 900px)/2)); border-right:0; }.service-list { display:grid; grid-template-columns:repeat(3,1fr); }.service-list article { min-height:310px; padding:30px; display:block; border-right:1px solid rgba(255,255,255,.13); border-bottom:0; }.service-symbol { margin-bottom:55px; }.timeline h3 { margin-top:100px; }.faq { grid-template-columns:1fr; gap:55px; }footer { grid-template-columns:1fr 1fr; }
}

@media(max-width:720px){
  body { padding-bottom:calc(78px + env(safe-area-inset-bottom)); }.section { padding:80px 14px; }.header { top:9px; left:10px; right:10px; min-height:58px; padding-inline:13px; border-radius:15px; }.header nav { display:none; }.logo-icon { width:28px; height:28px; }.logo strong { font-size:12px; }.header-action { min-height:34px; padding-inline:10px; font-size:7px; }
  .hero { min-height:790px; }.hero-image { background-image:linear-gradient(180deg,rgba(244,249,255,.05) 30%,rgba(239,246,255,.35) 58%,#eef5ff 82%),url("../assets/images/elite-hero.webp"); background-size:auto 64%; background-repeat:no-repeat; background-position:center 85px; animation:none; }.hero-topline { top:88px; left:15px; right:15px; }.hero-topline span:last-child { display:none; }.hero-content { left:14px; right:14px; bottom:35px; }.hero-content > p { margin-bottom:13px; font-size:6px; }.hero h1 { font-size:clamp(48px,14vw,64px); line-height:.91; }.hero-bottom { margin-top:20px; flex-direction:column; align-items:stretch; gap:20px; }.hero-bottom > p { max-width:420px; font-size:12px; }.hero-bottom > div { width:100%; }.hero-bottom .main-button { flex:1; }.hero-counter { display:none; }
  .quick-facts { width:calc(100% - 20px); grid-template-columns:1fr; border-radius:20px; }.quick-facts article { min-height:150px; padding:24px; border-right:0; border-bottom:1px solid var(--line); }.quick-facts article:last-child { border-bottom:0; }.quick-facts small { margin-bottom:18px; }
  .catalog-heading { margin:30px 0 38px; grid-template-columns:1fr; gap:24px; }.catalog-heading h2,.service-intro h2,.how-title h2,.faq-heading h2 { font-size:clamp(45px,13vw,57px); }.catalog-heading > div p { margin-bottom:18px; }.catalog-grid { grid-template-columns:1fr; gap:12px; }.product-card { min-height:0; border-radius:19px; }.product-image { height:230px; }.product-body { padding:20px; }.product-name { font-size:22px; }.product-footer .btn { min-height:44px; padding-inline:18px; }
  .service-intro { min-height:520px; padding:75px 18px; }.service-intro h2 { margin-block:28px; }.service-list { grid-template-columns:1fr; }.service-list article { min-height:250px; padding:30px 22px; border-right:0; border-bottom:1px solid rgba(255,255,255,.13); }.service-symbol { margin-bottom:38px; }
  .how-title { margin:30px 0 38px; display:block; }.how-title p { margin-top:20px; }.timeline { grid-template-columns:1fr; }.timeline article { min-height:260px; padding:25px 18px; border-right:0; border-bottom:1px solid var(--line); }.timeline h3 { margin-top:70px; }.manifesto { min-height:580px; padding-inline:14px; }.manifesto-orb { width:260px; height:260px; }.manifesto blockquote { font-size:clamp(43px,12vw,55px); }.manifesto > div:last-child { left:14px; right:14px; }.manifesto > div:last-child span:last-child { display:none; }
  .faq { gap:45px; }.faq-list summary { min-height:76px; padding-left:40px; padding-right:35px; font-size:16px; }.faq-list details p { max-width:100%; margin-left:40px; }.cta { min-height:650px; padding-inline:14px; }.cta h2 { font-size:clamp(50px,14vw,67px); }.cta > div:last-child { width:100%; flex-direction:column; }.cta .main-button,.cta .outline-button { width:100%; }footer { padding:38px 14px; grid-template-columns:1fr; align-items:start; }footer > div { flex-wrap:wrap; }
  .modal { padding:29px 20px; border-radius:20px; }.status-card { padding:31px 19px; }.mobile-bar { position:fixed; z-index:70; left:10px; right:10px; bottom:calc(9px + env(safe-area-inset-bottom)); padding:5px; display:grid; grid-template-columns:1.1fr .9fr; gap:5px; border:1px solid rgba(255,255,255,.65); border-radius:17px; background:rgba(255,255,255,.86); box-shadow:0 20px 55px rgba(24,52,94,.2); backdrop-filter:blur(18px); }.mobile-bar a { min-height:49px; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:12px; color:#536078; font-size:10px; font-weight:700; }.mobile-bar a:first-child { color:#fff; background:var(--blue); }.mobile-bar b { font-size:15px; }.modal-overlay { padding-bottom:calc(82px + env(safe-area-inset-bottom)); }
}
@media(max-width:390px){.hero { min-height:760px; }.hero h1 { font-size:47px; }.hero-image { background-size:auto 59%; }.product-footer { align-items:flex-end; }.product-price { font-size:20px; }.product-footer .btn { padding-inline:14px; }.manifesto blockquote { font-size:42px; }.cta h2 { font-size:49px; }}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* ========================================================================== */
/* ELITE PS — NEON FINAL THEME                                                */
/* Structure is intentionally unchanged. This layer only changes art direction. */
/* ========================================================================== */

:root {
  --blue: #397bff;
  --blue-2: #1b49dd;
  --ink: #f5f8ff;
  --muted: #94a4c4;
  --paper: #050711;
  --ice: #081329;
  --line: rgba(104, 159, 255, .18);
  --green: #46f0a8;
  --red: #ff7286;
  --neon-cyan: #32e6ff;
  --neon-violet: #8065ff;
  --soft-violet: #b8a7ff;
  --surface: #0c1730;
  --surface-deep: #081020;
}

body {
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(57, 123, 255, .12), transparent 26%),
    radial-gradient(circle at 88% 34%, rgba(128, 101, 255, .09), transparent 25%),
    #050711;
}

body::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(50, 230, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(50, 230, 255, .045) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at 50% 25%, #000, transparent 72%);
}

.section-label { color: #7183a7; }
.section-label span {
  color: var(--neon-cyan);
  border-color: rgba(50, 230, 255, .28);
  background: rgba(50, 230, 255, .035);
  box-shadow: inset 0 0 15px rgba(50, 230, 255, .035);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--neon-cyan);
  outline-offset: 4px;
}

/* Dark glass navigation */
.header {
  border-color: rgba(122, 168, 255, .24);
  color: var(--ink);
  background:
    linear-gradient(115deg, rgba(12, 23, 48, .84), rgba(5, 9, 22, .7)),
    rgba(5, 7, 17, .72);
  box-shadow:
    0 18px 55px rgba(0, 0, 0, .24),
    0 0 32px rgba(57, 123, 255, .08),
    inset 0 1px rgba(255, 255, 255, .05);
}
.logo-icon {
  color: #061020;
  background: linear-gradient(135deg, var(--neon-cyan), #70a3ff 54%, var(--neon-violet));
  box-shadow: 0 0 18px rgba(50, 230, 255, .22), 0 7px 22px rgba(57, 123, 255, .28);
}
.logo i { color: var(--neon-cyan); text-shadow: 0 0 15px rgba(50, 230, 255, .28); }
.header nav { color: #9aabc9; }
.header nav a { position: relative; }
.header nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -9px;
  height: 1px;
  background: var(--neon-cyan);
  box-shadow: 0 0 8px var(--neon-cyan);
  transition: left .25s ease, right .25s ease;
}
.header nav a:hover { color: #fff; }
.header nav a:hover::after { left: 0; right: 0; }
.header-action {
  color: #dfe9ff;
  border-color: rgba(50, 230, 255, .2);
  background: rgba(12, 23, 48, .62);
  box-shadow: inset 0 0 20px rgba(50, 230, 255, .025);
}
.header-action > span { background: var(--green); box-shadow: 0 0 10px rgba(70, 240, 168, .7); }
.header-action b { color: var(--neon-cyan); }

/* Hero: same image and composition, new cinematic grading */
.hero { color: #fff; background: #050711; border-bottom: 1px solid rgba(78, 132, 235, .18); }
.hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(4, 7, 17, .24) 0%, transparent 26%, rgba(5, 7, 17, .2) 55%, rgba(5, 7, 17, .92) 100%),
    radial-gradient(circle at 50% 42%, transparent 24%, rgba(5, 7, 17, .18) 53%, rgba(5, 7, 17, .62) 100%),
    linear-gradient(112deg, rgba(34, 73, 173, .14), transparent 42%, rgba(103, 65, 196, .12));
}
.hero-image {
  filter: brightness(.6) contrast(1.17) saturate(1.34) hue-rotate(8deg);
  background-image:
    linear-gradient(180deg, rgba(4, 8, 20, .04) 34%, rgba(5, 7, 17, .27) 65%, #050711 100%),
    url("../assets/images/elite-hero.webp");
}
.hero-image::before,
.hero-image::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  mix-blend-mode: screen;
}
.hero-image::before {
  width: 40vw;
  height: 40vw;
  left: 30%;
  top: 15%;
  background: radial-gradient(circle, rgba(50, 230, 255, .16), rgba(57, 123, 255, .07) 38%, transparent 69%);
  filter: blur(30px);
  animation: neonBreath 6s ease-in-out infinite;
}
.hero-image::after {
  width: 28vw;
  height: 28vw;
  right: 14%;
  top: 25%;
  background: radial-gradient(circle, rgba(128, 101, 255, .13), transparent 67%);
  filter: blur(42px);
}
@keyframes neonBreath { 50% { opacity: .58; transform: scale(1.055); } }
.hero-topline,
.hero-content,
.hero-counter { z-index: 3; }
.hero-topline { color: #9eb0d1; text-shadow: 0 1px 12px rgba(0, 0, 0, .5); }
.hero-content > p { color: #c1d2ef; }
.hero-content > p span {
  background: var(--neon-cyan);
  box-shadow: 0 0 9px rgba(50, 230, 255, .55);
}
.hero h1 { color: #f7f9ff; text-shadow: 0 4px 35px rgba(0, 0, 0, .46); }
.hero h1 em {
  color: transparent;
  background: linear-gradient(100deg, #d9e9ff 4%, var(--neon-cyan) 43%, #8da8ff 72%, var(--soft-violet));
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 0 16px rgba(50, 230, 255, .16));
}
.hero-bottom > p { color: #b3c0d9; text-shadow: 0 2px 16px rgba(0, 0, 0, .55); }
.main-button {
  color: #fff;
  background: linear-gradient(120deg, #286cff, #5c67ff 58%, #7759f1);
  box-shadow:
    0 13px 34px rgba(57, 123, 255, .24),
    0 0 18px rgba(50, 230, 255, .07),
    inset 0 1px rgba(255, 255, 255, .24);
}
.main-button:hover {
  background: linear-gradient(120deg, #3982ff, #6e72ff 58%, #896cff);
  box-shadow: 0 17px 42px rgba(57, 123, 255, .34), 0 0 23px rgba(50, 230, 255, .1), inset 0 1px rgba(255,255,255,.28);
}
.round-button {
  color: var(--neon-cyan);
  border-color: rgba(50, 230, 255, .35);
  background: rgba(8, 19, 41, .64);
  box-shadow: 0 0 20px rgba(50, 230, 255, .08), inset 0 0 18px rgba(50, 230, 255, .035);
}
.round-button:hover { border-color: var(--neon-cyan); box-shadow: 0 0 25px rgba(50, 230, 255, .15); }
.hero-counter { color: #8397bc; }
.hero-counter b { color: var(--neon-cyan); text-shadow: 0 0 9px rgba(50, 230, 255, .45); }
.hero-counter span { background: linear-gradient(90deg, var(--neon-cyan), transparent); }

/* Quick facts */
.quick-facts {
  border-color: rgba(87, 143, 255, .18);
  background: linear-gradient(135deg, rgba(12, 23, 48, .97), rgba(7, 13, 29, .98));
  box-shadow: 0 25px 70px rgba(0, 0, 0, .22), 0 0 40px rgba(57, 123, 255, .035);
}
.quick-facts article { border-color: rgba(87, 143, 255, .15); }
.quick-facts small { color: #6f82a8; }
.quick-facts strong { color: #f4f7ff; }
.quick-facts article:nth-child(2) strong { color: var(--neon-cyan); text-shadow: 0 0 15px rgba(50, 230, 255, .13); }
.quick-facts p { color: var(--muted); }

/* Catalog */
.catalog {
  background:
    radial-gradient(circle at 92% 5%, rgba(128, 101, 255, .08), transparent 25%),
    radial-gradient(circle at 8% 55%, rgba(57, 123, 255, .07), transparent 25%),
    #050711;
}
.catalog-heading h2 { color: #f5f8ff; }
.catalog-heading h2 em {
  color: transparent;
  background: linear-gradient(100deg, var(--neon-cyan), #88aaff 50%, var(--soft-violet));
  -webkit-background-clip: text;
  background-clip: text;
}
.catalog-heading > div p { color: var(--muted); }
.catalog-heading > div span { color: var(--neon-cyan); }
.state-box {
  color: var(--muted);
  border-color: var(--line);
  background: linear-gradient(135deg, rgba(12, 23, 48, .86), rgba(7, 13, 29, .9));
}
.state-box.error { color: var(--red); }
.loader { border-color: rgba(148, 164, 196, .25); border-top-color: var(--neon-cyan); box-shadow: 0 0 9px rgba(50,230,255,.16); }
.product-card {
  border-color: rgba(101, 154, 255, .18);
  background:
    linear-gradient(145deg, rgba(15, 29, 58, .96), rgba(7, 14, 31, .98)),
    var(--surface);
  box-shadow: 0 15px 45px rgba(0, 0, 0, .16), inset 0 1px rgba(255,255,255,.025);
}
.product-card:hover {
  border-color: rgba(50, 230, 255, .36);
  box-shadow:
    0 28px 65px rgba(0, 0, 0, .32),
    0 0 30px rgba(50, 230, 255, .065),
    inset 0 1px rgba(255,255,255,.04);
}
.product-card::before {
  color: #7ff7bd;
  border-color: rgba(70, 240, 168, .25);
  background: rgba(5, 18, 20, .74);
  box-shadow: 0 0 14px rgba(70, 240, 168, .05);
}
.product-card::after { background: var(--green); box-shadow: 0 0 9px rgba(70,240,168,.8); }
.product-image {
  background:
    radial-gradient(circle at 48% 34%, rgba(78, 153, 255, .3), transparent 34%),
    radial-gradient(circle at 75% 85%, rgba(128, 101, 255, .15), transparent 31%),
    linear-gradient(150deg, #10264d, #070d1c 70%);
}
.product-image::before {
  border-color: rgba(92, 160, 255, .25);
  background: linear-gradient(145deg, rgba(69, 139, 255, .19), rgba(128, 101, 255, .045));
  box-shadow: 22px 24px 0 rgba(50, 230, 255, .025), 0 0 35px rgba(57, 123, 255, .08);
}
.product-image::after { color: #9cc8ff; text-shadow: 0 0 14px rgba(50, 230, 255, .25); }
.product-image-fallback { border-color: rgba(50, 230, 255, .34); box-shadow: 0 0 30px rgba(50,230,255,.08); }
.product-image-fallback::before { color: var(--neon-cyan); text-shadow: 0 0 12px rgba(50,230,255,.3); }
.product-name, .product-price { color: #f5f8ff; }
.product-description { color: var(--muted); }
.product-footer { border-color: rgba(101, 154, 255, .15); }
.product-footer .btn {
  background: linear-gradient(120deg, #2d75ff, #6c61ff);
  box-shadow: 0 9px 22px rgba(57, 123, 255, .19), inset 0 1px rgba(255,255,255,.2);
}
.product-footer .btn:hover { background: linear-gradient(120deg, #4388ff, #806fff); box-shadow: 0 12px 29px rgba(57,123,255,.28); }

/* Card is clickable (image/name/body) → product.html, while the Buy button
   inside it stops propagation and keeps opening the order modal directly.
   display:contents removes the <a> from the box tree entirely, so it does
   not affect the existing .product-card flex layout in any way. */
.product-card-link { display: contents; color: inherit; text-decoration: none; cursor: pointer; }

/* Service — darker, focused violet-blue contrast */
.service { color: #fff; background: #081020; }
.service-intro {
  border-color: rgba(111, 159, 255, .17);
  background:
    radial-gradient(circle at 22% 20%, rgba(57, 123, 255, .22), transparent 37%),
    radial-gradient(circle at 80% 80%, rgba(128, 101, 255, .12), transparent 34%),
    #081329;
}
.section-label.light { color: #8296bd; }
.section-label.light span { color: var(--neon-cyan); border-color: rgba(50,230,255,.28); }
.service-intro h2 em { color: var(--soft-violet); text-shadow: 0 0 20px rgba(128,101,255,.12); }
.service-intro > p { color: #9baac6; }
.service-list { background: linear-gradient(180deg, #0a1428, #070d1b); }
.service-list article { border-color: rgba(105, 152, 242, .16); transition: background .3s ease; }
.service-list article:hover { background: rgba(57, 123, 255, .045); }
.service-list article > span { color: #576b92; }
.service-symbol {
  color: var(--neon-cyan);
  border-color: rgba(50, 230, 255, .28);
  background: rgba(50, 230, 255, .035);
  box-shadow: inset 0 0 23px rgba(50,230,255,.035);
}
.shield i, .dialogue i { border-color: var(--neon-cyan); filter: drop-shadow(0 0 5px rgba(50,230,255,.22)); }
.dialogue i::after { border-color: var(--neon-cyan); }
.pulse i { background: var(--green); box-shadow: 0 0 0 8px rgba(70,240,168,.06), 0 0 15px rgba(70,240,168,.65); }
.service-list p { color: #8fa0c0; }

/* Timeline */
.how {
  background:
    linear-gradient(180deg, rgba(8, 19, 41, .96), rgba(5, 7, 17, .98)),
    #081329;
}
.how-title h2 { color: #f5f8ff; }
.how-title p { color: var(--muted); }
.timeline { border-color: rgba(97, 149, 247, .18); }
.timeline article {
  border-color: rgba(97, 149, 247, .16);
  background: linear-gradient(150deg, rgba(12, 23, 48, .72), rgba(7, 13, 29, .64));
  transition: background .3s ease, transform .3s ease;
}
.timeline article:hover { background: linear-gradient(150deg, rgba(18, 36, 73, .85), rgba(8, 15, 33, .76)); }
.timeline article > div span {
  background: linear-gradient(135deg, var(--neon-cyan), var(--blue) 55%, var(--neon-violet));
  box-shadow: 0 0 22px rgba(50, 230, 255, .13);
}
.timeline article > div b { color: #7186ad; }
.timeline h3 { color: #f4f7ff; }
.timeline p { color: var(--muted); }
.timeline article > i { color: #53698f; }

/* Manifesto */
.manifesto {
  background:
    radial-gradient(circle at 50% 50%, rgba(50, 230, 255, .11), transparent 30%),
    linear-gradient(130deg, #0a2c77, #183fa8 45%, #3b31a2 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.08), inset 0 -1px rgba(50,230,255,.12);
}
.manifesto::before {
  opacity: .16;
  background-image: linear-gradient(rgba(50,230,255,.13) 1px,transparent 1px), linear-gradient(90deg,rgba(50,230,255,.13) 1px,transparent 1px);
}
.manifesto-orb {
  border-color: rgba(50, 230, 255, .31);
  box-shadow: 0 0 0 55px rgba(50,230,255,.025), 0 0 0 110px rgba(128,101,255,.022), 0 0 55px rgba(50,230,255,.1), inset 0 0 90px rgba(50,230,255,.08);
  animation: orbitBreath 7s ease-in-out infinite;
}
@keyframes orbitBreath { 50% { transform: scale(1.035); opacity: .8; } }
.manifesto blockquote em { color: #b9f7ff; text-shadow: 0 0 22px rgba(50,230,255,.12); }
.manifesto > div:last-child { color: #a9c9f7; }

/* FAQ */
.faq {
  background:
    radial-gradient(circle at 12% 30%, rgba(57, 123, 255, .08), transparent 28%),
    #050711;
}
.faq-heading h2 { color: #f5f8ff; }
.faq-heading h2 em { color: var(--soft-violet); }
.faq-heading > p { color: var(--muted); }
.faq-heading > a { color: var(--neon-cyan); border-color: rgba(50,230,255,.28); }
.faq-list { border-color: rgba(98, 149, 245, .18); }
.faq-list details { border-color: rgba(98, 149, 245, .16); }
.faq-list summary { color: #edf3ff; }
.faq-list summary span { color: #667ca6; }
.faq-list summary b { color: var(--neon-cyan); text-shadow: 0 0 9px rgba(50,230,255,.24); }
.faq-list details p { color: var(--muted); }

/* CTA */
.cta {
  color: #fff;
  background:
    radial-gradient(circle at 50% 45%, rgba(57, 123, 255, .17), transparent 28%),
    radial-gradient(circle at 75% 30%, rgba(128, 101, 255, .12), transparent 26%),
    linear-gradient(145deg, #081329, #050711 65%);
}
.cta::before {
  content: "";
  position: absolute;
  width: 450px;
  height: 450px;
  border: 1px solid rgba(50, 230, 255, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(57,123,255,.018), 0 0 0 105px rgba(128,101,255,.012), inset 0 0 80px rgba(50,230,255,.035);
  animation: neonBreath 7s ease-in-out infinite;
}
.cta-word { -webkit-text-stroke-color: rgba(76, 137, 255, .08); }
.cta > p { color: var(--neon-cyan); }
.cta h2 em {
  color: transparent;
  background: linear-gradient(100deg, var(--neon-cyan), #91a9ff, var(--soft-violet));
  -webkit-background-clip: text;
  background-clip: text;
}
.main-button.dark {
  color: #fff;
  background: linear-gradient(120deg, #286cff, #6e60ff);
  box-shadow: 0 14px 36px rgba(57,123,255,.23), inset 0 1px rgba(255,255,255,.2);
}
.outline-button {
  color: #dce7ff;
  border-color: rgba(50, 230, 255, .24);
  background: rgba(12, 23, 48, .45);
  box-shadow: inset 0 0 20px rgba(50,230,255,.025);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.outline-button:hover { transform: translateY(-2px); border-color: rgba(50,230,255,.5); box-shadow: 0 0 23px rgba(50,230,255,.08); }

/* Footer */
footer {
  border-color: rgba(99, 151, 250, .16);
  color: #eef4ff;
  background: #050711;
}
footer > p { color: var(--muted); }
footer > div { color: #9aaac6; }
footer > div a:hover { color: var(--neon-cyan); }
footer small { color: #586a8e; }

/* Order modal */
.modal-overlay { background: rgba(2, 4, 11, .78); }
.modal {
  color: #f5f8ff;
  border-color: rgba(99, 160, 255, .25);
  background:
    radial-gradient(circle at 100% 0, rgba(128, 101, 255, .1), transparent 30%),
    linear-gradient(145deg, #0d1932, #070d1c);
  box-shadow: 0 40px 110px rgba(0,0,0,.54), 0 0 40px rgba(57,123,255,.05), inset 0 1px rgba(255,255,255,.04);
}
.modal-close {
  color: #b6c5df;
  border-color: var(--line);
  background: rgba(255,255,255,.035);
}
.modal-close:hover { color: var(--neon-cyan); border-color: rgba(50,230,255,.34); }
.modal-label { color: var(--neon-cyan); }
.order-summary { border-color: rgba(104,159,255,.16); }
.order-product-name { color: var(--muted); }
.order-product-price { color: #fff; }
.field-label { color: #a5b4d0; }
.field-label input,
.field-label select,
.select-filter,
.text-input,
.textarea-input {
  color: #f5f8ff;
  border-color: rgba(104, 159, 255, .17);
  background: rgba(255,255,255,.035);
}
.field-label input::placeholder { color: #607191; }
.field-label input:focus,
.field-label select:focus,
.select-filter:focus,
.textarea-input:focus {
  border-color: rgba(50, 230, 255, .55);
  background: rgba(50,230,255,.035);
  box-shadow: 0 0 0 3px rgba(50,230,255,.045);
}
.field-label select option { color: #f5f8ff; background: #0c1730; }
.field-checkbox { color: #8596b5; }
.field-checkbox input { accent-color: var(--neon-cyan); }

/* Status page */
.status-page { color: #f5f8ff; background: radial-gradient(circle at 50% 0, rgba(57,123,255,.2), transparent 42%), #050711; }
.status-card {
  border-color: rgba(99, 160, 255, .22);
  background: linear-gradient(145deg, rgba(13, 25, 50, .96), rgba(7, 13, 28, .98));
  box-shadow: 0 30px 90px rgba(0,0,0,.34), 0 0 40px rgba(57,123,255,.04);
}
.status-card p { color: var(--muted); }
.status-card strong { color: #fff; }
.status-waiting { color: var(--neon-cyan); background: rgba(50,230,255,.08); }
.status-fulfilled { color: var(--green); background: rgba(70,240,168,.08); }
.code-box,.test-payment-panel { color: var(--neon-cyan); border-color: rgba(50,230,255,.3); background: rgba(50,230,255,.035); }
.back-link,.test-warning { color: var(--neon-cyan); }
.spinner { border-color: rgba(148,164,196,.2); border-top-color: var(--neon-cyan); }

/* Список товаров и кодов для заказов из корзины (success.html) */
.order-items-list { display: flex; flex-direction: column; gap: 14px; margin: 18px 0; text-align: left; }
.order-item-row { padding: 16px; border: 1px solid rgba(104, 159, 255, .18); border-radius: 14px; background: rgba(255,255,255,.02); }
.order-item-info { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.order-item-name { color: #f5f8ff; font-size: 13px; font-weight: 700; }
.order-item-price { color: var(--muted); font-size: 12px; white-space: nowrap; }
.order-item-code { margin: 0; font-size: 14px; }
.order-item-pending { color: var(--muted); font-size: 11px; font-style: italic; }

/* Failure-payment page */
.failure-header { position: fixed; }
.failure-page { position: relative; }
.failure-card { position: relative; overflow: hidden; }
.failure-card::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  top: -210px;
  right: -155px;
  border: 1px solid rgba(255, 114, 134, .25);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(255, 114, 134, .025), 0 0 70px rgba(255, 114, 134, .12);
}
.failure-icon {
  position: relative;
  width: 62px;
  height: 62px;
  margin: 0 auto 20px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 114, 134, .38);
  border-radius: 50%;
  color: #ff9baa;
  background: rgba(255, 114, 134, .08);
  box-shadow: 0 0 28px rgba(255, 114, 134, .13), inset 0 0 22px rgba(255, 114, 134, .05);
  font: 700 31px/1 var(--display);
}
.failure-card h1 em { color: #ff9baa; }
.failure-card > p { position: relative; max-width: 455px; margin: 0 auto; line-height: 1.7; }
.failure-card .failure-note {
  margin-top: 18px;
  padding: 13px 15px;
  border: 1px solid rgba(255, 114, 134, .16);
  border-radius: 13px;
  color: #aebbd4;
  background: rgba(255, 114, 134, .045);
  font-size: 11px;
}
.failure-actions { position: relative; display: flex; justify-content: center; gap: 10px; margin-top: 28px; }
.failure-actions .outline-button { color: #dce6f7; border-color: rgba(104, 159, 255, .28); background: rgba(255, 255, 255, .035); }
.failure-actions .outline-button:hover { border-color: rgba(50, 230, 255, .45); background: rgba(50, 230, 255, .06); }

/* Mobile neon pass */
@media (max-width: 720px) {
  body::before { opacity: .13; background-size: 52px 52px; }
  .header {
    border-color: rgba(104, 159, 255, .23);
    background: rgba(6, 11, 25, .82);
    box-shadow: 0 12px 35px rgba(0,0,0,.28), 0 0 22px rgba(57,123,255,.045);
  }
  .hero-image {
    filter: brightness(.58) contrast(1.15) saturate(1.3) hue-rotate(8deg);
    background-image:
      linear-gradient(180deg, rgba(5,7,17,.03) 20%, rgba(5,7,17,.24) 52%, #050711 82%),
      url("../assets/images/elite-hero.webp");
  }
  .hero-image::before { width: 88vw; height: 88vw; left: 6%; top: 10%; filter: blur(24px); }
  .hero-image::after { display: none; }
  .hero h1 { text-shadow: 0 5px 25px rgba(0,0,0,.52); }
  .quick-facts article { border-color: rgba(99,151,250,.14); }
  .service-list article { border-color: rgba(99,151,250,.14); }
  .timeline article { border-color: rgba(99,151,250,.14); }
  .manifesto-orb { box-shadow: 0 0 0 35px rgba(50,230,255,.02), 0 0 0 70px rgba(128,101,255,.016), inset 0 0 55px rgba(50,230,255,.06); }
  .cta::before { width: 280px; height: 280px; box-shadow: 0 0 0 35px rgba(57,123,255,.014), inset 0 0 55px rgba(50,230,255,.025); }
  .mobile-bar {
    border-color: rgba(104, 159, 255, .24);
    background: rgba(6, 11, 25, .9);
    box-shadow: 0 20px 55px rgba(0,0,0,.48), 0 0 24px rgba(57,123,255,.05);
  }
  .mobile-bar a { color: #9fb0ce; }
  .mobile-bar a:first-child {
    color: #fff;
    background: linear-gradient(120deg, #2d75ff, #6d61ff);
    box-shadow: inset 0 1px rgba(255,255,255,.19);
  }
  .modal { box-shadow: 0 28px 70px rgba(0,0,0,.5); }
  .failure-header { left: 10px; right: 10px; }
  .failure-card { padding: 34px 19px 27px; }
  .failure-card h1 { font-size: 34px; }
  .failure-actions { flex-direction: column; }
  .failure-actions .main-button,
  .failure-actions .outline-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-image::before,
  .manifesto-orb,
  .cta::before { animation: none !important; }
}

/* ========================================================================== */
/* STAGE 1/2 — Homepage restructure: category cards, universal catalog.html,  */
/* reviews placeholder, contacts. Same tokens/theme, structural changes only. */
/* ========================================================================== */

.header nav { gap: 22px; }

/* Category cards */
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.category-card {
  position: relative;
  min-height: 340px;
  padding: 34px 30px 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 26px;
  overflow: hidden;
  border: 1px solid rgba(101, 154, 255, .2);
  border-radius: 26px;
  background:
    linear-gradient(150deg, rgba(18, 33, 66, .55), rgba(8, 15, 32, .55));
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow: 0 20px 55px rgba(0, 0, 0, .22), inset 0 1px rgba(255, 255, 255, .04);
  transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}
.category-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 0%, rgba(50, 230, 255, .12), transparent 45%);
  opacity: .7;
  pointer-events: none;
}
.category-card:hover {
  transform: translateY(-8px);
  border-color: rgba(50, 230, 255, .4);
  box-shadow: 0 32px 80px rgba(0, 0, 0, .32), 0 0 40px rgba(50, 230, 255, .08), inset 0 1px rgba(255, 255, 255, .06);
}
.category-card-index {
  position: relative;
  z-index: 1;
  color: var(--neon-cyan);
  font: 700 12px var(--display);
  letter-spacing: .16em;
  text-shadow: 0 0 12px rgba(50, 230, 255, .3);
}
.category-card-body { position: relative; z-index: 1; }
.category-card-body h3 { margin: 0 0 12px; color: #f5f8ff; font: 700 30px var(--display); letter-spacing: -.04em; }
.category-card-body p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.category-card-link {
  position: relative;
  z-index: 1;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(120deg, #2d75ff, #6c61ff);
  box-shadow: 0 10px 24px rgba(57, 123, 255, .22), inset 0 1px rgba(255, 255, 255, .2);
  font-size: 11px;
  font-weight: 700;
  transition: transform .25s ease, box-shadow .25s ease;
}
.category-card-link:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(57, 123, 255, .3); }
.category-card-link span { transition: transform .25s ease; }
.category-card-link:hover span { transform: translateX(3px); }

/* Subcatalog page (catalog.html): no absolute hero underneath, so give the
   header room; add a small back-to-categories link and active nav state. */
body.catalog-page main { padding-top: 150px; }
.header nav a.is-active { color: #fff; }
.header nav a.is-active::after { left: 0; right: 0; }
.category-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: -30px 0 32px;
  color: var(--neon-cyan);
  font: 700 11px var(--display);
  letter-spacing: .04em;
}
.category-back-link:hover { text-decoration: underline; }

/* Contacts */
.contacts-grid { display: flex; flex-wrap: wrap; gap: 16px; }
.contact-card {
  min-width: 220px;
  padding: 26px 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border: 1px solid rgba(101, 154, 255, .2);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(15, 29, 58, .8), rgba(7, 14, 31, .85));
  transition: transform .3s ease, border-color .3s ease;
}
.contact-card:hover { transform: translateY(-4px); border-color: rgba(50, 230, 255, .4); }
.contact-card strong { color: #f5f8ff; font: 700 16px var(--display); }
.contact-card span { color: var(--neon-cyan); font-size: 12px; }

/* Product detail page (product.html) */
.product-page .category-back-link { margin: -30px 0 32px; display: inline-flex; }
.product-hero { display: grid; grid-template-columns: 420px 1fr; gap: 46px; align-items: start; }
.product-hero-image { height: 420px; border-radius: 22px; }
.product-hero-title {
  margin: 14px 0 12px;
  color: #f5f8ff;
  font: 700 clamp(32px, 4vw, 46px) var(--display);
  letter-spacing: -.035em;
  line-height: 1.05;
}
.product-hero-short { max-width: 520px; margin: 0 0 22px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.product-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px; }
.product-pill {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 16px;
  border: 1px solid rgba(101, 154, 255, .18);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(15, 29, 58, .7), rgba(7, 14, 31, .78));
}
.product-pill span { color: #7183a7; font: 700 8px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.product-pill strong { color: #f5f8ff; font: 700 13px var(--display); }
.product-hero-buy { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.product-price.large { font-size: 34px; }
.product-details { margin-top: 60px; display: flex; flex-direction: column; gap: 34px; }
.product-section h3 {
  margin: 0 0 14px;
  color: #f5f8ff;
  font: 700 20px var(--display);
  letter-spacing: -.03em;
}
.product-section-text { margin: 0; max-width: 780px; color: var(--muted); font-size: 14px; line-height: 1.75; white-space: pre-line; }
.similar-section { margin-top: 90px; }
.similar-section .catalog-heading { margin: 30px 0 40px; }

/* Каталог: умный поиск */
.catalog-search-wrap { margin: 0 0 34px; }
.catalog-search-input {
  width: 100%;
  max-width: 420px;
  padding: 14px 18px;
  outline: none;
  border: 1px solid rgba(104, 159, 255, .17);
  border-radius: 13px;
  color: #f5f8ff;
  background: rgba(255, 255, 255, .035);
  font: 500 13px var(--sans);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.catalog-search-input::placeholder { color: #607191; }
.catalog-search-input:focus {
  border-color: rgba(50, 230, 255, .55);
  background: rgba(50, 230, 255, .035);
  box-shadow: 0 0 0 3px rgba(50, 230, 255, .045);
}

@media (max-width: 1000px) {
  .category-grid { grid-template-columns: 1fr; }
  .product-hero { grid-template-columns: 1fr; }
  .product-hero-image { height: 340px; }
}

@media (max-width: 720px) {
  body.catalog-page main { padding-top: 120px; }
  .category-back-link { margin-top: 0; }
  .category-card { min-height: 0; padding: 28px 22px 24px; }
  .category-card-body h3 { font-size: 25px; }
  .contact-card { min-width: 0; width: 100%; }
  .product-page .category-back-link { margin-top: 0; }
  .product-hero-image { height: 260px; }
  .product-hero-buy { width: 100%; }
  .product-hero-buy .main-button { flex: 1; justify-content: center; }
  .catalog-search-input { max-width: 100%; }
}

/* ============================================================
   КОРЗИНА (cart.js) — стили для иконки в шапке, кнопки "В корзину",
   drawer-панели и toast-уведомлений. Модалка оформления корзины
   переиспользует существующие .modal-overlay/.modal/.field-label —
   отдельных стилей под неё не требуется.
   ============================================================ */

/* Кнопка "В корзину" на карточке товара, рядом с "Купить" */
.product-footer-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.product-footer .btn-cart-add,
.product-hero-buy .btn-cart-add {
  background: transparent;
  border: 1px solid rgba(101, 154, 255, .3);
  color: var(--neon-cyan);
}
.product-footer .btn-cart-add:hover,
.product-hero-buy .btn-cart-add:hover {
  background: rgba(50, 230, 255, .08);
  transform: translateY(-2px);
}
.product-hero-buy .btn-cart-add {
  min-height: 54px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  transition: transform .25s ease, background .25s ease;
}

/* Иконка корзины в шапке */
.cart-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(104, 159, 255, .2);
  border-radius: 50%;
  background: rgba(255, 255, 255, .03);
  color: #f5f8ff;
  font-size: 18px;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.cart-icon-btn:hover { border-color: rgba(50, 230, 255, .4); background: rgba(50, 230, 255, .06); transform: translateY(-2px); }
.cart-count-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(120deg, #2d75ff, #6c61ff);
  color: #fff;
  font: 700 10px var(--display);
  line-height: 1;
}

/* Drawer корзины */
.cart-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 95;
  display: flex;
  justify-content: flex-end;
  background: rgba(5, 7, 17, .6);
  backdrop-filter: blur(6px);
}
.cart-drawer {
  width: min(420px, 100%);
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 28px 26px;
  background: linear-gradient(160deg, #0c1730, #050711);
  border-left: 1px solid rgba(104, 159, 255, .18);
  box-shadow: -30px 0 80px rgba(0, 0, 0, .4);
}
.cart-drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.cart-drawer-head h2 { margin: 0; color: #f5f8ff; font: 700 24px var(--display); letter-spacing: -.03em; }
.cart-drawer-items { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; padding-right: 4px; }
.cart-drawer-empty { flex: 1; display: flex; align-items: center; justify-content: center; color: var(--muted); font-size: 13px; text-align: center; }

.cart-item { display: flex; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid rgba(104, 159, 255, .12); }
.cart-item-thumb { width: 56px; height: 56px; flex-shrink: 0; border-radius: 10px; overflow: hidden; background: rgba(255, 255, 255, .04); }
.cart-item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cart-item-thumb-empty { width: 100%; height: 100%; }
.cart-item-body { flex: 1; min-width: 0; }
.cart-item-name { margin: 0 0 4px; color: #f5f8ff; font-size: 13px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cart-item-price { margin: 0 0 8px; color: var(--neon-cyan); font-size: 12px; font-weight: 700; }
.cart-item-controls { display: flex; align-items: center; gap: 8px; }
.cart-qty-btn {
  width: 26px;
  height: 26px;
  border: 1px solid rgba(104, 159, 255, .25);
  border-radius: 8px;
  background: rgba(255, 255, 255, .03);
  color: #f5f8ff;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}
.cart-qty-btn:hover { border-color: rgba(50, 230, 255, .5); }
.cart-qty-value { min-width: 18px; text-align: center; color: #f5f8ff; font-size: 12px; font-weight: 700; }
.cart-remove-btn { margin-left: auto; color: #8596b5; font-size: 10px; background: none; border: 0; cursor: pointer; text-decoration: underline; }
.cart-remove-btn:hover { color: #ff8189; }

.cart-drawer-footer { padding-top: 18px; border-top: 1px solid rgba(104, 159, 255, .18); }
.cart-drawer-total { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; color: #f5f8ff; }
.cart-drawer-total span { color: var(--muted); font-size: 12px; }
.cart-drawer-total strong { font: 700 22px var(--display); }
.cart-checkout-btn { width: 100%; justify-content: center; }
.cart-clear-link {
  display: block;
  margin: 14px auto 0;
  background: none;
  border: 0;
  color: #8596b5;
  font-size: 11px;
  cursor: pointer;
  text-decoration: underline;
}
.cart-clear-link:hover { color: #ff8189; }

/* Toast "добавлено в корзину" */
.cart-toast-container {
  position: fixed;
  z-index: 200;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}
.cart-toast {
  padding: 12px 20px;
  border-radius: 999px;
  background: rgba(12, 23, 48, .96);
  border: 1px solid rgba(50, 230, 255, .3);
  color: #f5f8ff;
  font-size: 12px;
  font-weight: 600;
  box-shadow: 0 15px 40px rgba(0, 0, 0, .35);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  white-space: nowrap;
}
.cart-toast.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 720px) {
  .cart-drawer { width: 100%; padding: 22px 18px; }
  .cart-icon-btn { width: 40px; height: 40px; font-size: 16px; }
  .cart-toast { white-space: normal; text-align: center; }
}
