/* Страница «GEO-продвижение»: ночное небо и созвездия, ответ складывается из звёзд-источников. Читаемый исходник, без сборки.
   План: GEO-PAGE-PLAN.md. Шапка, меню, подвал, кнопки, вопросы и окно формы общие (css/site-*.css, слой site);
   здесь тема страницы и её экраны (gp-*), всё в слое page. Логические свойства (inline, block): страница готова к RTL. */
@layer page {

body.gp {
  --site-bg: #070914;           /* глубокий индиго, почти чёрный */
  --site-dim: rgba(233, 236, 247, 0.7);
  --site-line: rgba(166, 154, 255, 0.22);
  --site-accent: #f4dfa8;
  --site-accent-ink: #070914;
  --site-signal: #f0d79a;
  --site-wrap: 78rem;
  --bg-2: #0d1022;
  --star: #f0d79a;              /* серебряно-золотая звезда */
  --star-hi: #fff3d1;
  --star-lo: #c9a45a;
  --violet: #8d7bff;            /* туманность */
  --ink: #070914;
  --team-card: rgba(166, 154, 255, 0.06);
  --team-line: rgba(240, 215, 154, 0.25);
  --team-accent: var(--star);
  --faq-accent: var(--star);
  --faq-accent-ink: var(--ink);
  --faq-radius: 0.6rem;
  --faq-line-open: rgba(240, 215, 154, 0.6);
}
html { scroll-behavior: smooth; }

/* ---------- каркас в теме страницы ---------- */
.site-head::before { background: linear-gradient(to bottom, rgba(7, 9, 20, 0.94) 55%, rgba(7, 9, 20, 0)); }
.site-head.is-scrolled::before { background: rgba(7, 9, 20, 0.9); }
.site-head__tag { position: relative; z-index: 2; }
.site-head__tag li:first-child { color: var(--star-hi); }
.site-menu { background: rgba(7, 9, 20, 0.985); }
.site-menu__n { color: var(--star); }
.site-menu__list a:hover { color: var(--star-hi); }
.site-menu__list a[aria-current="page"] { color: var(--star); }
.site-footer__col ul a:hover, .site-footer__col > p > a:hover { color: var(--star-hi); }
.site-footer__col .site-footer__h { color: var(--star); }
.site-top:hover { border-color: var(--star); }
.site-head__lang { white-space: nowrap; }
.site-footer__col ul a { display: inline-block; padding-block: 0.35rem; margin-block: -0.35rem; }

.site-btn {
  min-height: 3.1rem; padding: 0 1.9rem; border: 1.5px solid transparent; border-radius: 3rem; background: none;
  transition: transform 0.25s, background-color 0.25s, border-color 0.25s, box-shadow 0.25s;
}
.site-btn:hover { border-color: transparent; }
.gp .site-btn--main { color: var(--ink); background: linear-gradient(180deg, var(--star-hi), var(--star) 60%, var(--star-lo)); box-shadow: 0 0 0 0 rgba(240, 215, 154, 0.4); background-origin: border-box; }
.gp .site-btn--main:hover { box-shadow: 0 0 0 6px rgba(240, 215, 154, 0.14), 0 0 30px rgba(240, 215, 154, 0.3); }
.site-btn--main::after { content: none; }
.site-btn--ghost { border-color: rgba(240, 215, 154, 0.5); }
.site-btn--ghost:hover { border-color: var(--star-hi); background: rgba(240, 215, 154, 0.08); }

.site-dialog { border-radius: 0.5rem; background: var(--bg-2); }
.site-dialog::backdrop { background: rgba(4, 5, 14, 0.8); }
.site-dialog__title { color: var(--star-hi); }
.site-input { border-radius: 0.25rem; background: rgba(166, 154, 255, 0.06); }
.site-input:focus { border-color: var(--star); }
.site-form__consent input { accent-color: var(--star); }
.site-form__status[data-state="ok"] { color: var(--star-hi); }

/* хлебные крошки */
.crumbs { margin: 0 0 0.4rem; font-size: 0.85rem; }
.crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.5rem; margin: 0; padding: 0; list-style: none; color: var(--site-dim); }
.crumbs li + li::before { content: "/"; margin-inline-end: 0.5rem; color: rgba(233, 236, 247, 0.35); }
.crumbs a { display: inline-block; padding-block: 0.5rem; text-decoration: none; color: var(--site-dim); }
.crumbs a:hover { color: var(--star-hi); text-decoration: underline; text-underline-offset: 0.2em; }
.crumbs [aria-current="page"] { color: var(--site-fg); }

/* ---------- общие элементы экранов ---------- */
.gp-sec { padding: clamp(3.5rem, 8vw, 7rem) var(--site-gutter); }
.gp-eyebrow { margin: 0 0 0.9rem; font-size: 0.8rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--star); }
.gp-h2 { margin: 0 0 1rem; font-family: var(--site-font-head); font-weight: 400; text-transform: uppercase; line-height: 1.02; font-size: clamp(1.9rem, 4.6vw, 3.4rem); color: var(--star-hi); }
.gp-lead { margin: 0 0 1.8rem; max-width: 46rem; color: var(--site-dim); font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.6; }
.gp-note { margin: 1.2rem 0 1.6rem; max-width: 46rem; font-size: 0.9rem; color: var(--site-dim); }
.gp-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; }

.gp-js .gp-rv--wait:not(.is-in) { opacity: 0; transform: translateY(1.2rem); }
.gp-rv { transition: opacity 0.7s ease, transform 0.7s ease; }
@keyframes gp-rise { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: none; } }
.gp-rise { animation: gp-rise 0.8s ease both; animation-delay: calc(var(--i, 0) * 0.12s); }

/* ---------- G1. Первый экран ---------- */
.gp-hero {
  position: relative; isolation: isolate; min-block-size: min(100svh, 62rem);
  padding: clamp(6rem, 9vw, 7.5rem) var(--site-gutter) clamp(2rem, 4vw, 3.5rem);
  background: #070914 url("/geo/img/hero-sky-m.webp") 72% center / cover no-repeat;
}
.gp-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(to right, rgba(7, 9, 20, 0.92) 0%, rgba(7, 9, 20, 0.72) 42%, rgba(7, 9, 20, 0) 75%),
              linear-gradient(to bottom, rgba(7, 9, 20, 0) 70%, #070914 100%);
}
@media (min-width: 48rem) { .gp-hero { background-image: url("/geo/img/hero-sky.webp"); background-position: right center; } }
.gp-hero__in { display: grid; gap: 2.5rem; align-items: center; }
.gp-h1 { margin: 0 0 1.1rem; font-family: var(--site-font-head); font-weight: 400; text-transform: uppercase; line-height: 1.02; font-size: clamp(2rem, 5.6vw, 4rem); color: var(--star-hi); }
.gp-h1::first-line { color: var(--star); }
.gp-sub { margin: 0 0 1.4rem; max-width: 34rem; color: var(--site-dim); font-size: clamp(1.05rem, 1.8vw, 1.25rem); line-height: 1.55; }
.gp-sub strong { display: block; margin-top: 0.4rem; color: var(--site-fg); font-weight: 600; }
.gp-pains { display: grid; gap: 0.5rem; margin: 0 0 1.8rem; padding: 0; list-style: none; max-width: 34rem; }
.gp-pains li { position: relative; padding-inline-start: 1.4rem; color: var(--site-fg); font-size: 0.98rem; line-height: 1.45; }
.gp-pains li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 0.5em; inline-size: 0.5rem; block-size: 0.5rem; background: var(--star); clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); box-shadow: 0 0 8px var(--star); }

/* живой пример: вопрос и ответ из источников */
.gp-demo { margin: 0; display: grid; gap: 0.7rem; }
.gp-demo__q, .gp-demo__a { padding: 0.9rem 1rem; border: 1px solid var(--site-line); border-radius: 0.9rem; background: rgba(13, 16, 34, 0.78); backdrop-filter: blur(6px); }
.gp-demo__tag { display: block; margin-block-end: 0.35rem; font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--star); }
.gp-demo__q p { margin: 0; min-block-size: 3em; color: var(--site-fg); font-size: 1rem; line-height: 1.5; }
.gp-demo__q p::after { content: "|"; margin-inline-start: 1px; color: var(--star); animation: gp-blink 1s steps(2) infinite; }
.gp-demo.is-answered .gp-demo__q p::after { content: none; }
.gp-demo__lines { display: grid; gap: 0.45rem; margin-block-end: 0.8rem; }
.gp-demo__lines i, .gp-ans__lines i { display: block; block-size: 0.5rem; border-radius: 0.3rem; background: rgba(233, 236, 247, 0.16); }
.gp-demo__lines i:nth-child(2) { inline-size: 88%; }
.gp-demo__lines i:nth-child(3) { inline-size: 62%; }
.gp-demo__src { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.gp-demo__src li { padding: 0.25rem 0.7rem; border: 1px solid rgba(233, 236, 247, 0.24); border-radius: 3rem; font-size: 0.78rem; color: var(--site-dim); }
.gp-demo__src li.is-me { border-color: var(--star); color: var(--ink); background: linear-gradient(180deg, var(--star-hi), var(--star)); box-shadow: 0 0 14px rgba(240, 215, 154, 0.55); font-weight: 600; }
.gp-demo figcaption { font-size: 0.78rem; color: var(--site-dim); text-align: end; }
.gp-js .gp-demo:not(.is-answered) .gp-demo__a { opacity: 0.35; }
.gp-demo__a { transition: opacity 0.6s ease; }
.gp-js .gp-demo:not(.is-answered) .gp-demo__src li { transform: scale(0.94); opacity: 0.4; }
.gp-demo__src li { transition: transform 0.5s ease, opacity 0.5s ease; }
.gp-demo.is-answered .gp-demo__src li:nth-child(2) { transition-delay: 0.25s; }
@keyframes gp-blink { 50% { opacity: 0; } }
@media (min-width: 62rem) { .gp-hero__in { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); } }

/* созвездия первого экрана (partials/geo/sky.html): рисуются заново под каждый вопрос, звезда бренда светится */
.gp-side { justify-self: end; inline-size: min(100%, 26rem); display: grid; gap: 0.9rem; }
.gp-sky { pointer-events: none; }
.gp-sky svg { display: block; inline-size: 100%; block-size: clamp(12rem, 21vw, 16.5rem); overflow: visible; }
.gp-sky__name { margin: 0.2rem 0 0; text-align: end; font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--site-dim); }
.gp-sky__name span { color: var(--star); }
.gp-con { opacity: 0; transition: opacity 0.6s ease; }
.gp-con.is-on { opacity: 1; }
.gp-con__l { fill: none; stroke: #f0d79a; stroke-width: 0.28; stroke-linecap: round; stroke-opacity: 0.75; stroke-dasharray: 1; stroke-dashoffset: 0; }
.gp-con__s { filter: drop-shadow(0 0 1.2px rgba(240, 215, 154, 0.9)); }
.gp-con__brand { filter: drop-shadow(0 0 2px rgba(255, 243, 209, 0.9)); }
@keyframes gp-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes gp-pop { from { opacity: 0; transform: scale(0.2); } to { opacity: 1; transform: none; } }
@keyframes gp-pulse { 50% { opacity: 0.55; transform: scale(1.25); } }
@media (prefers-reduced-motion: no-preference) {
  .gp-con.is-on .gp-con__l { animation: gp-draw 0.9s ease both; animation-delay: calc(var(--i, 0) * 0.16s + 0.2s); }
  .gp-con.is-on .gp-con__s { transform-box: fill-box; transform-origin: center; animation: gp-pop 0.5s ease both; animation-delay: calc(var(--i, 0) * 0.12s); }
  .gp-con.is-on .gp-con__brand { animation: gp-pop 0.8s ease 1.6s both; }
  .gp-con__halo { transform-box: fill-box; transform-origin: center; animation: gp-pulse 3.2s ease-in-out 2.4s infinite; }
}

/* ---------- G2. Как меняется поиск ---------- */
.gp-shift { max-inline-size: 64rem; }
.gp-tabs { display: inline-flex; gap: 0.3rem; margin-block-end: 1.4rem; padding: 0.3rem; border: 1px solid var(--site-line); border-radius: 3rem; background: rgba(13, 16, 34, 0.7); }
.gp-tabs[hidden] { display: none; }
.gp-tab { min-block-size: 2.6rem; padding: 0 1.3rem; border: 0; border-radius: 3rem; background: none; color: var(--site-dim); font: inherit; cursor: pointer; transition: background-color 0.25s, color 0.25s; }
.gp-tab[aria-pressed="true"] { background: linear-gradient(180deg, var(--star-hi), var(--star)); color: var(--ink); }
.gp-tab:focus-visible { outline: 2px solid var(--star-hi); outline-offset: 2px; }
.gp-panes { display: grid; gap: 1.2rem; }
.gp-pane { padding: 1.4rem; border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(13, 16, 34, 0.6); }
.gp-pane[hidden] { display: none; }
.gp-pane h3 { margin: 1.1rem 0 0.4rem; font-size: 1.3rem; color: var(--star-hi); }
@media (min-width: 48rem) {
  [data-view] .gp-pane { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 0.2rem 2.2rem; align-items: center; padding: 1.8rem; }
  [data-view] .gp-pane[hidden] { display: none; }
  [data-view] .gp-pane > :first-child { grid-row: 1 / span 2; }
  [data-view] .gp-pane h3 { align-self: end; margin: 0; }
  [data-view] .gp-pane p { align-self: start; }
}
.gp-pane p { margin: 0; color: var(--site-dim); line-height: 1.55; }
@media (min-width: 48rem) { .gp-shift:not([data-view]) .gp-panes { grid-template-columns: 1fr 1fr; } }
.gp-serp { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.gp-serp li { display: grid; gap: 0.3rem; padding: 0.6rem 0.8rem; border-radius: 0.5rem; border: 1px solid rgba(233, 236, 247, 0.12); }
.gp-serp b { display: block; inline-size: 40%; block-size: 0.55rem; border-radius: 0.3rem; background: rgba(141, 123, 255, 0.55); }
.gp-serp i { display: block; block-size: 0.4rem; border-radius: 0.3rem; background: rgba(233, 236, 247, 0.14); }
.gp-serp i:last-child { inline-size: 70%; }
.gp-serp li.is-me { border-color: var(--star); box-shadow: 0 0 14px rgba(240, 215, 154, 0.25); }
.gp-serp li.is-me b { background: var(--star); }
.gp-ans { display: grid; gap: 0.9rem; }
.gp-ans__lines { display: grid; gap: 0.5rem; padding: 1rem; border-radius: 0.7rem; background: rgba(141, 123, 255, 0.1); }
.gp-ans__lines i:nth-child(2) { inline-size: 90%; }
.gp-ans__lines i:nth-child(3) { inline-size: 78%; }
.gp-ans__lines i:nth-child(4) { inline-size: 55%; }

/* ссылки в тексте и общие подписи */
.gp-note a { color: var(--star); text-underline-offset: 0.2em; }
.gp-note a:hover { color: var(--star-hi); }
.gp-after { margin-block-start: 1.6rem; }

/* список помощников (partials/geo/engines.html) */
.gp-eng__t { margin: 0 0 0.6rem; font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--site-dim); }
.gp-eng__l { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0; padding: 0; list-style: none; }
.gp-eng__l li { padding: 0.35rem 0.85rem; border: 1px solid var(--site-line); border-radius: 3rem; background: rgba(13, 16, 34, 0.6); font-size: 0.88rem; color: var(--site-fg); }
.gp-hero__eng { grid-column: 1 / -1; padding-block-start: 1.2rem; border-block-start: 1px solid var(--site-line); }

/* ---------- G3. SEO и GEO ---------- */
.gp-layers { max-inline-size: 64rem; }
.gp-stack { display: grid; gap: 0.8rem; margin-block-end: 1.6rem; }
.gp-layer { padding: 1.2rem 1.4rem; border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(13, 16, 34, 0.6); transition: opacity 0.4s, border-color 0.4s, box-shadow 0.4s, transform 0.4s; }
.gp-layer h3 { margin: 0 0 0.6rem; font-size: 1.1rem; color: var(--star-hi); }
.gp-layer ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.gp-layer li { padding: 0.35rem 0.8rem; border-radius: 3rem; background: rgba(166, 154, 255, 0.12); font-size: 0.92rem; color: var(--site-fg); }
.gp-layer--geo { border-color: rgba(240, 215, 154, 0.5); box-shadow: 0 0 24px rgba(240, 215, 154, 0.12); }
.gp-layer--geo li { background: rgba(240, 215, 154, 0.14); }
.gp-layers[data-on="seo"] .gp-layer--geo, .gp-layers[data-on="geo"] .gp-layer--seo { opacity: 0.28; box-shadow: none; transform: scale(0.985); }
.gp-diff { inline-size: 100%; border-collapse: collapse; font-size: 0.98rem; }
.gp-diff th, .gp-diff td { padding: 0.8rem 0.9rem; text-align: start; vertical-align: top; border-block-end: 1px solid var(--site-line); }
.gp-diff thead th { font-size: 0.8rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--star); }
.gp-diff tbody th { font-weight: 500; color: var(--site-dim); inline-size: 24%; }
.gp-diff td { color: var(--site-fg); }
@media (max-width: 40rem) {
  .gp-diff, .gp-diff tbody, .gp-diff tr, .gp-diff th, .gp-diff td { display: block; }
  .gp-diff thead { display: none; }
  .gp-diff tr { padding-block: 0.6rem; border-block-end: 1px solid var(--site-line); }
  .gp-diff th, .gp-diff td { padding: 0.2rem 0; border: 0; inline-size: auto; }
  .gp-diff td:nth-of-type(1)::before { content: "SEO: "; color: var(--site-dim); }
  .gp-diff td:nth-of-type(2)::before { content: "GEO: "; color: var(--star); }
}

/* ---------- G4. Как помощник выбирает ---------- */
.gp-steps { max-inline-size: 64rem; margin-block-end: 1.8rem; }
.gp-steps__list { display: grid; gap: 0.8rem; margin: 0; padding: 0; list-style: none; counter-reset: gp-s; }
.gp-step__body { padding: 1rem 1.2rem; border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(13, 16, 34, 0.6); }
.gp-step__body h3 { margin: 0 0 0.6rem; font-size: 1.1rem; color: var(--star-hi); }
.gp-step__k { display: inline-block; margin-inline-start: 0.4rem; padding: 0.15rem 0.6rem; border: 1px solid var(--site-line); border-radius: 3rem; font-size: 0.72rem; font-weight: 400; letter-spacing: 0.06em; color: var(--site-dim); vertical-align: middle; }
.gp-step__body dl { margin: 0; display: grid; gap: 0.2rem; }
.gp-step__body dt { margin-block-start: 0.5rem; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--star); }
.gp-step__body dd { margin: 0; color: var(--site-dim); line-height: 1.55; }
/* со скриптом: цепочка звёзд, под ней выбранный шаг */
.gp-js .gp-steps__list { grid-template-columns: repeat(5, minmax(0, 1fr)); position: relative; gap: 0.4rem; }
.gp-js .gp-steps__list::before { content: ""; position: absolute; inset-inline: 10%; inset-block-start: 1.55rem; block-size: 1px; background: linear-gradient(90deg, transparent, var(--star) 15%, var(--star) 85%, transparent); opacity: 0.55; }
.gp-js .gp-step { display: contents; }
.gp-js .gp-step__star[hidden] { display: none; }
.gp-js .gp-step__star { position: relative; display: grid; justify-items: center; gap: 0.35rem; padding: 0; border: 0; background: none; color: var(--site-dim); font: inherit; cursor: pointer; text-align: center; }
.gp-js .gp-step__n { display: grid; place-items: center; inline-size: 3.1rem; block-size: 3.1rem; border: 1px solid var(--site-line); border-radius: 50%; background: var(--bg-2); color: var(--star-hi); font-size: 1.05rem; transition: box-shadow 0.3s, border-color 0.3s, background 0.3s, color 0.3s; }
.gp-js .gp-step__name { font-size: 0.92rem; color: var(--site-fg); }
.gp-js .gp-step__k { display: none; }
.gp-js .gp-step__star:hover .gp-step__n, .gp-js .gp-step__star:focus-visible .gp-step__n { border-color: var(--star); }
.gp-js .gp-step__star:focus-visible { outline: 2px solid var(--star-hi); outline-offset: 4px; border-radius: 0.6rem; }
.gp-js .gp-step__star[aria-pressed="true"] .gp-step__n { background: linear-gradient(180deg, var(--star-hi), var(--star)); color: var(--ink); border-color: var(--star-hi); box-shadow: 0 0 22px rgba(240, 215, 154, 0.55); }
.gp-js .gp-step__body { grid-column: 1 / -1; grid-row: 2; margin-block-start: 0.9rem; }
.gp-js .gp-step__body[hidden] { display: none; }
.gp-js .gp-step__body .gp-step__k { display: inline-block; }
@media (max-width: 40rem) {
  .gp-js .gp-steps__list { grid-template-columns: 1fr; gap: 0.5rem; }
  .gp-js .gp-steps__list::before { inset-inline: auto; inset-inline-start: 1.55rem; inset-block: 1.6rem 1.6rem; inline-size: 1px; block-size: auto; background: linear-gradient(180deg, transparent, var(--star) 10%, var(--star) 90%, transparent); }
  .gp-js .gp-step { display: block; }
  .gp-js .gp-step__star { grid-template-columns: 3.1rem 1fr; justify-items: start; align-items: center; gap: 0.8rem; text-align: start; inline-size: 100%; min-block-size: 3.4rem; }
  .gp-js .gp-step__body { grid-row: auto; margin-block: 0.3rem 0.4rem; margin-inline-start: 3.9rem; }
}

/* ---------- G5. Что делаем ---------- */
.gp-work { display: grid; gap: 0.8rem; max-inline-size: 64rem; }
@media (min-width: 48rem) { .gp-work { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
.gp-job { border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(13, 16, 34, 0.6); transition: border-color 0.3s, box-shadow 0.3s; }
.gp-job[open] { border-color: rgba(240, 215, 154, 0.5); box-shadow: 0 0 24px rgba(240, 215, 154, 0.1); }
.gp-job summary { display: grid; grid-template-columns: auto 1fr; gap: 0.1rem 0.9rem; align-items: center; padding: 1rem 1.2rem; cursor: pointer; list-style: none; min-block-size: 3.4rem; }
.gp-job summary::-webkit-details-marker { display: none; }
.gp-job summary:focus-visible { outline: 2px solid var(--star-hi); outline-offset: 2px; border-radius: 1rem; }
.gp-job__star { grid-row: 1 / span 2; inline-size: 1.4rem; block-size: 1.4rem; background: var(--site-dim); clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); transition: background 0.3s, filter 0.3s, transform 0.4s; }
.gp-job[open] .gp-job__star { background: var(--star); filter: drop-shadow(0 0 6px var(--star)); transform: rotate(45deg) scale(1.15); }
.gp-job__t { font-size: 1.1rem; color: var(--star-hi); }
.gp-job__s { font-size: 0.88rem; color: var(--site-dim); }
.gp-job dl { margin: 0; padding: 0 1.2rem 1.2rem; display: grid; gap: 0.2rem; }
@media (min-width: 48rem) {
  .gp-job[open] { grid-column: 1 / -1; }
  .gp-job[open] dl { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 1.6rem; }
  .gp-job[open] dl > div { display: block; }
  .gp-job[open] dt { margin-block-start: 0; }
}
.gp-job dt { margin-block-start: 0.7rem; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--star); }
.gp-job dd { margin: 0; color: var(--site-dim); line-height: 1.55; }

/* ---------- G6. Чего не делаем ---------- */
.gp-myths { display: grid; gap: 0.9rem; margin: 0; padding: 0; list-style: none; max-inline-size: 64rem; }
@media (min-width: 48rem) { .gp-myths { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gp-myth { display: grid; align-content: start; gap: 0.5rem; padding: 1.2rem 1.3rem; border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(13, 16, 34, 0.6); }
.gp-myth h3 { margin: 0; font-size: 1.15rem; line-height: 1.35; color: var(--star-hi); text-decoration: line-through; text-decoration-color: rgba(233, 236, 247, 0.4); text-decoration-thickness: 1px; }
.gp-myth__k { margin: 0; font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--site-dim); }
.gp-myth__k--ok { color: var(--star); }
.gp-myth__btn { justify-self: start; min-block-size: 2.6rem; padding: 0 1.1rem; border: 1px solid rgba(240, 215, 154, 0.5); border-radius: 3rem; background: none; color: var(--star-hi); font: inherit; font-size: 0.9rem; cursor: pointer; transition: background-color 0.25s, border-color 0.25s; }
.gp-myth__btn[hidden] { display: none; }
.gp-myth__btn:hover { background: rgba(240, 215, 154, 0.08); border-color: var(--star-hi); }
.gp-myth__btn:focus-visible { outline: 2px solid var(--star-hi); outline-offset: 2px; }
.gp-myth__real { display: grid; gap: 0.3rem; padding: 0.9rem 1rem; border-radius: 0.7rem; background: rgba(240, 215, 154, 0.07); border-inline-start: 2px solid var(--star); }
.gp-myth__real[hidden] { display: none; }
.gp-myth__real p:last-child { margin: 0; color: var(--site-fg); line-height: 1.55; }

/* ---------- общие вкладки (G17, G9, G10, G11) ---------- */
.gp-tabset { max-inline-size: 64rem; }
.gp-tabs--wrap { display: inline-flex; flex-wrap: wrap; max-inline-size: 100%; border-radius: 1.4rem; }
.gp-tabs--list { display: grid; inline-size: 100%; border-radius: 1.2rem; }
.gp-tabs--list .gp-tab { text-align: start; padding-block: 0.7rem; border-radius: 0.9rem; }
.gp-tabset .gp-pane { margin-block-end: 0.8rem; }
.gp-tabset .gp-pane[hidden] { display: none; }
.gp-qs, .gp-todo { display: grid; gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.gp-qs li { padding: 0.8rem 1rem; border-radius: 0.8rem; background: rgba(166, 154, 255, 0.1); color: var(--site-fg); line-height: 1.45; }
.gp-qs li::before { content: "“"; margin-inline-end: 0.2rem; color: var(--star); }
.gp-qs li::after { content: "”"; margin-inline-start: 0.1rem; color: var(--star); }
@media (min-width: 48rem) { .gp-qs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gp-todo { counter-reset: gp-t; }
.gp-todo li { position: relative; padding-inline-start: 2.4rem; color: var(--site-fg); line-height: 1.5; counter-increment: gp-t; }
.gp-todo li::before { content: counter(gp-t); position: absolute; inset-inline-start: 0; inset-block-start: 0; display: grid; place-items: center; inline-size: 1.7rem; block-size: 1.7rem; border: 1px solid var(--star); border-radius: 50%; font-size: 0.85rem; color: var(--star-hi); }
.gp-need { max-inline-size: 64rem; margin-block-start: 1.2rem; padding: 1.1rem 1.3rem; border-inline-start: 2px solid var(--star); background: rgba(240, 215, 154, 0.06); border-radius: 0.2rem 0.8rem 0.8rem 0.2rem; }
.gp-need h3 { margin: 0 0 0.3rem; font-size: 1rem; color: var(--star-hi); }
.gp-need p { margin: 0; color: var(--site-dim); line-height: 1.55; }

/* ---------- G7. Симулятор прогонов ---------- */
.gp-sim { display: grid; gap: 1.1rem; max-inline-size: 64rem; padding: 1.4rem; border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(13, 16, 34, 0.6); }
.gp-sim[hidden] { display: none; }
.gp-sim__ctrl label { display: block; margin-block-end: 0.4rem; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--star); }
.gp-sim__ctrl input { inline-size: min(100%, 22rem); accent-color: var(--star); }
.gp-sim__lv { display: flex; justify-content: space-between; inline-size: min(100%, 22rem); font-size: 0.8rem; color: var(--site-dim); }
.gp-sim__q { display: grid; gap: 0.4rem; padding: 0.9rem 1rem; border-radius: 0.8rem; background: rgba(166, 154, 255, 0.1); }
.gp-sim__q p { margin: 0; color: var(--site-fg); }
.gp-sim__tag { justify-self: start; padding: 0.15rem 0.6rem; border: 1px dashed var(--star); border-radius: 3rem; font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--star); }
.gp-sim .site-btn { justify-self: start; }
.gp-sim__runs { display: grid; gap: 0.35rem 2rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 48rem) { .gp-sim__runs { grid-template-columns: repeat(2, minmax(0, max-content)); } }
.gp-sim__runs:empty { display: none; }
.gp-sim__runs li { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; font-size: 0.86rem; color: var(--site-dim); animation: gp-rise 0.4s ease both; }
.gp-sim__runs li > span:first-child { inline-size: 5.2rem; }
.gp-sim__runs .b { padding: 0.15rem 0.6rem; border: 1px solid rgba(233, 236, 247, 0.22); border-radius: 3rem; }
.gp-sim__runs .b.me { border-color: var(--star); background: linear-gradient(180deg, var(--star-hi), var(--star)); color: var(--ink); font-weight: 600; }
.gp-sim__res[hidden] { display: none; }
.gp-sim__big { margin: 0 0 0.5rem; font-family: var(--site-font-head); text-transform: uppercase; font-size: clamp(1.6rem, 4vw, 2.4rem); color: var(--star-hi); }
.gp-sim__bar { block-size: 0.6rem; border-radius: 0.3rem; background: rgba(233, 236, 247, 0.12); overflow: hidden; }
.gp-sim__bar i { display: block; block-size: 100%; inline-size: 0; background: linear-gradient(90deg, var(--star-lo), var(--star-hi)); transition: inline-size 0.6s ease; }
.gp-sim__hint { margin: 0.7rem 0 0; color: var(--site-dim); font-size: 0.92rem; line-height: 1.5; }
.gp-free { max-inline-size: 64rem; margin-block-start: 1.2rem; }
.gp-free h3 { margin: 0 0 0.3rem; font-size: 1.05rem; color: var(--star-hi); }
.gp-free p { margin: 0; color: var(--site-dim); line-height: 1.55; }

/* ---------- G8. Проверьте себя ---------- */
.gp-selfcheck { display: grid; gap: 1.4rem; max-inline-size: 64rem; }
@media (min-width: 62rem) { .gp-selfcheck { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); align-items: start; } }
.gp-check { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.gp-check label { display: grid; grid-template-columns: auto 1fr; gap: 0.8rem; align-items: center; min-block-size: 3.2rem; padding: 0.5rem 1rem; border: 1px solid var(--site-line); border-radius: 0.8rem; background: rgba(13, 16, 34, 0.6); cursor: pointer; transition: border-color 0.25s, background 0.25s; }
.gp-check label:hover { border-color: rgba(240, 215, 154, 0.5); }
.gp-check input { inline-size: 1.25rem; block-size: 1.25rem; accent-color: var(--star); }
.gp-check label:has(input:checked) { border-color: rgba(240, 215, 154, 0.6); background: rgba(240, 215, 154, 0.08); }
.gp-check input:focus-visible { outline: 2px solid var(--star-hi); outline-offset: 2px; }
.gp-check__res { display: grid; gap: 0.7rem; padding: 1.3rem; border: 1px solid rgba(240, 215, 154, 0.4); border-radius: 1rem; background: rgba(13, 16, 34, 0.7); }
.gp-check__res[hidden] { display: none; }
.gp-check__k { margin: 0; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--star); }
.gp-check__score { margin: 0; color: var(--site-dim); }
.gp-check__score b { font-family: var(--site-font-head); font-weight: 400; font-size: 3rem; line-height: 1; color: var(--star-hi); }
.gp-check__txt { margin: 0; color: var(--site-fg); line-height: 1.55; }
.gp-check__fix { margin: 0; padding-inline-start: 1.2rem; display: grid; gap: 0.3rem; color: var(--site-dim); }
.gp-check__res .site-btn { justify-self: start; }

/* ---------- G10. Пакеты ---------- */
.gp-pack { display: grid; gap: 1rem; }
@media (min-width: 48rem) { .gp-pack { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: center; gap: 2rem; } }
.gp-pack h3 { margin: 0 0 0.3rem; font-size: 1.4rem; }
.gp-pack__price { margin: 0; color: var(--site-dim); }
.gp-pack__price b { font-family: var(--site-font-head); font-weight: 400; font-size: 2.6rem; color: var(--star-hi); }
.gp-pack__h { margin: 0.2rem 0 0; color: var(--site-dim); }
.gp-pack__l { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.gp-pack__l li { position: relative; padding-inline-start: 1.4rem; color: var(--site-fg); line-height: 1.5; }
.gp-pack__l li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 0.5em; inline-size: 0.5rem; block-size: 0.5rem; background: var(--star); clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); }

/* ---------- G11. Подходит ли вам ---------- */
.gp-fit .gp-pane h3 { font-size: 1.25rem; }
.gp-fit .gp-pane .gp-actions { margin-block-start: 1rem; }

/* ---------- G13. Кто отвечает ---------- */
.gp-ceo { display: grid; gap: 1.6rem; align-items: center; }
@media (min-width: 62rem) { .gp-ceo { grid-template-columns: minmax(0, 28rem) minmax(0, 1fr); gap: 2.6rem; } }
.gp-ceo__ph .site-team { display: grid; grid-template-columns: repeat(2, minmax(0, 15rem)); gap: 1rem; margin: 0; padding: 0; list-style: none; }

/* ---------- G15. Смежные услуги ---------- */
.gp-rel { display: grid; gap: 0.9rem; margin: 0; padding: 0; list-style: none; max-inline-size: 64rem; }
@media (min-width: 48rem) { .gp-rel { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gp-rel a { display: grid; gap: 0.5rem; align-content: start; block-size: 100%; padding: 1.2rem 1.3rem; border: 1px solid var(--site-line); border-radius: 1rem; background: rgba(13, 16, 34, 0.6); text-decoration: none; color: inherit; transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s; }
.gp-rel a:hover, .gp-rel a:focus-visible { border-color: rgba(240, 215, 154, 0.6); transform: translateY(-3px); box-shadow: 0 0 24px rgba(240, 215, 154, 0.12); }
.gp-rel__t { font-size: 1.15rem; color: var(--star-hi); }
.gp-rel__d { color: var(--site-dim); line-height: 1.5; }
.gp-rel__m { color: var(--star); font-size: 0.9rem; }

/* ---------- G16. Финал ---------- */
.gp-end { background: radial-gradient(70% 90% at 50% 100%, rgba(141, 123, 255, 0.16), transparent 70%); }
.gp-nums { display: flex; flex-wrap: wrap; gap: 1.2rem 3rem; margin: 2.4rem 0 0; padding: 1.4rem 0 0; list-style: none; border-block-start: 1px solid var(--site-line); }
.gp-nums li { display: grid; }
.gp-nums b { font-family: var(--site-font-head); font-weight: 400; font-size: 2.2rem; color: var(--star-hi); }
.gp-nums span { color: var(--site-dim); font-size: 0.9rem; }

@media (prefers-reduced-motion: reduce) {
  .gp-rise, .gp-rv { animation: none; transition: none; }
  .gp-demo__q p::after { animation: none; }
  html { scroll-behavior: auto; }
}
}
