:root {
  --ink: #0d1b26;
  --ink-2: #22394d;
  --sea: #16334c;
  --sea-2: #1e4a6b;
  --mist: #e9f1f7;
  --ice: #dce9f2;
  --paper: #f4f6f8;
  --bg: #f6f9fc;
  --line: #c9d9e4;
  --accent: #c03a2b;
  --accent-2: #e06453;
  --blue: #2e6ea0;
  --white: #ffffff;
  --text: #33475a;
  --muted: #6b7f90;
  --rad: 14px;
  --rad-s: 8px;
  --shadow: 0 18px 50px rgba(13, 27, 38, 0.14);
  --shadow-s: 0 8px 24px rgba(13, 27, 38, 0.1);
  --ff-h: "Fraunces", Georgia, serif;
  --ff-b: "Manrope", "Segoe UI", sans-serif;
  --tr: 0.3s ease;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.site-body {
  font-family: var(--ff-b);
  color: var(--text);
  background: var(--bg);
  line-height: 1.65;
  font-size: 16px;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { font: inherit; cursor: pointer; background: none; border: 0; color: inherit; }
input, select, textarea { font: inherit; }
em { font-style: italic; }
strong, b { font-weight: 700; }
::selection { background: var(--sea-2); color: var(--white); }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.wrap { max-width: 1180px; margin-inline: auto; padding-inline: 24px; }
.layer { position: relative; z-index: 2; }
.page-content { display: block; }
.scroll-x { overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.notranslate { unicode-bidi: isolate; }

.bg-photo { background-size: cover; background-position: center; background-repeat: no-repeat; }
.bg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.video-veil { position: absolute; inset: 0; z-index: 1; background: rgba(5, 14, 26, 0.45); }
.on-dark { color: #eef4f9; }
.on-dark .h2, .on-dark .h3, .on-dark h1, .on-dark h2, .on-dark h3,
.sec--blue .h2, .sec--blue .h3, .sec--blue h1, .sec--blue h2, .sec--blue h3,
.sec--dark .h2, .sec--dark .h3, .sec--dark h1, .sec--dark h2, .sec--dark h3 { color: var(--white); }
.on-dark .lead, .on-dark p, .sec--blue .lead, .sec--dark .lead { color: #c8d6e1; }
.on-dark .h2 em, .on-dark .h-hero em, .on-dark .h3 em,
.sec--blue .h2 em, .sec--blue .h3 em, .sec--blue .h-hero em,
.sec--dark .h2 em, .sec--dark .h3 em, .sec--dark .h-hero em { color: #9cc8e8; }

.grain::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0.12;
  background-image: radial-gradient(rgba(255,255,255,0.35) 1px, transparent 1px);
  background-size: 4px 4px;
}

.sec { padding: 96px 0; position: relative; }
.sec--mist { background: var(--mist); }
.sec--ice { background: var(--ice); }
.sec--paper { background: var(--paper); }
.sec--blue { background: linear-gradient(160deg, var(--sea) 0%, #0c2233 100%); color: #dbe7f0; }
.sec--dark { background: #0a1520; color: #dbe7f0; }
.sec--grid { background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 44px 44px; background-color: var(--bg); }
.sec--tight { padding: 56px 0; }
.sec-head { max-width: 720px; margin-bottom: 48px; }
.sec-head--center { margin-inline: auto; text-align: center; }
.sec-head .lead { margin-top: 14px; }

.eyebrow {
  display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--blue); margin-bottom: 14px;
}
.on-dark .eyebrow, .sec--blue .eyebrow, .sec--dark .eyebrow { color: #8fc3e8; }

h1, h2, h3, .h-hero, .h2, .h3 { font-family: var(--ff-h); color: var(--ink); line-height: 1.12; font-weight: 600; }
.h-hero { font-size: clamp(38px, 6vw, 68px); letter-spacing: -0.01em; }
.h2 { font-size: clamp(28px, 4vw, 44px); }
.h3 { font-size: 20px; }
.h2 em, .h-hero em, .h3 em { color: var(--blue); }
.on-dark .h2 em, .on-dark .h-hero em { color: #9cc8e8; }
.lead { font-size: 18px; color: var(--muted); }
.coords { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.num-xl { font-family: var(--ff-h); font-size: clamp(48px, 7vw, 92px); font-weight: 700; line-height: 1; }
.num-out { color: transparent; -webkit-text-stroke: 1.5px rgba(46, 110, 160, 0.4); }

.ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--ice); color: var(--sea-2); font-size: 20px; flex: none;
}
.on-dark .ico, .sec--blue .ico, .sec--dark .ico { background: rgba(255,255,255,0.1); color: #9cc8e8; }

.tag {
  display: inline-flex; align-items: center; gap: 7px; padding: 6px 13px;
  border: 1px solid var(--line); border-radius: 100px; font-size: 13px; font-weight: 600;
  background: var(--white); color: var(--ink-2);
}
.on-dark .tag, .chap__tags .tag { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.18); color: #dbe7f0; }

.tlink {
  display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--blue);
  border-bottom: 2px solid transparent; transition: var(--tr);
}
.tlink::after { content: "→"; transition: var(--tr); }
.tlink:hover { border-color: var(--blue); }
.tlink:hover::after { transform: translateX(4px); }
.on-dark .tlink { color: #9cc8e8; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 14px 26px; border-radius: 100px; font-weight: 700; font-size: 15px;
  background: var(--sea); color: var(--white); transition: var(--tr);
  border: 1.5px solid var(--sea);
}
.btn:hover { background: var(--sea-2); border-color: var(--sea-2); transform: translateY(-2px); box-shadow: var(--shadow-s); }
.btn--light { background: var(--white); color: var(--ink); border-color: var(--white); }
.btn--light:hover { background: var(--mist); border-color: var(--mist); }
.btn--line { background: transparent; color: var(--white); border-color: rgba(255,255,255,0.55); }
.btn--line:hover { background: rgba(255,255,255,0.12); border-color: var(--white); }
.sec:not(.on-dark):not(.sec--blue):not(.sec--dark) .btn--line,
.btn--line:not(.on-dark) { color: var(--sea); border-color: var(--sea); }
.btn--ghost { background: transparent; color: var(--sea); border-color: var(--line); }
.btn--ghost:hover { border-color: var(--sea); background: var(--white); }
.btn--red { background: var(--accent); border-color: var(--accent); }
.btn--red:hover { background: #a52e21; border-color: #a52e21; }
.btn--block { width: 100%; }
.btn-row { display: flex; flex-wrap: wrap; gap: 14px; }
.btn .spinner, .spinner {
  display: none; width: 16px; height: 16px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.4); border-top-color: var(--white);
  animation: spin 0.8s linear infinite;
}
.is-loading .spinner { display: inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }

.ph { position: relative; overflow: hidden; border-radius: var(--rad-s); background: var(--ice); }
.ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ar-169 { aspect-ratio: 16/9; }
.ar-43 { aspect-ratio: 4/3; }
.ar-34 { aspect-ratio: 3/4; }
.ar-23 { aspect-ratio: 2/3; }
.ar-32 { aspect-ratio: 3/2; }
.ar-11 { aspect-ratio: 1/1; }
.frame { border: 1px solid var(--line); border-radius: var(--rad); padding: 10px; background: var(--white); box-shadow: var(--shadow-s); }

.hdr { position: sticky; top: 0; z-index: 100; background: rgba(246, 249, 252, 0.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.hdr-top { background: var(--sea); color: #cfe0ec; font-size: 13px; }
.hdr-top__in { display: flex; justify-content: space-between; gap: 18px; padding-block: 7px; }
.hdr-info { display: inline-flex; align-items: center; gap: 8px; }
.hdr-info i { color: #8fc3e8; }
.hdr-info--link:hover { color: var(--white); }
.hdr-main { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 12px; }
.hdr-logo img { height: 44px; width: auto; }
.hdr-list { display: flex; gap: 4px; }
.hdr-list a { display: block; padding: 8px 12px; border-radius: 8px; font-weight: 600; font-size: 14px; color: var(--ink-2); transition: var(--tr); }
.hdr-list a:hover, .hdr-list a[aria-current="page"] { background: var(--ice); color: var(--sea-2); }
.hdr-burger { display: none; width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--line); font-size: 18px; color: var(--sea); }
.hdr-mobile { display: none; border-top: 1px solid var(--line); background: var(--bg); }
.hdr-mobile.is-open { display: block; }
.hdr-mobile__nav ul { padding: 12px 24px; }
.hdr-mobile__nav a { display: block; padding: 12px 4px; font-weight: 700; color: var(--ink); border-bottom: 1px solid var(--mist); }
.hdr-mobile__contacts { display: flex; flex-direction: column; gap: 10px; padding: 16px 24px 20px; font-size: 14px; }

.hero { position: relative; min-height: min(88vh, 760px); overflow: hidden; background: #071420; }
.hero__slides, .hero-slide { position: absolute; inset: 0; }
.hero-slide {
  opacity: 0; visibility: hidden; transition: opacity 0.9s ease, visibility 0.9s;
  display: flex; align-items: center; color: var(--white);
}
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-slide__in { position: relative; z-index: 2; max-width: 760px; padding-block: 90px; }
.hero-slide__lead { font-size: 18px; color: #c8d6e1; margin: 22px 0 30px; max-width: 620px; }
.hero-slide__lead a { color: #9cc8e8; text-decoration: underline; }
.hero__ui {
  position: absolute; z-index: 3; left: 0; right: 0; bottom: 26px;
  display: flex; align-items: center; gap: 22px; color: var(--white);
}
.hero__count { font-family: var(--ff-h); font-size: 18px; letter-spacing: 0.06em; }
.hero__count-sep { opacity: 0.5; margin-inline: 6px; }
.hero__dots { display: flex; gap: 10px; }
.hero__dot { width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,0.3); transition: var(--tr); }
.hero__dot.is-active { background: var(--white); transform: scale(1.2); }
.hero__arrows { margin-left: auto; display: flex; gap: 10px; }
.hero__arrow {
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.4);
  color: var(--white); display: inline-flex; align-items: center; justify-content: center; transition: var(--tr);
}
.hero__arrow:hover { background: var(--white); color: var(--ink); }
.hero__bar { position: absolute; left: 24px; right: 24px; bottom: -26px; height: 2px; background: rgba(255,255,255,0.18); display: block; }
.hero__bar span { display: block; height: 100%; width: 0; background: var(--white); transition: width 0.3s linear; }

.dock { position: sticky; top: 0; z-index: 90; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: 0 6px 24px rgba(13,27,38,0.08); }
.dock__in { display: flex; align-items: center; gap: 32px; padding-block: 14px; }
.dock__play {
  display: inline-flex; align-items: center; gap: 12px; background: var(--ink); color: var(--white);
  padding: 10px 20px; border-radius: 12px; transition: var(--tr); flex: none;
}
.dock__play:hover { background: var(--sea-2); transform: translateY(-1px); }
.dock__play i { font-size: 24px; }
.dock__play small { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; opacity: 0.7; }
.dock__play strong { font-size: 17px; }
.dock__facts { display: flex; gap: 28px; }
.dock__facts li span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted); }
.dock__facts li strong { font-size: 15px; color: var(--ink); }
.dock__platforms { display: flex; gap: 12px; margin-left: auto; }
.dock__plat {
  width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line);
  display: inline-flex; align-items: center; justify-content: center; color: var(--muted); font-size: 18px;
}

.tip { position: relative; }
.tip::after {
  content: attr(data-tip); position: absolute; bottom: calc(100% + 10px); left: 50%;
  transform: translateX(-50%) translateY(4px); background: var(--ink); color: var(--white);
  font-size: 12px; font-weight: 600; padding: 7px 12px; border-radius: 8px; white-space: nowrap;
  opacity: 0; pointer-events: none; transition: var(--tr); z-index: 50;
}
.tip:hover::after, .tip:focus::after { opacity: 1; transform: translateX(-50%) translateY(0); }

.manifest { position: relative; padding: 120px 0 90px; overflow: hidden; background: #071420; }
.manifest__frame { position: absolute; inset: 28px; border: 1px solid rgba(255,255,255,0.14); pointer-events: none; z-index: 1; }
.manifest__grid { display: grid; grid-template-columns: 90px 1fr; gap: 30px; }
.manifest__side { display: flex; flex-direction: column; justify-content: space-between; color: rgba(255,255,255,0.4); }
.manifest__chap { font-family: var(--ff-h); font-size: 40px; }
.manifest__coords { writing-mode: vertical-rl; }
.manifest__title { font-size: clamp(40px, 6.5vw, 76px); color: var(--white); margin: 10px 0 26px; }
.manifest__title .mask { display: block; overflow: hidden; }
.manifest__title .mask > span { display: inline-block; }
.manifest__title .out { color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,0.75); }
.manifest__lead { max-width: 640px; color: #c8d6e1; font-size: 18px; }
.manifest__theses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; margin-top: 70px; }
.manifest__theses li { display: flex; gap: 18px; }
.manifest__theses p { color: #b8c9d6; font-size: 15px; margin-top: 6px; }
.manifest__theses .h3 { margin-bottom: 2px; }

.split { background: var(--bg); }
.split__head { max-width: 720px; margin-bottom: 44px; }
.split__stage { position: relative; height: 78vh; min-height: 520px; overflow: hidden; }
.split__panel { position: absolute; inset: 0; display: flex; align-items: center; }
.split__panel--night { clip-path: inset(0 0 0 var(--split, 50%)); background-color: #060d16; }
.split__panel--day { background-color: #24445f; }
.split__panel--day .split__copy { color: var(--white); margin-right: auto; }
.split__panel--night { justify-content: flex-end; }
.split__panel--night .split__copy { color: var(--white); margin-left: auto; text-align: right; }
.split__panel--night .split__list { justify-content: flex-end; }
.split__copy { max-width: 380px; padding: 40px; position: relative; z-index: 2; }
.split__copy .h3 { color: var(--white); font-size: 34px; margin: 8px 0 14px; }
.split__copy p { color: #d3e0ea; font-size: 15px; }
.split__list { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.split__list li { display: inline-flex; gap: 8px; align-items: center; font-size: 13px; font-weight: 700; background: rgba(255,255,255,0.14); padding: 7px 13px; border-radius: 100px; }
.split__fog { position: absolute; inset: 0; }
.split__horizon { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.split__line { position: absolute; top: 0; bottom: 0; left: var(--split, 50%); width: 3px; background: var(--white); transform: translateX(-50%); box-shadow: 0 0 20px rgba(255,255,255,0.6); }
.split__knob {
  position: absolute; top: 50%; left: var(--split, 50%); transform: translate(-50%, -50%);
  width: 56px; height: 56px; border-radius: 50%; background: var(--white); color: var(--sea);
  display: flex; align-items: center; justify-content: center; gap: 5px; box-shadow: var(--shadow); font-size: 15px;
}
.split__hint { position: absolute; top: calc(50% + 48px); left: var(--split, 50%); transform: translateX(-50%); color: var(--white); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; text-shadow: 0 2px 8px rgba(0,0,0,0.5); }
.split__range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; pointer-events: auto; }

.loop__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 40px; }
.loop__counter { font-family: var(--ff-h); font-size: 22px; color: var(--white); flex: none; }
.loop__counter-sep { opacity: 0.5; }
.loop__track {
  display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory;
  padding: 10px 24px 26px; scrollbar-width: none;
}
.loop__track::-webkit-scrollbar { display: none; }
.loop__st {
  flex: 0 0 min(320px, 78vw); scroll-snap-align: start; background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12); border-radius: var(--rad); padding: 30px 26px;
}
.loop__st .num-xl { display: block; margin-bottom: 20px; }
.loop__st .ico { margin-bottom: 18px; }
.loop__st .h3 { margin-bottom: 10px; }
.loop__st p { font-size: 14.5px; color: #b8c9d6; }
.loop__bar { position: relative; height: 4px; background: rgba(255,255,255,0.15); border-radius: 4px; margin-top: 10px; }
.loop__fill { position: absolute; inset: 0 auto 0 0; width: 0; background: #8fc3e8; border-radius: 4px; transition: width 0.15s linear; }
.loop__buoy { position: absolute; top: 50%; left: 0; transform: translate(-50%, -50%); width: 40px; height: 40px; border-radius: 50%; background: var(--white); color: var(--accent); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-s); transition: left 0.15s linear; }

.bento__grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 190px; gap: 18px; }
.bento__cell {
  border-radius: var(--rad); padding: 24px; background: var(--white); border: 1px solid var(--line);
  display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; overflow: hidden; position: relative;
}
.bento__cell.on-dark { border: 0; }
.bento__cell .ico { margin-bottom: auto; }
.bento__cell p { font-size: 14px; }
.bento__a { grid-column: span 2; grid-row: span 2; }
.bento__g { grid-column: span 2; }
.bento__num { position: absolute; top: 18px; right: 20px; font-family: var(--ff-h); font-size: 34px; color: var(--blue); opacity: 0.85; }
.bento__scale { height: 8px; border-radius: 8px; background: linear-gradient(90deg, #7fb3d5, #2e6ea0, var(--ink)); margin-top: 12px; }
.bento__scale-label { font-size: 11px !important; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }

.map__layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 26px; align-items: stretch; }
.map__canvas { position: relative; min-height: 480px; border-radius: var(--rad); overflow: hidden; }
.map__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.07) 1px, transparent 1px); background-size: 44px 44px; }
.map__route { position: absolute; border-top: 2px dashed rgba(159, 203, 232, 0.55); }
.map__route--a { top: 34%; left: 16%; width: 52%; transform: rotate(-14deg); }
.map__route--b { top: 62%; left: 30%; width: 46%; transform: rotate(9deg); }
.map__pin {
  position: absolute; width: 42px; height: 42px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
  background: var(--white); color: var(--accent); display: flex; align-items: center; justify-content: center;
  box-shadow: var(--shadow-s); transition: var(--tr);
}
.map__pin i { transform: rotate(45deg); }
.map__pin:hover, .map__pin.is-active { background: var(--accent); color: var(--white); }
.pin-1 { top: 22%; left: 14%; } .pin-2 { top: 12%; left: 52%; } .pin-3 { top: 40%; left: 76%; }
.pin-4 { top: 68%; left: 22%; } .pin-5 { top: 58%; left: 58%; } .pin-6 { top: 82%; left: 44%; }
.map__compass { position: absolute; right: 18px; top: 18px; font-size: 26px; color: rgba(255,255,255,0.6); }
.map__legend { position: absolute; left: 18px; bottom: 18px; display: flex; gap: 14px; font-size: 12px; color: #cfe0ec; }
.map__legend i { margin-right: 5px; }
.map__panel { position: relative; }
.isle { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 30px; height: 100%; }
.isle .h3 { margin: 10px 0 12px; }
.isle__dl { margin-top: 20px; display: grid; gap: 14px; }
.isle__dl dt { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted); font-weight: 700; }
.isle__dl dd { font-size: 15px; color: var(--ink-2); margin-top: 3px; }
.map__tabs { display: flex; gap: 10px; margin-top: 22px; padding-bottom: 6px; }
.map__tab {
  padding: 10px 18px; border-radius: 100px; border: 1px solid var(--line); background: var(--white);
  font-weight: 600; font-size: 14px; white-space: nowrap; transition: var(--tr);
}
.map__tab.is-active { background: var(--sea); border-color: var(--sea); color: var(--white); }

.chapters__stack { display: grid; gap: 26px; }
.chap {
  position: sticky; top: 96px; display: grid; grid-template-columns: 280px 1fr; gap: 0;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); overflow: hidden; box-shadow: var(--shadow-s);
}
.chap--2 { top: 116px; } .chap--3 { top: 136px; } .chap--4 { top: 156px; }
.chap__side { padding: 34px 30px; display: flex; flex-direction: column; gap: 8px; justify-content: center; }
.chap__num { display: block; }
.chap__name { font-size: 26px; }
.chap__frame { min-height: 320px; display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; }
.chap__text { max-width: 520px; color: #dbe7f0; }
.chap__tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

.anatomy { position: relative; overflow: hidden; padding: 96px 0; }
.anatomy__stage { position: relative; display: grid; grid-template-columns: 1fr 340px 1fr; gap: 30px; align-items: center; }
.anatomy__rings { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 40%, transparent 120px, rgba(159,203,232,0.14) 121px, transparent 122px, transparent 220px, rgba(159,203,232,0.1) 221px, transparent 222px, transparent 320px, rgba(159,203,232,0.07) 321px, transparent 322px); }
.anatomy__phone { position: relative; border-radius: 34px; border: 8px solid #1a2f42; background: #0a1520; overflow: visible; box-shadow: var(--shadow); }
.anatomy__screen { border-radius: 24px; }
.anatomy__pin {
  position: absolute; width: 30px; height: 30px; border-radius: 50%; background: var(--accent); color: var(--white);
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; box-shadow: var(--shadow-s);
}
.anatomy__pin--1 { top: 12%; left: -14px; } .anatomy__pin--2 { top: 38%; right: -14px; }
.anatomy__pin--3 { bottom: 30%; left: -14px; } .anatomy__pin--4 { bottom: 10%; right: -14px; }
.anatomy__notes { display: grid; gap: 20px; }
.anatomy__note { display: flex; gap: 16px; align-items: flex-start; }
.anatomy__note p { font-size: 14.5px; color: #b8c9d6; }
.anatomy__badge { flex: none; width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--accent-2); color: var(--accent-2); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.anatomy__zones { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 56px; }
.zone { display: grid; grid-template-columns: 110px 1fr 130px; align-items: center; gap: 14px; font-size: 13px; }
.zone__label { font-weight: 700; }
.zone__bar { height: 10px; border-radius: 8px; background: rgba(255,255,255,0.14); overflow: hidden; display: block; }
.zone__fill { display: block; height: 100%; border-radius: 8px; }
.zone__fill--easy { width: 30%; background: #8fc3e8; }
.zone__fill--hard { width: 80%; background: var(--accent-2); }
.zone__val { text-align: right; color: #b8c9d6; }

.inv__stage { position: relative; }
.inv__radio { position: absolute; opacity: 0; pointer-events: none; }
.inv__switch {
  position: relative; z-index: 3; display: inline-flex; gap: 6px; padding: 6px; margin-bottom: 26px;
  background: var(--white); border: 1px solid var(--line); border-radius: 100px; box-shadow: var(--shadow-s);
}
.inv__tab { padding: 10px 24px; border-radius: 100px; font-weight: 700; cursor: pointer; display: inline-flex; gap: 8px; align-items: center; transition: var(--tr); color: var(--ink-2); }
.inv__bolt { display: inline-flex; align-items: center; color: var(--accent); }
#inv-a:checked ~ .inv__switch .inv__tab[for="inv-a"],
#inv-b:checked ~ .inv__switch .inv__tab[for="inv-b"] { background: var(--sea); color: var(--white); }
.inv__half { display: none; grid-template-columns: 1fr 1fr; gap: 34px; align-items: center; }
.inv__half p { margin-bottom: 12px; }
.inv__half .h3 { font-size: 30px; margin: 8px 0 14px; }
#inv-a:checked ~ .inv__half--a, #inv-b:checked ~ .inv__half--b { display: grid; }

.panic { position: relative; overflow: hidden; }
.panic__vignette { position: absolute; inset: 0; background: radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.55) 100%); z-index: 1; }
.panic__noise { position: absolute; inset: 0; opacity: calc(var(--panic, 20) / 300); background-image: radial-gradient(rgba(255,255,255,0.5) 1px, transparent 1px); background-size: 3px 3px; z-index: 1; }
.panic__grid { display: grid; grid-template-columns: 300px 1fr 1fr; gap: 40px; align-items: center; }
.panic__gauge { display: flex; justify-content: center; }
.panic__ring {
  width: 240px; height: 240px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: conic-gradient(var(--accent-2) calc(var(--panic, 20) * 1%), rgba(255,255,255,0.12) 0);
  transition: background 0.3s;
}
.panic__ring::before { content: ""; position: absolute; width: 190px; height: 190px; border-radius: 50%; background: #0c2233; }
.panic__value { position: relative; font-family: var(--ff-h); font-size: 44px; color: var(--white); }
.panic__label { display: block; font-weight: 700; margin-bottom: 12px; color: var(--white); }
.panic__range { width: 100%; accent-color: var(--accent-2); height: 34px; }
.panic__states { margin-top: 22px; position: relative; min-height: 110px; }
.panic__state { display: none; font-size: 15px; color: #c8d6e1; }
.panic__state.is-active { display: block; }
.panic__state strong { color: var(--white); }
.panic__night { display: grid; gap: 24px; }
.panic__night li { display: flex; gap: 16px; }
.panic__night p { font-size: 14px; color: #b8c9d6; }

.fog { position: relative; min-height: 78vh; overflow: hidden; display: flex; align-items: center; background: #0a1520; }
.fog__layer { position: absolute; inset: -8%; will-change: transform; }
.fog__mist { position: absolute; inset: 0; background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), transparent 90px, rgba(8,16,26,0.72) 240px); z-index: 2; }
.fog__dark { position: absolute; inset: 0; background: rgba(4,10,18,0.35); z-index: 1; }
.fog__content { position: relative; z-index: 3; }
.fog__quote { max-width: 720px; font-family: var(--ff-h); font-size: clamp(26px, 3.6vw, 40px); color: var(--white); line-height: 1.3; }
.fog__quote footer { margin-top: 20px; font-family: var(--ff-b); font-size: 14px; color: #9cc8e8; }
.fog__hint { margin-top: 30px; font-size: 13px; color: #7f97a9; }

.beasts { position: relative; }
.beasts__strip { display: flex; gap: 20px; padding: 6px 24px 26px; }
.beast { flex: 0 0 250px; }
.beast__open { display: block; width: 100%; text-align: left; }
.beast__open .ph { aspect-ratio: 3/4; transition: var(--tr); }
.beast:hover .ph { transform: translateY(-4px); box-shadow: var(--shadow); }
.beast__name { display: block; margin-top: 12px; font-family: var(--ff-h); font-size: 18px; color: var(--white); }
.beast__file { display: none; margin-top: 12px; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14); border-radius: var(--rad-s); padding: 14px; }
.beast.is-open .beast__file { display: block; }
.beast.is-open .beast__open .ph { outline: 3px solid var(--accent-2); }
.beast__file dt { font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: #8fc3e8; font-weight: 700; }
.beast__file dd { font-size: 13.5px; color: #dbe7f0; margin-bottom: 6px; }
.beasts__count { margin-top: 18px; font-size: 15px; }
.beasts__count strong { color: var(--white); }

.theatre { position: relative; overflow: hidden; }
.theatre__curtain { position: absolute; top: 0; bottom: 0; width: 90px; z-index: 1; background: repeating-linear-gradient(90deg, #101f2e 0 18px, #0a1622 18px 36px); }
.theatre__curtain--l { left: 0; } .theatre__curtain--r { right: 0; }
.theatre__grid { display: grid; grid-template-columns: 300px 1fr; gap: 44px; align-items: center; }
.theatre__codes { display: grid; gap: 16px; font-size: 15px; color: #b8c9d6; }
.theatre__codes .coords { display: inline-block; min-width: 52px; color: #8fc3e8; }
.theatre__frame { position: relative; border-radius: var(--rad); overflow: hidden; border: 1px solid rgba(255,255,255,0.16); }
.theatre__video { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.theatre__poster { position: absolute; inset: 0; transition: opacity 0.4s; }
.theatre__poster .ph, .theatre__poster.ph { height: 100%; }
.theatre__screen.is-playing .theatre__poster { opacity: 0; pointer-events: none; }
.theatre__play {
  position: absolute; inset: 0; margin: auto; width: 84px; height: 84px; border-radius: 50%;
  background: rgba(255,255,255,0.92); color: var(--sea); font-size: 26px; display: flex; align-items: center; justify-content: center;
  transition: var(--tr); box-shadow: var(--shadow);
}
.theatre__play:hover { transform: scale(1.06); }
.theatre__screen.is-playing .theatre__play { opacity: 0; pointer-events: none; }
.theatre__cap { margin-top: 14px; font-size: 13px; color: #8fa5b7; }
.theatre__credits { display: flex; gap: 30px; margin-top: 26px; font-size: 13px; color: #8fa5b7; justify-content: center; flex-wrap: wrap; }

.shots__mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 170px; gap: 14px; }
.shot { display: block; border-radius: var(--rad-s); overflow: hidden; }
.shot .ph { height: 100%; }
.shot .ph img { transition: transform 0.5s ease; }
.shot:hover .ph img { transform: scale(1.05); }
.shot--1, .shot--6 { grid-column: span 2; grid-row: span 2; }
.shot--4 { grid-row: span 2; }
.shots__timeline { display: flex; justify-content: space-between; margin-top: 30px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: #8fc3e8; border-top: 1px solid rgba(255,255,255,0.15); padding-top: 18px; }

.lightbox {
  position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center;
  background: rgba(4, 10, 18, 0.9); padding: 40px;
}
.lightbox:target { display: flex; }
.lightbox__bg { position: absolute; inset: 0; }
.lightbox__fig { position: relative; z-index: 2; max-width: 1000px; width: 100%; }
.lightbox__nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 52px; height: 52px;
  border-radius: 50%; background: var(--white); color: var(--ink); display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.lightbox__nav--prev { left: 30px; } .lightbox__nav--next { right: 30px; }
.lightbox__close { position: absolute; top: 26px; right: 30px; z-index: 3; width: 46px; height: 46px; border-radius: 50%; background: var(--white); color: var(--ink); display: flex; align-items: center; justify-content: center; }

.bottle { position: relative; overflow: hidden; }
.bottle__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: center; }
.bottle__form { margin-top: 28px; display: grid; gap: 16px; }
.bottle__fig { position: relative; }
.bottle__glow { position: absolute; inset: -14%; background: radial-gradient(circle, rgba(143,195,232,0.3), transparent 65%); z-index: 0; }
.bottle__fig .ph { position: relative; z-index: 1; }

.field { display: grid; gap: 7px; }
.field label { font-weight: 700; font-size: 14px; color: var(--ink); }
.on-dark .field label { color: var(--white); }
.input {
  width: 100%; padding: 13px 16px; border: 1.5px solid var(--line); border-radius: 10px;
  background: var(--white); color: var(--ink); transition: var(--tr);
}
.input:focus { outline: none; border-color: var(--sea-2); box-shadow: 0 0 0 3px rgba(46,110,160,0.15); }
.field-error { display: none; font-size: 13px; color: var(--accent); font-weight: 600; }
.field.is-error .field-error, .field-error.is-visible { display: block; }
.field.is-error .input { border-color: var(--accent); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; cursor: pointer; }
.check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--sea-2); flex: none; }
.check a { text-decoration: underline; }

.cta { position: relative; padding: 110px 0 0; overflow: hidden; text-align: center; }
.cta__in { position: relative; z-index: 2; }
.cta__title { font-size: clamp(36px, 6vw, 66px); color: var(--white); }
.cta__title span { color: #9cc8e8; }
.cta__lead { max-width: 560px; margin: 20px auto 34px; }
.cta .btn-row { justify-content: center; }
.marquee { display: flex; overflow: hidden; margin-top: 80px; }
.marquee__track { display: flex; flex: none; animation: marq 22s linear infinite; }
.marquee--rev .marquee__track { animation-direction: reverse; }
.marquee__track span {
  font-family: var(--ff-h); font-size: clamp(30px, 5vw, 56px); font-weight: 700; padding: 0 34px;
  color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,0.35); white-space: nowrap;
}
.quick__line .marquee__track span { -webkit-text-stroke: 0; color: rgba(255,255,255,0.75); font-size: clamp(18px, 3vw, 30px); }
@keyframes marq { to { transform: translateX(-100%); } }

.cookie {
  position: fixed; z-index: 300; right: 22px; bottom: 22px; max-width: 400px;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--rad);
  box-shadow: var(--shadow); padding: 20px; display: flex; gap: 14px; align-items: flex-start;
}
.cookie.is-hidden { display: none; }
.cookie__icon { font-size: 22px; color: var(--blue); padding-top: 2px; }
.cookie__title { font-weight: 800; color: var(--ink); }
.cookie__text { font-size: 13px; color: var(--muted); margin: 6px 0 14px; }
.cookie__text a { text-decoration: underline; }
.cookie__actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie__actions .btn { padding: 9px 18px; font-size: 13px; }

.ftr { position: relative; background: #08131d; color: #b8c9d6; overflow: hidden; }
.ftr-beam { height: 4px; background: linear-gradient(90deg, var(--sea-2), var(--accent-2), var(--sea-2)); }
.ftr-word {
  font-family: var(--ff-h); font-size: clamp(60px, 11vw, 150px); font-weight: 700; line-height: 1;
  color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,0.12); text-align: center;
  margin: 30px 0 10px; user-select: none;
}
.ftr-grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 34px; padding-block: 30px; }
.ftr-logo img { height: 40px; width: auto; margin-bottom: 16px; }
.ftr-about { font-size: 14px; max-width: 320px; }
.ftr-social { display: flex; gap: 10px; margin-top: 20px; }
.ftr-social a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.2); display: inline-flex; align-items: center; justify-content: center; transition: var(--tr); }
.ftr-social a:hover { background: var(--sea-2); border-color: var(--sea-2); color: var(--white); }
.ftr-col summary { font-weight: 800; color: var(--white); font-size: 15px; margin-bottom: 14px; cursor: pointer; list-style: none; }
.ftr-col summary::-webkit-details-marker { display: none; }
.ftr-col li a { display: block; padding: 5px 0; font-size: 14px; transition: var(--tr); }
.ftr-col li a:hover { color: var(--white); padding-left: 5px; }
.ftr-contact li { display: flex; gap: 10px; padding: 5px 0; font-size: 14px; align-items: flex-start; }
.ftr-contact i { color: #8fc3e8; padding-top: 4px; }
.ftr-company { border-top: 1px solid rgba(255,255,255,0.12); padding-block: 22px; }
.ftr-company dl { display: flex; flex-wrap: wrap; gap: 26px; }
.ftr-company dt { font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; color: #6f8899; }
.ftr-company dd { font-size: 13.5px; color: #d3e0ea; }
.ftr-bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,0.12); padding-block: 20px; font-size: 13px; color: #6f8899; }

.page-hero { position: relative; padding: 90px 0 70px; background: var(--sea); color: var(--white); overflow: hidden; }
.page-hero .h-hero { color: var(--white); }
.page-hero__lead { font-size: 18px; color: #c8d6e1; max-width: 680px; margin-top: 18px; }
.page-hero__meta { display: flex; gap: 20px; margin-top: 22px; font-size: 13px; color: #9cc8e8; flex-wrap: wrap; }
.crumbs { display: flex; gap: 8px; font-size: 13px; margin-bottom: 20px; color: #9cc8e8; flex-wrap: wrap; }
.crumbs a { text-decoration: underline; }
.crumbs li + li::before { content: "·"; margin-right: 8px; opacity: 0.6; }

.atlas__radio { position: absolute; opacity: 0; pointer-events: none; }
.atlas__chips { display: flex; gap: 10px; margin-bottom: 34px; padding-bottom: 6px; }
.chip {
  padding: 9px 20px; border-radius: 100px; border: 1px solid var(--line); background: var(--white);
  font-weight: 600; font-size: 14px; cursor: pointer; white-space: nowrap; transition: var(--tr); color: var(--ink-2);
}
#f-all:checked ~ .wrap .chip[for="f-all"], #f-game:checked ~ .wrap .chip[for="f-game"],
#f-dlc:checked ~ .wrap .chip[for="f-dlc"], #f-edition:checked ~ .wrap .chip[for="f-edition"],
#f-files:checked ~ .wrap .chip[for="f-files"], #f-service:checked ~ .wrap .chip[for="f-service"] {
  background: var(--sea); color: var(--white); border-color: var(--sea);
}
#f-game:checked ~ .wrap .tile:not([data-cat="game"]),
#f-dlc:checked ~ .wrap .tile:not([data-cat="dlc"]),
#f-edition:checked ~ .wrap .tile:not([data-cat="edition"]),
#f-files:checked ~ .wrap .tile:not([data-cat="files"]),
#f-service:checked ~ .wrap .tile:not([data-cat="service"]) { display: none; }
.atlas__layout { display: grid; grid-template-columns: 320px 1fr; gap: 26px; align-items: start; }
.atlas__daily {
  position: sticky; top: 150px; background: var(--white); border: 1px solid var(--line);
  border-radius: var(--rad); padding: 24px; box-shadow: var(--shadow-s);
}
.atlas__daily .h3 { margin: 16px 0 8px; }
.atlas__daily p { font-size: 14px; }
.atlas__price { margin: 14px 0 18px; font-size: 15px; }
.atlas__price s { color: var(--muted); margin-right: 8px; }
.atlas__price strong { font-size: 24px; color: var(--accent); font-family: var(--ff-h); }
.atlas__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.tile { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 26px; display: flex; flex-direction: column; gap: 10px; transition: var(--tr); }
.tile:hover { transform: translateY(-4px); box-shadow: var(--shadow-s); }
.tile__no { font-family: var(--ff-h); color: var(--blue); font-size: 15px; }
.tile p { font-size: 14.5px; flex: 1; }
.tile__foot { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
.tile__foot strong { font-family: var(--ff-h); font-size: 21px; color: var(--ink); }

.pack__ladder { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; align-items: stretch; }
.pack__card { position: relative; background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 28px 24px; display: flex; flex-direction: column; gap: 8px; }
.pack__card--best { border: 2px solid var(--accent); box-shadow: var(--shadow); }
.pack__flag { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); background: var(--accent); color: var(--white); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 14px; border-radius: 100px; white-space: nowrap; }
.pack__card .h3 { margin-top: 8px; }
.pack__price { font-family: var(--ff-h); font-size: 30px; color: var(--ink); }
.pack__old { font-size: 13px; color: var(--muted); }
.pack__card ul { margin: 8px 0; display: grid; gap: 5px; font-size: 14px; }
.pack__card ul li::before { content: "— "; color: var(--blue); }
.pack__save { font-size: 13px; font-weight: 700; color: var(--accent); margin-top: auto; }
.pack__card .btn { margin-top: 14px; }

.calc__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 44px; align-items: start; }
.calc__hold {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-top: 26px;
  background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 14px;
}
.calc__cell { aspect-ratio: 1; border-radius: 6px; background: var(--mist); transition: var(--tr); }
.calc__cell.is-on--1 { background: #8fc3e8; }
.calc__cell.is-on--2 { background: var(--blue); }
.calc__cell.is-on--3 { background: var(--accent); }
.calc__meta { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; flex-wrap: wrap; gap: 12px; }
.calc__used { font-size: 14px; }
.calc__used strong { color: var(--sea-2); font-size: 18px; }
.calc__legend { display: flex; gap: 16px; font-size: 12px; color: var(--muted); }
.calc__dot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; }
.calc__dot--1 { background: #8fc3e8; } .calc__dot--2 { background: var(--blue); } .calc__dot--3 { background: var(--accent); }
.calc__panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 28px; box-shadow: var(--shadow-s); }
.calc__items { display: grid; gap: 8px; }
.calc__item { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; transition: var(--tr); }
.calc__item:hover { border-color: var(--sea-2); }
.calc__item:has(input:checked) { border-color: var(--sea-2); background: var(--mist); }
.calc__item input { accent-color: var(--sea-2); width: 18px; height: 18px; }
.calc__name { flex: 1; font-weight: 600; font-size: 14.5px; }
.calc__p { font-weight: 700; color: var(--ink); font-size: 14.5px; }
.calc__sum { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.calc__total { font-family: var(--ff-h); font-size: 34px; color: var(--ink); display: block; margin-top: 4px; }
.calc__tip { font-size: 13px; color: var(--muted); margin: 8px 0 16px; }
.calc__hints { margin-top: 20px; display: grid; gap: 8px; font-size: 13px; color: var(--muted); }
.calc__hints i { margin-right: 8px; color: var(--blue); }

.bp__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-bottom: 40px; }
.bp__draw { position: relative; }
.bp__node {
  position: absolute; width: 34px; height: 34px; border-radius: 50%; background: var(--accent); color: var(--white);
  font-weight: 800; display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-s); transition: var(--tr);
}
.bp__node:hover { transform: scale(1.15); }
.bp__node--1 { top: 58%; left: 18%; } .bp__node--2 { top: 22%; left: 44%; }
.bp__node--3 { top: 66%; left: 62%; } .bp__node--4 { top: 40%; left: 82%; }
.bp__list { display: grid; gap: 22px; }
.bp__list li { display: flex; gap: 18px; }
.bp__n { flex: none; width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--blue); color: var(--blue); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; }
.bp__list p { font-size: 14.5px; margin-top: 4px; }
.bp__compare { border-radius: var(--rad); padding: 30px; }
.bp__cmp-head { display: grid; grid-template-columns: 1fr 2fr 70px; gap: 12px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: #9cc8e8; margin-bottom: 18px; }
.bp__cmp-head .bp__lg--a { grid-column: 2; } .bp__cmp-head .bp__lg--b { grid-column: 3; text-align: right; }
.bp__row { display: grid; grid-template-columns: 1fr 2fr 70px; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid rgba(255,255,255,0.1); font-size: 14px; }
.bp__bars { display: grid; gap: 5px; }
.bp__bar { display: block; height: 7px; border-radius: 6px; }
.bp__bar--a { background: #8fc3e8; } .bp__bar--b { background: var(--accent-2); }
.bp__val { text-align: right; color: #c8d6e1; font-size: 13px; }
.w-5 { width: 5%; } .w-30 { width: 30%; } .w-40 { width: 40%; } .w-50 { width: 50%; }
.w-60 { width: 60%; } .w-70 { width: 70%; } .w-90 { width: 90%; } .w-100 { width: 100%; }

.tree__root { display: flex; justify-content: center; margin-bottom: 30px; }
.tree__node {
  display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 12px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); color: var(--white);
  font-weight: 700; font-size: 15px; transition: var(--tr); width: 100%; justify-content: center;
}
.tree__node:hover, .tree__node[aria-expanded="true"] { background: var(--sea-2); }
.tree__node--root { background: var(--accent); border-color: var(--accent); width: auto; }
.tree__branches { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tree__panel { margin-top: 14px; background: var(--white); color: var(--text); border-radius: var(--rad); padding: 26px; box-shadow: var(--shadow); }
.tree__panel .h3 { margin-bottom: 8px; color: var(--ink); }
.tree__panel p { color: var(--text); }
.tree__panel p { font-size: 14.5px; }
.tree__price { font-family: var(--ff-h); font-size: 26px; color: var(--accent); margin: 14px 0; }
.tree__foot { text-align: center; margin-top: 30px; font-size: 14px; color: #8fa5b7; }
.tree__foot i { margin-right: 8px; }

.acc details { background: var(--white); border: 1px solid var(--line); border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
.acc summary {
  padding: 16px 20px; font-weight: 700; color: var(--ink); cursor: pointer; list-style: none;
  display: flex; align-items: center; gap: 12px; position: relative; font-size: 15.5px;
}
.acc summary::-webkit-details-marker { display: none; }
.acc summary::after { content: "+"; margin-left: auto; font-family: var(--ff-h); font-size: 22px; color: var(--blue); transition: var(--tr); }
.acc details[open] summary::after { transform: rotate(45deg); }
.acc summary i { color: var(--blue); }
.acc details > div { padding: 0 20px 18px; font-size: 14.5px; }
.acc details a { color: var(--blue); text-decoration: underline; }

.quest__grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: start; }
.quest__mark { position: sticky; top: 150px; background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 28px; box-shadow: var(--shadow-s); }
.quest__ribbon { display: block; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--sea-2), var(--accent-2)); margin-bottom: 20px; }
.quest__mark ul { margin-top: 14px; display: grid; gap: 14px; }
.quest__mark li strong { display: block; font-size: 13px; color: var(--ink); }
.quest__mark li span { font-size: 13.5px; color: var(--muted); }

.haz { position: relative; overflow: hidden; }
.haz__stripes { position: absolute; inset: 0; background: repeating-linear-gradient(-45deg, transparent 0 26px, rgba(255,255,255,0.03) 26px 52px); }
.haz__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
.haz__boards { display: grid; gap: 16px; }
.haz__board { display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: var(--rad); padding: 22px; }
.haz__board p { grid-column: 2; font-size: 14px; color: #b8c9d6; }
.haz__ico { grid-row: span 2; width: 46px; height: 46px; border-radius: 10px; background: rgba(224,100,83,0.18); color: var(--accent-2); display: flex; align-items: center; justify-content: center; font-size: 19px; }
.haz__scale { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: var(--rad); padding: 24px; }
.haz__scale ul { display: grid; gap: 14px; }
.haz__scale li { display: grid; grid-template-columns: 90px 1fr; gap: 12px; align-items: center; font-size: 13px; }
.haz__lvl { display: block; height: 8px; border-radius: 8px; background: linear-gradient(90deg, #8fc3e8, var(--accent-2)); }
.haz__lamp { margin-top: 20px; padding: 20px; border-radius: var(--rad); border: 1px dashed rgba(255,255,255,0.25); font-size: 14px; color: #c8d6e1; }

.pay__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.pay__methods { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.pay__methods li { display: flex; align-items: center; gap: 14px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; font-weight: 700; color: var(--ink); }
.pay__methods li i { font-size: 26px; color: var(--sea-2); }
.pay__blik { background: var(--ink); color: var(--white); font-size: 12px; padding: 6px 10px; border-radius: 6px; letter-spacing: 0.06em; }

.cform__grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 44px; align-items: start; }
.cform__steps { display: grid; gap: 14px; margin-top: 30px; }
.cform__steps li { display: flex; align-items: center; gap: 14px; font-weight: 600; color: var(--muted); font-size: 15px; }
.cform__steps li span { width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--line); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; flex: none; }
.cform__steps li.is-active { color: var(--ink); }
.cform__steps li.is-active span { border-color: var(--sea-2); background: var(--sea-2); color: var(--white); }
.cform__steps li.is-done span { border-color: var(--blue); background: var(--blue); color: var(--white); }
.cform__note { margin-top: 30px; font-size: 13.5px; color: var(--muted); }
.cform__note i { color: var(--blue); margin-right: 8px; }
.cform__card { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 34px; box-shadow: var(--shadow-s); }
.cstep { border: 0; display: grid; gap: 18px; }
.cstep legend { font-family: var(--ff-h); font-size: 24px; color: var(--ink); margin-bottom: 6px; }
.cstep__hint { font-size: 14px; color: var(--muted); }
.cform__opts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.opt { cursor: pointer; }
.opt input { position: absolute; opacity: 0; }
.opt span {
  display: grid; gap: 2px; padding: 13px 14px; border: 1.5px solid var(--line); border-radius: 10px;
  transition: var(--tr); height: 100%;
}
.opt strong { font-size: 13.5px; color: var(--ink); }
.opt small { font-size: 12px; color: var(--muted); }
.opt input:checked + span { border-color: var(--sea-2); background: var(--mist); box-shadow: 0 0 0 1px var(--sea-2); }
.cform__city { position: relative; }
.suggest {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 20; background: var(--white);
  border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow-s); overflow: hidden; margin-top: 4px;
}
.suggest li { padding: 10px 16px; font-size: 14.5px; cursor: pointer; }
.suggest li:hover { background: var(--mist); }
.cform__actions { display: flex; gap: 12px; margin-top: 24px; justify-content: flex-end; }

.chan__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.chan__card { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 28px; }
.chan__card .ico { margin-bottom: 18px; }
.chan__val { font-family: var(--ff-h); font-size: 19px; margin: 6px 0 10px; word-break: break-word; }
.chan__val a { color: var(--ink); }
.chan__val a:hover { color: var(--blue); }
.chan__card p:last-child { font-size: 14px; }

.cmap__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.cmap__iframe { width: 100%; aspect-ratio: 4/3; border: 0; border-radius: var(--rad-s); display: block; }
.cmap .lead, .cmap__panel .lead { margin: 12px 0; }
.cmap__panel p { margin-bottom: 14px; }
.cmap__panel p a { color: var(--blue); text-decoration: underline; }

.hours__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.hours__table { display: grid; gap: 8px; }
.hours__table li { display: grid; grid-template-columns: 110px 1fr 110px; align-items: center; gap: 14px; font-size: 14.5px; }
.hours__d { font-weight: 700; color: var(--ink); }
.hours__bar { height: 8px; border-radius: 8px; background: linear-gradient(90deg, var(--blue), #8fc3e8); display: block; }
.hours__table li.is-off .hours__bar { background: var(--line); }
.hours__table li.is-today { outline: 2px solid var(--sea-2); outline-offset: 4px; border-radius: 4px; }
.hours__t { text-align: right; color: var(--muted); }
.hours__table li.is-off .hours__t { color: var(--accent); }

.prep__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.prep__list li { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 24px; }
.prep__n { font-family: var(--ff-h); color: var(--blue); font-size: 15px; display: block; margin-bottom: 14px; }
.prep__list i { font-size: 22px; color: var(--sea-2); display: block; margin-bottom: 12px; }
.prep__list .h3 { margin-bottom: 8px; }
.prep__list p { font-size: 14px; }

.dossier__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.dossier__folder { position: relative; background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 30px; box-shadow: var(--shadow-s); }
.dossier__tab { position: absolute; top: -14px; left: 24px; background: var(--sea); color: var(--white); font-size: 12px; font-weight: 700; padding: 5px 14px; border-radius: 6px; letter-spacing: 0.08em; text-transform: uppercase; }
.dossier__folder dl { display: grid; gap: 12px; margin-top: 8px; }
.dossier__folder dt { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted); }
.dossier__folder dd { color: var(--ink); font-weight: 600; font-size: 15px; }

.proc__rail { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; counter-reset: step; }
.proc__rail li { display: flex; gap: 16px; }
.proc__n { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 2px solid #8fc3e8; color: #8fc3e8; display: inline-flex; align-items: center; justify-content: center; font-family: var(--ff-h); font-size: 19px; }
.proc__rail p { font-size: 14px; color: #b8c9d6; margin-top: 6px; }

.topics__cloud { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 40px; }
.topics__acc { max-width: 760px; }

.faqx__grid { display: grid; grid-template-columns: 300px 1fr; gap: 36px; align-items: start; }
.faqx__index { position: sticky; top: 150px; }
.faqx__select { display: none; margin-bottom: 14px; }
.faqx__list { display: grid; gap: 6px; }
.faqx__list a { display: block; padding: 12px 18px; border-radius: 10px; font-weight: 700; color: var(--ink-2); border: 1px solid transparent; transition: var(--tr); }
.faqx__list a:hover { border-color: var(--line); }
.faqx__list a.is-active { background: var(--sea); color: var(--white); }
.faqx__group { margin-bottom: 40px; scroll-margin-top: 160px; }
.faqx__group > .h3 { margin-bottom: 16px; font-size: 24px; }
.faqx__help { display: flex; gap: 18px; background: var(--ice); border-radius: var(--rad); padding: 26px; align-items: flex-start; }
.faqx__help p { font-size: 14.5px; margin: 6px 0 14px; }

.quick { padding-block: 80px; }
.quick__core { text-align: center; max-width: 720px; margin: 0 auto; padding: 30px 0; }
.quick__core p { font-family: var(--ff-h); font-size: clamp(22px, 3.4vw, 34px); color: var(--white); }
.quick__core footer { margin-top: 16px; }
.quick__stars { display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; margin-top: 20px; font-weight: 700; }
.quick__stars i { color: #8fc3e8; margin-right: 8px; }

.cipher { position: relative; overflow: hidden; background: #0c2233; color: var(--white); padding: 96px 0; }
.cipher__glow { position: absolute; inset: -30%; background: radial-gradient(circle at 50% 30%, rgba(46,110,160,0.35), transparent 60%); }
.cipher .h2 { color: var(--white); }
.cipher .lead { color: #b8c9d6; }
.cipher__runes { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin: 40px 0; }
.rune {
  width: 76px; height: 96px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.05); display: grid; place-items: center; gap: 0; transition: var(--tr); color: #c8d6e1;
}
.rune__sym { font-size: 30px; line-height: 1; }
.rune__ltr { font-size: 13px; font-weight: 800; opacity: 0; transition: var(--tr); color: #8fc3e8; }
.rune:hover, .rune.is-read { border-color: #8fc3e8; background: rgba(143,195,232,0.12); }
.rune:hover .rune__ltr, .rune.is-read .rune__ltr { opacity: 1; }
.cipher__grid { display: grid; grid-template-columns: 1fr 220px; gap: 24px; max-width: 700px; margin: 0 auto; }
.cipher__log { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.14); border-radius: var(--rad); padding: 22px; }
.cipher__log ol { list-style: decimal; padding-left: 20px; margin-top: 10px; display: grid; gap: 6px; font-size: 14px; color: #c8d6e1; }
.cipher__count { text-align: center; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.14); border-radius: var(--rad); padding: 22px; }
.cipher__count strong { font-family: var(--ff-h); font-size: 38px; display: block; margin-top: 8px; }
.cipher__secret { text-align: center; margin-top: 30px; font-family: var(--ff-h); font-size: 20px; color: #9cc8e8; }

.fork { background: var(--bg); }
.fork__head { max-width: 720px; margin-bottom: 40px; }
.fork__stage { position: relative; display: grid; grid-template-columns: 1fr 1fr; }
.fork__panel { padding: 60px 6%; min-height: 340px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 14px; }
.fork__panel .h3 { font-size: 28px; }
.fork__panel p { max-width: 380px; }
.fork__cross { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; width: 56px; height: 56px; border-radius: 50%; background: var(--white); color: var(--sea); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow); font-size: 20px; }

.chk__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; }
.chk__progress { margin-top: 24px; display: flex; align-items: center; gap: 16px; }
.chk__bar { flex: 1; height: 10px; border-radius: 10px; background: var(--white); border: 1px solid var(--line); overflow: hidden; display: block; }
.chk__bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--blue), var(--accent-2)); transition: width 0.3s; }
.chk__list { display: grid; gap: 10px; }
.chk__item { display: flex; gap: 14px; align-items: center; background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: 15px 18px; cursor: pointer; font-size: 15px; transition: var(--tr); }
.chk__item:has(input:checked) { border-color: var(--blue); background: var(--ice); }
.chk__item input { width: 19px; height: 19px; accent-color: var(--sea-2); }

.gloss__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.gloss__card { position: relative; background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 22px; overflow: hidden; }
.gloss__l { position: absolute; right: 12px; top: 4px; font-family: var(--ff-h); font-size: 56px; color: var(--mist); font-weight: 700; }
.gloss__card dt { font-weight: 800; color: var(--ink); margin-bottom: 6px; }
.gloss__card dd { font-size: 13.5px; }

.sla__rings { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.sla__ring {
  width: 130px; height: 130px; margin: 0 auto 16px; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--white);
  border: 8px solid; background: rgba(255,255,255,0.05);
}
.sla__ring strong { font-family: var(--ff-h); font-size: 38px; line-height: 1; }
.sla__ring small { font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; }
.sla__ring--1 { border-color: #8fc3e8; } .sla__ring--2 { border-color: var(--blue); }
.sla__ring--3 { border-color: var(--accent-2); } .sla__ring--4 { border-color: var(--accent); }
.sla__rings p { font-size: 14px; color: #b8c9d6; }

.where__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.where__cell { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 24px; display: block; transition: var(--tr); }
.where__cell:hover { transform: translateY(-3px); box-shadow: var(--shadow-s); border-color: var(--sea-2); }
.where__cell--big { grid-row: span 2; }
.where__cell .ico { margin-bottom: 16px; }
.where__cell p { font-size: 14px; margin-top: 6px; }

.faqcta { text-align: center; padding: 90px 0; }
.faqcta__in { max-width: 620px; margin: 0 auto; }

.story__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.story__timeline { margin-top: 40px; display: grid; gap: 18px; position: relative; padding-left: 26px; border-left: 2px solid rgba(255,255,255,0.2); }
.story__timeline li { position: relative; }
.story__timeline li::before { content: ""; position: absolute; left: -32px; top: 8px; width: 10px; height: 10px; border-radius: 50%; background: var(--accent-2); }
.story__year { font-family: var(--ff-h); font-size: 22px; color: #9cc8e8; display: block; }
.story__timeline p { font-size: 14.5px; color: #c8d6e1; }

.nums { padding: 70px 0; background: var(--white); border-block: 1px solid var(--line); }
.nums__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.nums__n { font-family: var(--ff-h); font-size: clamp(40px, 5vw, 62px); color: var(--sea-2); display: block; }
.nums__l { font-size: 14px; color: var(--muted); }

.team__grid { display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; }
.team__names { display: grid; gap: 8px; position: sticky; top: 150px; }
.team__name { text-align: left; padding: 14px 18px; border-radius: 10px; font-weight: 700; font-size: 16px; border: 1px solid rgba(255,255,255,0.15); transition: var(--tr); }
.team__name:hover { background: rgba(255,255,255,0.08); }
.team__name.is-active { background: var(--white); color: var(--ink); }
.team__file { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: var(--rad); padding: 32px; display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: start; }
.team__portrait { border-radius: var(--rad-s); overflow: hidden; }
.team__dossier .h3 { font-size: 26px; margin-bottom: 8px; }
.team__dossier p { font-size: 14.5px; color: #c8d6e1; margin-bottom: 10px; }

.mood__board { columns: 3 240px; column-gap: 16px; }
.mood__card { break-inside: avoid; margin-bottom: 16px; background: var(--white); border-radius: var(--rad); overflow: hidden; border: 1px solid var(--line); }
.mood__card figcaption { padding: 10px 14px; font-size: 12.5px; color: var(--muted); }
.mood__palette { display: flex; gap: 8px; margin-top: 20px; flex-wrap: wrap; }
.sw { width: 34px; height: 34px; border-radius: 8px; border: 1px solid rgba(0,0,0,0.08); }
.sw-1 { background: #0d1b26; } .sw-2 { background: #1e4a6b; } .sw-3 { background: #2e6ea0; }
.sw-4 { background: #8fc3e8; } .sw-5 { background: #dce9f2; } .sw-6 { background: #c03a2b; }

.diary__spread { display: grid; grid-template-columns: 1fr 1fr; max-width: 900px; margin: 0 auto 30px; box-shadow: var(--shadow); border-radius: var(--rad); overflow: hidden; }
.diary__page { position: relative; background: #f7f3ea; padding: 40px 34px; min-height: 380px; color: #4a4237; font-family: var(--ff-h); }
.diary__page--r { background: #f2ecdf; border-left: 1px dashed #cfc4ac; }
.diary__page p { font-size: 15.5px; line-height: 1.8; }
.diary__clip { position: absolute; top: -8px; left: 40px; width: 22px; height: 30px; border: 3px solid #9aa7b0; border-bottom: 0; border-radius: 10px 10px 0 0; }
.diary__num { position: absolute; bottom: 14px; right: 20px; font-size: 13px; color: #a49a82; }
.diary__note { font-size: 13px !important; font-style: italic; color: #8a7f66; margin: 12px 0; }
.diary__stain { position: absolute; width: 90px; height: 90px; border-radius: 50%; background: radial-gradient(circle, rgba(139,110,60,0.14), transparent 70%); top: 20px; right: 30px; }
.diary__stain--b { top: auto; bottom: 40px; left: 20px; right: auto; }
.diary__clip-img { border: 6px solid var(--white); box-shadow: 0 4px 14px rgba(0,0,0,0.15); transform: rotate(-1.5deg); margin: 10px 0; }
.diary__clip-img--b { transform: rotate(1.2deg); max-width: 220px; }

.langs__ribbon { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0; }
.langs__ribbon li { padding: 10px 20px; border-radius: 100px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); font-weight: 700; font-size: 15px; }
.langs__text { max-width: 640px; }

.collector { position: relative; overflow: hidden; }
.collector__red { position: absolute; inset: 0; background: radial-gradient(circle at 80% 20%, rgba(192,58,43,0.25), transparent 55%); }
.collector__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.collector__fig { position: relative; }
.collector__light { position: absolute; inset: -10%; background: radial-gradient(circle, rgba(143,195,232,0.25), transparent 60%); }
.collector__frags { margin-top: 20px; display: grid; gap: 10px; }
.collector__frags li { padding: 12px 18px; border-left: 3px solid var(--accent-2); background: rgba(255,255,255,0.06); font-family: var(--ff-h); font-size: 17px; }
.shake { display: inline-block; animation: shake 4s ease-in-out infinite; }
@keyframes shake { 0%, 92%, 100% { transform: rotate(0); } 94% { transform: rotate(-1.2deg); } 96% { transform: rotate(1.2deg); } 98% { transform: rotate(-0.6deg); } }

.orbit__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.orbit__list { margin-top: 22px; display: grid; gap: 12px; }
.orbit__list li { display: flex; gap: 12px; align-items: center; font-size: 15px; }
.orbit__list i { color: var(--blue); }
.orbit__sys { position: relative; width: 340px; height: 340px; margin: 0 auto; }
.orbit__ring { position: absolute; inset: 0; border: 1px dashed var(--line); border-radius: 50%; }
.orbit__ring--2 { inset: 60px; }
.orbit__core { position: absolute; inset: 0; margin: auto; width: 120px; height: 120px; border-radius: 50%; background: var(--white); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-s); }
.orbit__core img { width: 70px; height: auto; }
.orbit__sat { position: absolute; width: 46px; height: 46px; border-radius: 50%; background: var(--white); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; color: var(--sea-2); box-shadow: var(--shadow-s); animation: orbit 14s linear infinite; }
.orbit__sat--1 { top: -23px; left: calc(50% - 23px); }
.orbit__sat--2 { top: calc(50% - 23px); right: -23px; animation-delay: -3.5s; }
.orbit__sat--3 { bottom: -23px; left: calc(50% - 23px); animation-delay: -7s; }
.orbit__sat--4 { top: calc(50% - 23px); left: -23px; animation-delay: -10.5s; }
@keyframes orbit { to { transform: rotate(0); } }

.gear { position: relative; }
.gear__tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 30px; }
.gear__tab, .dlc__tab, .ed__tab {
  padding: 11px 20px; border-radius: 100px; border: 1px solid rgba(255,255,255,0.25); color: #dbe7f0;
  font-weight: 700; font-size: 14px; display: inline-flex; gap: 8px; align-items: center; transition: var(--tr);
}
.ed__tab { border-color: var(--line); color: var(--ink-2); background: var(--white); }
.gear__tab.is-active, .dlc__tab.is-active { background: var(--white); color: var(--ink); border-color: var(--white); }
.ed__tab.is-active { background: var(--sea); color: var(--white); border-color: var(--sea); }
.gear__panel { display: none; }
.gear__panel.is-active { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: center; }
.gear__show .ph { box-shadow: var(--shadow); }
.gear__info .h3 { font-size: 28px; margin-bottom: 12px; }
.gear__info p { color: #c8d6e1; margin-bottom: 14px; }
.gear__items { display: grid; gap: 8px; margin: 18px 0; }
.gear__items li { display: flex; gap: 10px; font-size: 15px; }
.gear__items i { color: #8fc3e8; }
.gear__stats { display: flex; gap: 26px; margin-top: 18px; }
.gear__stats .stat { flex: 1; display: grid; gap: 6px; font-size: 12.5px; color: #b8c9d6; }
.stat__bar { display: block; height: 7px; border-radius: 6px; background: rgba(255,255,255,0.15); overflow: hidden; }
.stat__bar b { display: block; height: 100%; background: #8fc3e8; border-radius: 6px; }
.gear__badge { display: inline-block; background: rgba(224,100,83,0.2); color: var(--accent-2); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 14px; border-radius: 100px; margin-bottom: 14px; }
.gear__light { font-family: var(--ff-h); font-size: 26px; color: var(--white); }

.dlc__stage { position: relative; }
.dlc__switch { display: flex; gap: 10px; margin-bottom: 26px; }
.dlc__panel { display: none; border-radius: var(--rad); padding: 44px; min-height: 300px; }
.dlc__panel.is-active { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 12px; }
.dlc__panel p { max-width: 560px; }
.dlc__tags { display: flex; gap: 10px; flex-wrap: wrap; margin: 10px 0; }
.dlc__news { margin-top: 24px; font-size: 13.5px; color: var(--muted); }
.dlc__news i { color: var(--blue); margin-right: 8px; }

.ed__tabs { display: flex; gap: 10px; margin-bottom: 26px; flex-wrap: wrap; }
.ed__table { display: grid; gap: 0; border: 1px solid var(--line); border-radius: var(--rad); overflow: hidden; background: var(--white); }
.ed__row { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); }
.ed__cell { padding: 15px 18px; border-bottom: 1px solid var(--mist); font-size: 14.5px; display: flex; align-items: center; justify-content: center; text-align: center; transition: background 0.25s; }
.ed__cell--label { justify-content: flex-start; font-weight: 600; color: var(--ink-2); }
.ed__row--head .ed__cell { font-weight: 800; }
.ed__row:last-child .ed__cell { border-bottom: 0; }
.ed__cell i.fa-check { color: var(--blue); }
.ed__cell i.fa-minus { color: var(--line); }
.ed__col.is-active { background: var(--mist); }
.ed__col--best.is-active { background: #f7e9e6; }
.ed__row--head .ed__col--best { position: relative; }
.ed__row--buy .ed__cell { padding: 20px 18px; }
.ed__cell .btn { padding: 10px 16px; font-size: 13.5px; }

.touch__grid { display: grid; grid-template-columns: 320px 1fr; gap: 50px; align-items: center; }
.touch__phone { position: relative; border-radius: 36px; border: 9px solid #1a2f42; overflow: hidden; box-shadow: var(--shadow); aspect-ratio: 9/19; background: #0a1520; }
.touch__zone { position: absolute; border: 2px dashed rgba(255,255,255,0.5); border-radius: 20px; }
.touch__zone--1 { left: 8%; bottom: 12%; width: 40%; height: 30%; }
.touch__zone--2 { right: 8%; bottom: 12%; width: 40%; height: 30%; }
.touch__cards { display: grid; gap: 16px; margin-top: 20px; }
.touch__cards > div { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14); border-radius: var(--rad); padding: 22px; }
.touch__gestures { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.touch__gestures li { font-size: 13px; font-weight: 700; padding: 7px 14px; border-radius: 100px; background: rgba(255,255,255,0.1); }

.perf__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.perf__switches { display: grid; gap: 12px; margin-top: 22px; }
.switch { display: flex; align-items: center; gap: 14px; cursor: pointer; }
.switch input { position: absolute; opacity: 0; }
.switch__ui { flex: none; width: 50px; height: 28px; border-radius: 100px; background: var(--line); position: relative; transition: var(--tr); }
.switch__ui::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: var(--white); transition: var(--tr); box-shadow: 0 2px 6px rgba(0,0,0,0.2); }
.switch input:checked + .switch__ui { background: var(--sea-2); }
.switch input:checked + .switch__ui::after { left: 25px; }
.switch__t { font-weight: 600; font-size: 15px; color: var(--ink); }
.perf__panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 30px; box-shadow: var(--shadow-s); }
.perf__head { display: flex; justify-content: space-between; align-items: center; gap: 14px; font-weight: 700; color: var(--ink); }
.perf__head i { color: var(--blue); margin-right: 8px; }
.perf__head strong { font-family: var(--ff-h); font-size: 30px; color: var(--sea-2); }
.perf__bar { height: 12px; border-radius: 10px; background: var(--mist); overflow: hidden; margin-top: 16px; display: block; }
.perf__bar span { display: block; height: 100%; width: 45%; background: linear-gradient(90deg, var(--blue), var(--accent-2)); border-radius: 10px; transition: width 0.35s; }
.perf__hints { margin-top: 18px; display: grid; gap: 8px; font-size: 13px; color: var(--muted); }
.perf__hints i { color: var(--blue); margin-right: 8px; }
.perf__battery { display: flex; gap: 10px; margin-top: 16px; font-size: 13px; color: var(--muted); }

.req__grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: start; }
.req__table { width: 100%; border-collapse: collapse; background: var(--white); border-radius: var(--rad); overflow: hidden; box-shadow: var(--shadow-s); }
.req__table th, .req__table td { padding: 15px 18px; text-align: left; font-size: 14.5px; border-bottom: 1px solid var(--mist); }
.req__table tr:last-child th, .req__table tr:last-child td { border-bottom: 0; }
.req__table th { color: var(--ink); font-weight: 800; }
.req__table td { color: var(--text); }
.req__big { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 28px; text-align: center; box-shadow: var(--shadow-s); }
.req__stat { display: flex; justify-content: center; gap: 30px; margin: 18px 0 22px; }
.req__n { font-family: var(--ff-h); font-size: 30px; color: var(--sea-2); display: block; }
.req__l { font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; }
.req__result { margin-top: 16px; font-size: 14px; color: var(--muted); }

.svc-index-hero, .about-hero, .faq-hero, .contact-hero, .price-hero { position: relative; }

.player__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.player__box { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: var(--rad); padding: 28px; }
.player__bars { display: flex; gap: 5px; align-items: flex-end; height: 60px; margin-bottom: 22px; }
.player__bars span { flex: 1; background: #8fc3e8; border-radius: 4px; height: 20%; transition: height 0.2s; }
.player.is-playing .player__bars span { animation: eq 0.9s ease-in-out infinite alternate; }
.player__bars span:nth-child(3n) { animation-delay: -0.3s; }
.player__bars span:nth-child(3n+1) { animation-delay: -0.6s; }
.player__bars span:nth-child(4n) { animation-delay: -0.15s; }
@keyframes eq { from { height: 15%; } to { height: 95%; } }
.player__ctrl { display: flex; align-items: center; gap: 16px; }
.player__btn { width: 54px; height: 54px; border-radius: 50%; background: var(--white); color: var(--sea); display: flex; align-items: center; justify-content: center; font-size: 18px; flex: none; }
.player__info strong { display: block; color: var(--white); }
.player__time { font-size: 13px; color: #8fa5b7; }
.player__progress { height: 6px; border-radius: 6px; background: rgba(255,255,255,0.14); margin: 18px 0; overflow: hidden; }
.player__progress span { display: block; height: 100%; width: 0; background: #8fc3e8; }
.player__list { display: grid; gap: 8px; }
.player__track { text-align: left; padding: 12px 16px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.14); font-weight: 600; display: flex; gap: 12px; align-items: center; transition: var(--tr); }
.player__track i { color: #8fc3e8; }
.player__track.is-active { background: rgba(143,195,232,0.15); border-color: #8fc3e8; color: var(--white); }

.dayclock__grid { display: grid; grid-template-columns: 340px 1fr; gap: 50px; }
.dayclock__sticky { position: sticky; top: 130px; align-self: start; }
.dayclock__dial { position: relative; width: 240px; height: 240px; margin-top: 30px; border-radius: 50%; border: 2px solid var(--line); background: var(--white); box-shadow: var(--shadow-s); }
.dayclock__hand { position: absolute; left: 50%; top: 50%; width: 3px; height: 96px; background: var(--accent); transform-origin: top center; transform: rotate(30deg); transition: transform 0.6s ease; }
.dayclock__center { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; border-radius: 50%; background: var(--sea); transform: translate(-50%, -50%); }
.dayclock__label { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); font-family: var(--ff-h); font-size: 19px; color: var(--ink); }
.dayclock__eps { display: grid; gap: 22px; }
.dayclock__ep { border-radius: var(--rad); padding: 30px; }
.dayclock__ep .h3 { margin: 8px 0 10px; }
.dayclock__ep p { font-size: 14.5px; }
.dayclock__do { margin-top: 12px; font-size: 13px !important; color: #9cc8e8 !important; }
.dayclock__do i { margin-right: 8px; }

.ba__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.ba__stage { position: relative; border-radius: var(--rad); overflow: hidden; aspect-ratio: 4/3; }
.ba__layer { position: absolute; inset: 0; }
.ba__layer .ph { border-radius: 0; height: 100%; }
.ba__layer--before { clip-path: inset(0 calc(100% - var(--ba, 50%)) 0 0); }
.ba__line { position: absolute; top: 0; bottom: 0; left: var(--ba, 50%); width: 3px; background: var(--white); transform: translateX(-50%); box-shadow: 0 0 14px rgba(0,0,0,0.4); z-index: 3; }
.ba__tag { position: absolute; top: 14px; z-index: 3; font-size: 11px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; background: rgba(0,0,0,0.55); color: var(--white); padding: 5px 12px; border-radius: 100px; }
.ba__tag--l { left: 14px; } .ba__tag--r { right: 14px; }
.ba__range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; z-index: 4; }
.ba__fig figcaption { margin-top: 12px; font-size: 13px; color: var(--muted); }

.adv { display: block; }
.adv__grid, .adv .wrap { display: grid; grid-template-columns: 240px 1fr; gap: 50px; align-items: center; }
.adv__badge { width: 200px; height: 200px; border-radius: 50%; background: var(--sea); color: var(--white); display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 auto; box-shadow: var(--shadow); }
.adv__age { font-family: var(--ff-h); font-size: 64px; font-weight: 700; line-height: 1; }
.adv__cap { font-size: 12px; text-transform: uppercase; letter-spacing: 0.12em; margin-top: 8px; color: #9cc8e8; }
.adv__list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 26px; margin-top: 20px; }
.adv__list li { display: flex; gap: 10px; font-size: 15px; }
.adv__list i { color: var(--blue); padding-top: 4px; }
.adv__parents { margin-top: 24px; padding: 18px 22px; background: var(--white); border-left: 4px solid var(--blue); border-radius: 0 var(--rad-s) var(--rad-s) 0; font-size: 14.5px; }

.harb { background: var(--bg); }
.harb__grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: start; }
.harb__head { grid-column: 1 / -1; }
.harb__services { display: grid; gap: 12px; }
.harb__services li { display: flex; gap: 14px; align-items: center; background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: 14px 18px; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.harb__services i { color: var(--blue); }
.harb__sign { position: relative; background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 28px; box-shadow: var(--shadow-s); }
.harb__nail { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); width: 12px; height: 12px; border-radius: 50%; background: var(--sea); box-shadow: inset 0 2px 3px rgba(0,0,0,0.3); }
.harb__sign dl { display: grid; gap: 12px; margin-top: 10px; }
.harb__sign dt { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted); }
.harb__sign dd { font-weight: 700; color: var(--ink); }

.svc-hero { position: relative; }
.svc-ov__grid, .svc-band__grid, .svc-inc__grid, .svc-feat__grid, .svc-price__grid, .svc-rel__grid, .svc-faq__grid { display: grid; gap: 22px; }
.svc-ov__grid { grid-template-columns: 1fr 1fr; align-items: center; }
.svc-ov__p { margin-bottom: 14px; }
.svc-feat__grid { grid-template-columns: repeat(3, 1fr); }
.svc-feat__card { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 26px; }
.svc-feat__card .ico { margin-bottom: 16px; }
.svc-feat__card p { font-size: 14.5px; margin-top: 8px; }
.svc-inc__list { display: grid; gap: 10px; }
.svc-inc__list li { display: flex; gap: 14px; align-items: flex-start; background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: 15px 18px; font-size: 15px; }
.svc-inc__n { flex: none; font-family: var(--ff-h); color: var(--blue); font-weight: 700; }
.svc-steps__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: s; }
.svc-steps__list li { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 22px; }
.svc-spec__table { width: 100%; border-collapse: collapse; background: var(--white); border-radius: var(--rad); overflow: hidden; }
.svc-spec__table th, .svc-spec__table td { padding: 13px 18px; border-bottom: 1px solid var(--mist); text-align: left; font-size: 14.5px; }
.svc-spec__table th { color: var(--ink); }
.svc-price__grid { grid-template-columns: 1fr 1fr; align-items: center; }
.svc-price__card { background: var(--white); border: 2px solid var(--sea-2); border-radius: var(--rad); padding: 34px; text-align: center; box-shadow: var(--shadow-s); }
.svc-price__old { text-decoration: line-through; color: var(--muted); }
.svc-price__now { font-family: var(--ff-h); font-size: 46px; color: var(--ink); display: block; margin: 6px 0 14px; }
.svc-price__note { font-size: 13.5px; color: var(--muted); margin-top: 14px; }
.svc-rel__grid { grid-template-columns: repeat(3, 1fr); }
.svc-rel__card { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 24px; display: block; transition: var(--tr); }
.svc-rel__card:hover { transform: translateY(-3px); box-shadow: var(--shadow-s); }
.svc-rel__card p { font-size: 14px; margin: 8px 0 14px; }
.svc-rel__go { font-weight: 700; color: var(--blue); font-size: 14px; }
.svc-band { text-align: center; }
.svc-band__quote { font-family: var(--ff-h); font-size: clamp(22px, 3vw, 32px); max-width: 720px; margin: 0 auto; }
.svc-facts { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 20px; }
.svc-facts li { font-size: 14px; font-weight: 600; }
.svc-facts i { color: var(--blue); margin-right: 7px; }

.blg-hero { position: relative; }
.blg-meta { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: var(--muted); margin-top: 18px; }
.blg-meta i { margin-right: 6px; color: var(--blue); }
.blg-author { display: flex; align-items: center; gap: 14px; margin-top: 22px; }
.blg-author__role { font-size: 13px; color: var(--muted); }
.blg-body__grid { display: grid; grid-template-columns: 1fr 300px; gap: 44px; align-items: start; }
.blg-body__text > p { margin-bottom: 18px; font-size: 16.5px; }
.blg-body__text > h2, .blg-body__text > h3 { margin: 34px 0 14px; }
.blg-body__text ul, .blg-body__text ol { margin: 0 0 18px 22px; list-style: disc; }
.blg-body__text ol { list-style: decimal; }
.blg-body__text li { margin-bottom: 8px; }
.blg-body__text a { color: var(--blue); text-decoration: underline; }
.blg-quote, .blg-pull { border-left: 4px solid var(--blue); padding: 8px 0 8px 22px; margin: 28px 0; font-family: var(--ff-h); font-size: 21px; color: var(--ink); }
.blg-key { background: var(--ice); border-radius: var(--rad); padding: 24px; margin: 30px 0; }
.blg-gal, .blg-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 26px 0; }
.blg-side { position: sticky; top: 150px; display: grid; gap: 18px; }
.blg-side > * { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 22px; }
.blg-share { display: flex; gap: 10px; margin-top: 12px; }
.blg-share a { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); display: inline-flex; align-items: center; justify-content: center; color: var(--sea-2); }
.blg-rel__grid, .blg-next__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.blg-rel { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 22px; display: block; transition: var(--tr); }
.blg-rel:hover { transform: translateY(-3px); box-shadow: var(--shadow-s); }
.blg-rel .h3 { font-size: 18px; margin-bottom: 8px; }
.blg-rel p { font-size: 14px; }
.blg-more { display: flex; gap: 14px; margin-top: 30px; flex-wrap: wrap; }
.blg-cta { text-align: center; }
.blg-lessons { display: grid; gap: 12px; margin: 20px 0; }
.blg-lessons li { display: flex; gap: 12px; }
.blg-lessons i { color: var(--blue); padding-top: 5px; }
.card { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 24px; }

.pol-hero { position: relative; }
.pol-doc__grid { display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; }
.pol-toc { position: sticky; top: 150px; background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 22px; }
.pol-toc a { display: block; padding: 7px 0; font-size: 14px; color: var(--ink-2); }
.pol-toc a:hover { color: var(--blue); }
.pol-article > h2 { margin: 34px 0 14px; font-size: 26px; }
.pol-article > h3 { margin: 26px 0 10px; }
.pol-article > p { margin-bottom: 16px; }
.pol-article > ul, .pol-article > ol { margin: 0 0 16px 22px; list-style: disc; }
.pol-article > ol { list-style: decimal; }
.pol-article li { margin-bottom: 7px; }
.pol-article a { color: var(--blue); text-decoration: underline; }
.pol-defs__list { display: grid; gap: 12px; margin: 18px 0; }
.pol-defs__list div { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad-s); padding: 16px 20px; }
.pol-defs__list dt { font-weight: 800; color: var(--ink); margin-bottom: 4px; }
.pol-defs__list dd { font-size: 14.5px; }
.pol-rights__list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 18px 0; }
.pol-rights__list li { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad-s); padding: 14px 18px; font-size: 14.5px; }
.pol-rights__list i { color: var(--blue); margin-right: 8px; }
.pol-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pol-contact__card { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 24px; }
.pol-contact__card .h3 { margin-bottom: 8px; }
.pol-sum { background: var(--ice); border-radius: var(--rad); padding: 26px; margin-bottom: 30px; }
.pol-update { font-size: 13px; color: var(--muted); }
.pol-ctrl__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.pol-end { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }
.pol-rel { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }

.order { position: relative; padding: 80px 0 0; overflow: hidden; text-align: center; }
.order__in { position: relative; z-index: 2; }
.order__btns { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin-top: 26px; }
.order__marquee { margin-top: 60px; }

@media (max-width: 1024px) {
  .hdr-nav { display: none; }
  .hdr-burger { display: inline-flex; align-items: center; justify-content: center; }
  .bento__grid { grid-template-columns: repeat(2, 1fr); }
  .manifest__theses, .pack__ladder, .prep__list, .gloss__grid, .sla__rings, .proc__rail { grid-template-columns: repeat(2, 1fr); }
  .map__layout, .calc__grid, .bp__grid, .pay__grid, .hours__grid, .cmap__grid, .dossier__grid,
  .bottle__grid, .story__grid, .ba__grid, .collector__grid, .orbit__grid, .player__grid,
  .perf__grid, .req__grid, .haz__grid, .quest__grid, .svc-ov__grid, .svc-price__grid,
  .blg-body__grid, .pol-doc__grid, .adv .wrap, .adv__grid { grid-template-columns: 1fr; }
  .anatomy__stage { grid-template-columns: 1fr; }
  .anatomy__phone { max-width: 300px; margin: 0 auto; }
  .theatre__grid { grid-template-columns: 1fr; }
  .team__grid { grid-template-columns: 1fr; }
  .team__names { position: static; }
  .team__file { grid-template-columns: 1fr; }
  .team__portrait { max-width: 240px; }
  .touch__grid { grid-template-columns: 1fr; }
  .touch__phone { max-width: 300px; margin: 0 auto; }
  .dayclock__grid { grid-template-columns: 280px 1fr; }
  .faqx__grid { grid-template-columns: 1fr; }
  .faqx__index { position: static; }
  .faqx__list { display: none; }
  .faqx__select { display: block; }
  .atlas__layout { grid-template-columns: 1fr; }
  .atlas__daily { position: static; }
  .cform__grid { grid-template-columns: 1fr; }
  .chap { grid-template-columns: 1fr; }
  .chap__frame { min-height: 240px; }
  .ftr-grid { grid-template-columns: 1fr 1fr; }
  .tree__branches { grid-template-columns: 1fr; }
  .ed__row { grid-template-columns: 1fr repeat(3, 1.4fr); }
  .ed__cell--label { font-size: 13px; }
}

@media (max-width: 640px) {
  .sec { padding: 64px 0; }
  .hdr-top__in { flex-wrap: wrap; gap: 6px 16px; }
  .hdr-address { display: none; }
  .dock__in { flex-wrap: wrap; gap: 14px; }
  .dock__platforms { margin-left: 0; }
  .split__stage { height: auto; min-height: 0; }
  .split__panel { position: relative; min-height: 60vh; }
  .split__panel--night { clip-path: none; }
  .split__horizon { display: none; }
  .hero__ui { gap: 14px; }
  .hero__arrows { display: none; }
  .cform__opts { grid-template-columns: 1fr 1fr; }
  .shots__mosaic { grid-template-columns: repeat(2, 1fr); }
  .bento__grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .bento__a, .bento__g { grid-column: auto; grid-row: auto; }
  .manifest__theses, .pack__ladder, .prep__list, .gloss__grid, .sla__rings, .proc__rail { grid-template-columns: 1fr; }
  .manifest__theses { gap: 22px; }
  .atlas__grid, .pol-rights__list, .pol-contact__grid, .pol-ctrl__grid, .pay__methods,
  .blg-rel__grid, .blg-next__grid, .blg-gal, .blg-gallery, .svc-feat__grid, .svc-rel__grid,
  .svc-steps__list, .where__grid, .chan__grid, .adv__list, .diary__spread { grid-template-columns: 1fr; }
  .where__cell--big { grid-row: auto; }
  .nums__grid { grid-template-columns: 1fr 1fr; }
  .ftr-grid { grid-template-columns: 1fr; }
  .cookie { left: 14px; right: 14px; max-width: none; flex-wrap: wrap; }
  .gear__panel.is-active { grid-template-columns: 1fr; }
  .ed__table { font-size: 12px; }
  .ed__cell { padding: 10px 8px; }
  .zone { grid-template-columns: 90px 1fr; }
  .zone__val { display: none; }
}
.bp__node.is-hot { background: var(--sea-2); transform: scale(1.15); }
.bp__list li.is-hot .bp__n { border-color: var(--accent); color: var(--accent); }
.bp__list li.is-hot .h3 { color: var(--accent); }
.pledge__grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 44px; align-items: center; }
.pledge__list { display: grid; gap: 16px; margin-top: 22px; }
.pledge__list li { display: flex; gap: 16px; background: var(--white); border: 1px solid var(--line); border-radius: var(--rad-s); padding: 18px 20px; font-size: 15px; }
.pledge__list i { color: var(--blue); font-size: 20px; padding-top: 2px; }
.pledge__list a { color: var(--blue); text-decoration: underline; }
.blg-learn .blg-lessons { counter-reset: l; }
.blg-learn .blg-lessons li { background: var(--white); border: 1px solid var(--line); border-radius: var(--rad); padding: 24px; }
.blg-learn .blg-lessons p { font-size: 14.5px; margin-top: 6px; }
.pol-doc__body { min-width: 0; }
.pol-related { display: flex; flex-wrap: wrap; gap: 12px; }
.pol-related a { display: inline-flex; align-items: center; gap: 10px; background: var(--white); border: 1px solid var(--line); border-radius: 100px; padding: 11px 20px; font-weight: 700; font-size: 14px; color: var(--ink-2); transition: var(--tr); }
.pol-related a:hover { border-color: var(--sea-2); color: var(--sea-2); }
.pol-related i { color: var(--blue); font-size: 12px; }
.svc-ov__text p { margin-bottom: 14px; }
.svc-band__text { max-width: 640px; margin: 0 auto; }
.svc-band__text .lead { margin-top: 12px; }
.svc-spec__grid { grid-template-columns: 1fr 1.3fr; align-items: start; }
.svc-price__text .lead { margin-top: 10px; }
@media (max-width: 1024px) {
  .pledge__grid, .svc-spec__grid { grid-template-columns: 1fr; }
}
.loop__buoy { cursor: grab; touch-action: none; }
.loop__buoy:active { cursor: grabbing; }
.loop__bar::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; bottom: -12px; cursor: pointer; }
.map__route { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 1; }
.map__route path { stroke: rgba(159, 203, 232, 0.55); stroke-width: 2; stroke-dasharray: 6 6; }
.map__pin { z-index: 2; }
@media (max-width: 860px) {
  .dayclock__grid { grid-template-columns: 1fr; }
  .dayclock__sticky { position: static; }
}
.hero-slide .h-hero, .hero-slide h1, .hero-slide h2, .hero-slide .eyebrow { color: var(--white); }
.hero-slide .h-hero em { color: #9cc8e8; }
.dock .tip::after { left: auto; right: -8px; transform: translateY(4px); }
.dock .tip:hover::after, .dock .tip:focus::after { transform: translateY(0); }
main { overflow-x: clip; }
.sec--blue .svc-steps__list li, .sec--blue .pol-rights__list li, .sec--dark .svc-steps__list li, .sec--dark .pol-rights__list li { color: var(--text); }
.sec--blue .svc-steps__list .h3, .sec--blue .pol-rights__list .h3, .sec--dark .svc-steps__list .h3, .sec--dark .pol-rights__list .h3 { color: var(--ink); }
.sec--blue .svc-steps__list p, .sec--blue .pol-rights__list p { color: var(--muted); }
