.services-page {
  --catalog-violet: #9a63ff;
  --catalog-pink: #ff6da8;
  --catalog-orange: #ff9b50;
  --catalog-blue: #55a1ff;
  --catalog-green: #4cdaa0;
  --catalog-paper: #f0f0eb;
  --catalog-ink: #090a0e;
  background:
    radial-gradient(circle at 78% 6%, rgba(110, 57, 214, .14), transparent 28%),
    #05060d;
}
.services-page ::selection { background: rgba(154, 99, 255, .56); color: #fff; }
.catalog-progress { position: fixed; z-index: 1000; top: 0; right: 0; left: 0; height: 2px; pointer-events: none; }
.catalog-progress i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--catalog-violet), var(--catalog-pink), var(--catalog-orange)); box-shadow: 0 0 18px var(--catalog-violet); }
.services-page .site-header { background: rgba(5, 6, 13, .78); border-bottom-color: rgba(255,255,255,.07); }
.services-page .site-header.is-scrolled { background: rgba(5, 6, 13, .95); }
.services-page .main-nav a.is-active { color: #fff; }
.services-page .main-nav a.is-active::after { width: 100%; background: var(--catalog-violet); }

.catalog-hero {
  position: relative;
  min-height: min(1000px, calc(100vh + 90px));
  overflow: hidden;
  padding: 142px 0 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(90deg, rgba(5,6,13,.98), rgba(5,6,13,.84) 48%, rgba(5,6,13,.42));
}
.catalog-hero__grid { position: absolute; inset: 0; opacity: .5; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to right, transparent, #000 30%, #000); }
.catalog-hero__flare { position: absolute; top: -260px; right: -150px; width: 800px; height: 800px; border-radius: 50%; background: rgba(127,64,255,.12); filter: blur(100px); }
.catalog-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.82fr) minmax(580px,1.18fr); align-items: center; gap: clamp(45px,6vw,95px); padding-bottom: 70px; }
.catalog-hero .breadcrumbs { margin-bottom: 28px; }
.catalog-hero .breadcrumbs b { color: #c6a9ff; }
.catalog-signal,.service-map__head,.service-map__legend,.catalog-index,.catalog-toolbar,.service-band__head span,.route-console__status,.catalog-form__head { font-family: "SFMono-Regular",Consolas,"Liberation Mono",monospace; letter-spacing: .1em; }
.catalog-signal { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; color: #7e8396; font-size: 9px; font-weight: 780; }
.catalog-signal i,.service-map__head i,.route-console__status b i,.catalog-form__head b i { width: 7px; height: 7px; border-radius: 50%; background: var(--catalog-violet); box-shadow: 0 0 13px var(--catalog-violet); animation: catalog-pulse 1.8s ease-in-out infinite; }
.catalog-signal b { margin-left: auto; color: #b996ff; font-size: 8px; }
@keyframes catalog-pulse { 50% { opacity:.35; transform:scale(.72); } }
.catalog-hero h1 { max-width: 740px; margin-bottom: 28px; font-size: clamp(48px,5.25vw,82px); line-height: .97; }
.catalog-hero h1 em,.catalog-intro h2 em { color: #b58dff; font-family: Georgia,"Times New Roman",serif; font-weight: 400; }
.catalog-hero__lead { max-width: 720px; color: #b2b5c2; font-size: clamp(17px,1.35vw,20px); line-height: 1.72; }
.catalog-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.catalog-hero__routes { display:grid; grid-template-columns:repeat(3,1fr); margin-top:44px; border-top:1px solid rgba(255,255,255,.11); border-bottom:1px solid rgba(255,255,255,.11); }
.catalog-hero__routes a { display:grid; grid-template-columns:30px 1fr; grid-template-rows:auto auto; gap:2px 8px; padding:16px 12px; transition:.22s ease; }
.catalog-hero__routes a + a { border-left:1px solid rgba(255,255,255,.09); }
.catalog-hero__routes a:hover { background:rgba(154,99,255,.07); }
.catalog-hero__routes span { grid-row:1 / span 2; color:#9e70fa; font:760 9px/1.4 "SFMono-Regular",Consolas,monospace; }
.catalog-hero__routes b { font-size:14px; }
.catalog-hero__routes small { color:#717588; font-size:10px; }

.service-map { position:relative; overflow:hidden; border:1px solid rgba(175,139,255,.22); border-radius:22px; background:rgba(7,8,17,.86); box-shadow:0 45px 120px rgba(0,0,0,.52),inset 0 0 90px rgba(112,60,227,.025); backdrop-filter:blur(18px); }
.service-map__head,.service-map__legend { display:flex; align-items:center; gap:12px; min-height:42px; padding:0 18px; border-bottom:1px solid rgba(255,255,255,.08); color:#7c8193; font-size:8px; font-weight:760; }
.service-map__head span { display:inline-flex; align-items:center; gap:8px; color:#bec2cf; }
.service-map__head b { margin-left:auto; color:#b58cff; }
.service-map__stage { position:relative; min-height:490px; }
.service-map__stage canvas { display:block; width:100%; height:490px; cursor:crosshair; touch-action:manipulation; }
.service-map__fallback { display:grid; min-height:490px; place-items:center; padding:60px; color:#a4a8b6; text-align:center; line-height:1.8; }
.service-map__readout { min-height:176px; padding:24px 26px; border-top:1px solid rgba(255,255,255,.08); background:linear-gradient(90deg,rgba(21,17,38,.9),rgba(8,9,18,.96)); }
.service-map__readout > span { color:#b58cff; font:750 8px/1.2 "SFMono-Regular",Consolas,monospace; letter-spacing:.12em; }
.service-map__readout h2 { margin:10px 0 8px; font-size:clamp(24px,2.4vw,34px); }
.service-map__readout p { max-width:650px; margin:0; color:#a9adba; font-size:13px; line-height:1.55; }
.service-map__readout > div { display:flex; align-items:center; gap:18px; margin-top:14px; }
.service-map__readout b { color:#fff; font-size:12px; }
.service-map__readout a { margin-left:auto; border-bottom:1px solid rgba(181,140,255,.4); color:#c9adff; font-size:11px; font-weight:760; }
.service-map__legend { min-height:38px; border-top:1px solid rgba(255,255,255,.06); border-bottom:0; }
.service-map__legend span { display:inline-flex; align-items:center; gap:6px; }
.service-map__legend i { width:6px; height:6px; border-radius:50%; background:var(--catalog-violet); }
.service-map__legend span:nth-child(2) i { background:var(--catalog-orange); }
.service-map__legend span:nth-child(3) i { background:var(--catalog-green); }
.service-map__legend b { margin-left:auto; color:#626679; font-size:7px; }
.catalog-hero__ticker { position:relative; z-index:2; overflow:hidden; border-top:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.016); }
.catalog-hero__ticker div { display:flex; width:max-content; align-items:center; gap:22px; padding:12px 0; color:#686d7e; font:740 8px/1.2 "SFMono-Regular",Consolas,monospace; letter-spacing:.15em; animation:catalog-ticker 30s linear infinite; }
.catalog-hero__ticker i { color:#9564ed; font-style:normal; }
@keyframes catalog-ticker { to { transform:translateX(-50%); } }

.catalog-intro,.catalog,.route-navigator,.catalog-principle,.catalog-contact { position:relative; padding:clamp(90px,8vw,135px) 0; border-bottom:1px solid rgba(255,255,255,.07); }
.catalog-intro { background:var(--catalog-paper); color:var(--catalog-ink); }
.catalog-intro__layout { display:grid; grid-template-columns:.28fr 1.12fr .6fr; align-items:start; gap:clamp(35px,5vw,75px); }
.catalog-index { display:flex; align-items:center; gap:12px; color:#747b8d; font-size:8px; font-weight:760; }
.catalog-index span { color:#9b68ff; }
.catalog-index i { width:48px; height:1px; background:currentColor; opacity:.32; }
.catalog-intro .catalog-index { margin-top:15px; color:#61645f; }
.catalog-intro h2 { margin:0; font-size:clamp(40px,4.6vw,66px); }
.catalog-intro__layout > p { margin:10px 0 0; color:#4f514d; font-size:16px; line-height:1.75; }

.catalog { background:#060710; }
.catalog-toolbar { position:sticky; z-index:15; top:var(--header-height); display:flex; align-items:center; gap:28px; margin-bottom:72px; padding:14px 18px; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:rgba(8,9,18,.88); backdrop-filter:blur(16px); color:#777c8e; font-size:8px; font-weight:760; }
.catalog-toolbar > div { display:flex; gap:6px; }
.catalog-toolbar button { padding:8px 12px; border:1px solid transparent; border-radius:999px; background:transparent; color:#9ba0af; font-size:11px; font-weight:720; cursor:pointer; transition:.2s ease; }
.catalog-toolbar button:hover { color:#fff; }
.catalog-toolbar button.is-active { border-color:rgba(154,99,255,.35); background:rgba(154,99,255,.12); color:#d2bdff; }
.catalog-toolbar button i { margin-left:4px; color:#666b7b; font-size:8px; font-style:normal; }
.catalog-toolbar > small { margin-left:auto; color:#646979; font-size:8px; }
.service-band { scroll-margin-top:170px; margin-bottom:clamp(100px,10vw,160px); transition:opacity .25s ease; }
.service-band:last-child { margin-bottom:0; }
.service-band.is-hidden { display:none; }
.service-band__head { display:grid; grid-template-columns:1fr minmax(330px,.52fr); align-items:end; gap:60px; margin-bottom:38px; }
.service-band__head span { color:#a477ff; font-size:9px; font-weight:760; }
.service-band__head h2 { margin:12px 0 0; font-size:clamp(42px,4.7vw,68px); }
.service-band__head p { margin:0; font-size:15px; line-height:1.75; }
.service-ledger { border-top:1px solid rgba(255,255,255,.12); }
.service-row { position:relative; display:grid; grid-template-columns:58px minmax(230px,.55fr) minmax(300px,1fr) 185px 28px; align-items:center; gap:24px; min-height:152px; padding:25px 20px 25px 0; border-bottom:1px solid rgba(255,255,255,.11); transition:background .28s ease,padding .28s ease,opacity .25s ease,transform .25s ease; }
.service-row::before { position:absolute; inset:0; opacity:0; background:linear-gradient(90deg,rgba(154,99,255,.11),rgba(154,99,255,.018) 70%,transparent); content:""; transition:.28s ease; }
.service-row > * { position:relative; z-index:1; }
.service-row:hover { padding-left:18px; background:rgba(255,255,255,.018); }
.service-row:hover::before { opacity:1; }
.service-row.is-featured::after { position:absolute; top:0; bottom:0; left:-1px; width:3px; background:linear-gradient(var(--catalog-violet),var(--catalog-pink)); content:""; }
.service-row.is-filtered { opacity:0; transform:translateY(8px); pointer-events:none; }
.service-row__number { color:#6a6f7f; font:740 10px/1.2 "SFMono-Regular",Consolas,monospace; }
.service-row__name small { color:#7a7f90; font:740 8px/1.2 "SFMono-Regular",Consolas,monospace; letter-spacing:.12em; }
.service-row__name h3 { margin:12px 0 0; font-size:clamp(25px,2.4vw,34px); }
.service-row > p { margin:0; color:#9ea3b2; font-size:14px; line-height:1.7; }
.service-row__meta { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.service-row__meta b { color:#e5dcfa; font-size:14px; }
.service-row__meta small { color:#696e7d; font-size:9px; text-transform:uppercase; letter-spacing:.05em; }
.service-row > i { display:grid; width:28px; height:28px; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:50%; color:#a980fb; font-style:normal; transition:.2s ease; }
.service-row:hover > i { border-color:rgba(154,99,255,.5); background:rgba(154,99,255,.12); transform:translate(3px,-3px); }

.route-navigator { overflow:hidden; background:var(--catalog-paper); color:var(--catalog-ink); }
.route-navigator::before { position:absolute; right:-250px; bottom:-350px; width:800px; height:800px; border:1px solid rgba(25,18,41,.07); border-radius:50%; box-shadow:0 0 0 70px rgba(25,18,41,.025),0 0 0 140px rgba(25,18,41,.018); content:""; }
.route-navigator__layout { position:relative; display:grid; grid-template-columns:minmax(300px,.55fr) 1fr; gap:clamp(55px,8vw,120px); }
.route-navigator__copy h2 { font-size:clamp(40px,4.3vw,62px); }
.route-navigator__copy p { color:#555650; font-size:16px; line-height:1.75; }
.route-navigator .catalog-index { margin-bottom:35px; color:#595c57; }
.route-console { overflow:hidden; border:1px solid rgba(12,10,18,.14); border-radius:18px; background:#fff; box-shadow:0 30px 70px rgba(20,15,32,.1); }
.route-console__choices { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid rgba(12,10,18,.12); }
.route-console__choices button { display:flex; flex-direction:column; gap:8px; min-height:88px; padding:18px 14px; border:0; border-right:1px solid rgba(12,10,18,.1); background:transparent; color:#3f4140; text-align:left; cursor:pointer; transition:.22s ease; }
.route-console__choices button:last-child { border-right:0; }
.route-console__choices button:hover,.route-console__choices button.is-active { background:#12101a; color:#fff; }
.route-console__choices span { color:#9465ee; font:750 8px/1.2 "SFMono-Regular",Consolas,monospace; }
.route-console__result { min-height:420px; padding:34px; }
.route-console__status { display:flex; align-items:center; color:#797b76; font-size:8px; font-weight:760; }
.route-console__status b { display:inline-flex; align-items:center; gap:7px; margin-left:auto; color:#6e43c5; }
.route-console__result h3 { max-width:700px; margin:42px 0 16px; font-size:clamp(30px,3.4vw,46px); }
.route-console__result p { max-width:700px; color:#555850; font-size:15px; line-height:1.75; }
.route-console__chain { display:flex; align-items:center; gap:11px; margin:28px 0; padding:16px; overflow-x:auto; border:1px solid rgba(12,10,18,.1); background:#f5f5f0; white-space:nowrap; }
.route-console__chain span { color:#232621; font-size:11px; font-weight:740; }
.route-console__chain i { color:#9260ef; font-style:normal; }
.route-console__result .button { color:#fff; }
.route-console__result.is-switching h3,.route-console__result.is-switching p,.route-console__result.is-switching .route-console__chain { animation:route-copy .42s ease both; }
@keyframes route-copy { from { opacity:0; transform:translateY(10px); } }

.catalog-principle { background:#070811; }
.catalog-principle__layout { display:grid; grid-template-columns:.25fr 1fr .38fr; align-items:start; gap:clamp(40px,6vw,90px); }
.catalog-principle blockquote { margin:0; }
.catalog-principle blockquote > span { color:#a477ff; font:740 9px/1.2 "SFMono-Regular",Consolas,monospace; letter-spacing:.12em; }
.catalog-principle blockquote p { margin:24px 0 0; color:#f3f2f7; font-size:clamp(31px,3.7vw,50px); font-weight:690; line-height:1.22; letter-spacing:-.035em; }
.catalog-principle aside { padding:28px; border:1px solid rgba(154,99,255,.22); background:rgba(154,99,255,.06); }
.catalog-principle aside span { color:#a87aff; font:740 8px/1.2 "SFMono-Regular",Consolas,monospace; letter-spacing:.1em; }
.catalog-principle aside b { display:block; margin:26px 0 12px; font-size:22px; }
.catalog-principle aside p { margin:0; font-size:13px; line-height:1.65; }

.catalog-contact { overflow:hidden; background:#090817; }
.catalog-contact__orb { position:absolute; bottom:-440px; left:-250px; width:900px; height:900px; border-radius:50%; background:rgba(126,64,246,.13); filter:blur(130px); }
.catalog-contact__layout { position:relative; display:grid; grid-template-columns:minmax(0,.67fr) 1fr; gap:clamp(55px,8vw,120px); }
.catalog-contact__copy { position:sticky; top:120px; align-self:start; }
.catalog-contact__copy h2 { font-size:clamp(42px,5vw,68px); }
.catalog-contact__copy > p { font-size:17px; line-height:1.75; }
.catalog-contact__links { display:flex; flex-direction:column; align-items:flex-start; gap:9px; margin-top:30px; }
.catalog-contact__links a { border-bottom:1px solid rgba(255,255,255,.17); font-weight:720; }
.catalog-contact__links a:nth-child(2) { color:#c5a7ff; }
.catalog-form { padding:34px; border:1px solid rgba(154,99,255,.24); border-radius:18px; background:rgba(15,14,28,.88); box-shadow:0 35px 90px rgba(0,0,0,.3); }
.catalog-form__head { display:flex; align-items:center; margin:-34px -34px 32px; padding:16px 20px; border-bottom:1px solid rgba(255,255,255,.09); color:#7d8190; font-size:8px; font-weight:750; }
.catalog-form__head b { display:inline-flex; align-items:center; gap:8px; margin-left:auto; color:#b58cff; }
.catalog-form__grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.catalog-form label > span:first-child { display:block; margin-bottom:7px; color:#9b9ead; font-size:11px; font-weight:690; }
.catalog-form input,.catalog-form textarea { width:100%; border:1px solid rgba(255,255,255,.1); border-radius:9px; outline:0; background:rgba(4,4,10,.68); color:#f7f5fb; transition:.2s ease; }
.catalog-form input { min-height:50px; padding:0 14px; }
.catalog-form textarea { min-height:150px; padding:13px 14px; resize:vertical; }
.catalog-form input:focus,.catalog-form textarea:focus { border-color:rgba(154,99,255,.65); box-shadow:0 0 0 3px rgba(154,99,255,.09); }
.catalog-form__wide { grid-column:1 / -1; }
.catalog-form__consent { margin:22px 0; }
.catalog-form__consent > span:last-child { margin:0; color:#898d9b; font-size:11px; line-height:1.55; }
.catalog-form__consent a { color:#c7adff; text-decoration:underline; }
.catalog-form__submit { width:100%; justify-content:center; }
.catalog-form__status { margin:12px 0 0; color:#737685; font-size:11px; text-align:center; }
.catalog-form__status.is-ready { color:#bd9cff; }
.catalog-footer { background:#03040a; }
.catalog-footer .max-contact-link { color:#c6a8ff; }

@media (min-width:1600px) {
  .services-page { --container:1480px; --header-height:88px; font-size:17px; }
  .catalog-hero { padding-top:154px; }
  .service-map__stage,.service-map__stage canvas { min-height:555px; height:555px; }
  .catalog-hero__layout { grid-template-columns:minmax(0,.8fr) minmax(700px,1.2fr); }
  .service-row { grid-template-columns:68px minmax(280px,.58fr) minmax(360px,1fr) 210px 30px; min-height:165px; }
}
@media (max-width:1180px) {
  .catalog-hero__layout { grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr); gap:38px; }
  .service-map__stage,.service-map__stage canvas { min-height:440px; height:440px; }
  .service-row { grid-template-columns:50px minmax(220px,.58fr) 1fr 155px 28px; gap:16px; }
}
@media (max-width:980px) {
  .services-page { --header-height:76px; }
  .catalog-hero { min-height:auto; padding-top:116px; }
  .catalog-hero__layout { grid-template-columns:1fr; }
  .catalog-hero__copy,.service-map { max-width:800px; }
  .catalog-intro__layout { grid-template-columns:1fr; }
  .catalog-intro .catalog-index { margin:0; }
  .catalog-toolbar { overflow-x:auto; }
  .catalog-toolbar > span,.catalog-toolbar > small { display:none; }
  .service-band__head { grid-template-columns:1fr; gap:18px; }
  .service-row { grid-template-columns:42px 1fr 160px 28px; }
  .service-row > p { grid-column:2 / 4; margin-top:-14px; padding-right:30px; }
  .service-row__meta { grid-column:3; grid-row:1; }
  .service-row > i { grid-column:4; grid-row:1; }
  .route-navigator__layout,.catalog-contact__layout { grid-template-columns:1fr; }
  .catalog-principle__layout { grid-template-columns:1fr .42fr; }
  .catalog-principle__layout > .catalog-index { grid-column:1 / -1; }
  .catalog-contact__copy { position:static; }
}
@media (max-width:720px) {
  .catalog-hero { padding-top:106px; }
  .catalog-hero h1 { font-size:clamp(42px,12vw,58px); }
  .catalog-signal b { display:none; }
  .catalog-hero__routes { grid-template-columns:1fr; }
  .catalog-hero__routes a + a { border-top:1px solid rgba(255,255,255,.09); border-left:0; }
  .service-map__stage,.service-map__stage canvas { min-height:400px; height:400px; }
  .service-map__readout { min-height:205px; padding:22px 20px; }
  .service-map__readout > div { align-items:flex-start; flex-direction:column; gap:8px; }
  .service-map__readout a { margin-left:0; }
  .service-map__legend { flex-wrap:wrap; padding:10px 16px; }
  .service-map__legend b { width:100%; margin:0; }
  .catalog-toolbar { top:76px; margin-right:-24px; margin-left:-24px; border-right:0; border-left:0; border-radius:0; }
  .catalog-toolbar > div { min-width:max-content; }
  .service-row { grid-template-columns:36px 1fr 28px; gap:12px; min-height:0; padding:26px 8px 26px 0; }
  .service-row:hover { padding-left:8px; }
  .service-row__name { grid-column:2; }
  .service-row > p { grid-column:2 / 4; grid-row:2; margin:4px 0 0; padding:0; }
  .service-row__meta { grid-column:2 / 4; grid-row:3; margin-top:8px; }
  .service-row > i { grid-column:3; grid-row:1; }
  .route-console__choices { grid-template-columns:1fr 1fr; }
  .route-console__choices button:nth-child(2) { border-right:0; }
  .route-console__choices button:nth-child(-n+2) { border-bottom:1px solid rgba(12,10,18,.1); }
  .route-console__result { min-height:0; padding:26px 22px; }
  .route-console__status b { display:none; }
  .catalog-principle__layout { grid-template-columns:1fr; }
  .catalog-form { padding:24px; }
  .catalog-form__head { margin:-24px -24px 26px; }
  .catalog-form__grid { grid-template-columns:1fr; }
  .catalog-form__wide { grid-column:auto; }
}
@media (max-width:440px) {
  .catalog-hero__actions .button { width:100%; justify-content:center; }
  .service-map__stage,.service-map__stage canvas { min-height:370px; height:370px; }
  .service-map__head { padding:0 13px; }
  .catalog-intro,.catalog,.route-navigator,.catalog-principle,.catalog-contact { padding:76px 0; }
  .route-console__choices button { min-height:82px; padding:14px 11px; font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .catalog-signal i,.service-map__head i,.route-console__status b i,.catalog-form__head b i,.catalog-hero__ticker div { animation:none!important; }
}
