/* =========================================================================
   «Глянец» — premium detailing studio and car wash.

   Glossy black with electric cyan and violet light: a cinematic first
   screen, glass plates with a specular sheen, light Geologica headlines in
   capitals, hairline rules that glow. Loaded after the parent's theme,
   blocks and chrome styles and the modules' styles; it remaps the parent's
   tokens to a dark scheme, then dresses the chrome, the shared blocks the
   pages use and its own blocks.

   1. Fonts   2. Design settings   3. Tokens   4. Base   5. Header
   6. Footer   7. Shared blocks   8. Own blocks   9. Modules   10. Variants
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. Fonts — Geologica ships with the theme (OFL, assets/fonts); Onest,
   Inter, Manrope and Unbounded are the parent's.
   ------------------------------------------------------------------------- */
@font-face { font-family: 'Gl Geologica'; font-style: normal; font-display: swap; font-weight: 100 900;
    src: url(../fonts/geologica-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Gl Geologica'; font-style: normal; font-display: swap; font-weight: 100 900;
    src: url(../fonts/geologica-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Gl Unbounded'; font-style: normal; font-display: swap; font-weight: 200 900;
    src: url(/themes/default/assets/fonts/unbounded-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Gl Unbounded'; font-style: normal; font-display: swap; font-weight: 200 900;
    src: url(/themes/default/assets/fonts/unbounded-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Gl Manrope'; font-style: normal; font-display: swap; font-weight: 200 800;
    src: url(/themes/default/assets/fonts/manrope-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Gl Manrope'; font-style: normal; font-display: swap; font-weight: 200 800;
    src: url(/themes/default/assets/fonts/manrope-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Gl Onest'; font-style: normal; font-display: swap; font-weight: 100 900;
    src: url(/themes/default/assets/fonts/onest-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Gl Onest'; font-style: normal; font-display: swap; font-weight: 100 900;
    src: url(/themes/default/assets/fonts/onest-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Gl Inter'; font-style: normal; font-display: swap; font-weight: 100 900;
    src: url(/themes/default/assets/fonts/inter-cyrillic-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Gl Inter'; font-style: normal; font-display: swap; font-weight: 100 900;
    src: url(/themes/default/assets/fonts/inter-latin-wght-normal.woff2) format('woff2-variations');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+20BD, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* -------------------------------------------------------------------------
   2. The owner's design settings (theme.json → design.controls). Core
   prints the chosen values as :root{--glyanets-…} after this file, so these
   are only the defaults; the tokens below derive from them.
   ------------------------------------------------------------------------- */
:root {
    --glyanets-accent: #22d3ee;
    --glyanets-accent2: #8b5cf6;
    --glyanets-font-display: 'Gl Geologica', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    --glyanets-font-body: 'Gl Onest', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    --glyanets-radius: 18px;
}

/* -------------------------------------------------------------------------
   3. Tokens
   ------------------------------------------------------------------------- */
html.glyanets {
    color-scheme: dark;
    --gl-bg: #05060a;
    --gl-bg-2: #0a0c12;
    --gl-panel: #0e1119;
    --gl-panel-2: #141824;
    --gl-line: rgba(255, 255, 255, 0.09);
    --gl-line-2: rgba(255, 255, 255, 0.16);
    --gl-ink: #eef1f7;
    --gl-ink-2: #aab2c3;
    --gl-ink-3: #8a93a6;

    --gl-cyan: var(--glyanets-accent);
    --gl-violet: var(--glyanets-accent2);
    --gl-cyan-soft: color-mix(in srgb, var(--gl-cyan) 14%, transparent);
    --gl-violet-soft: color-mix(in srgb, var(--gl-violet) 16%, transparent);
    --gl-grad: linear-gradient(110deg, var(--gl-cyan), var(--gl-violet));
    --gl-sheen: linear-gradient(135deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0) 38%);
    --gl-r: var(--glyanets-radius);
    --gl-ease: cubic-bezier(0.2, 0.7, 0.2, 1);

    /* the parent's tokens */
    --paper: var(--gl-bg);
    --c-bg: var(--gl-bg);
    --c-surface: var(--gl-panel);
    --c-surface-sunk: var(--gl-bg-2);
    --c-text: var(--gl-ink);
    --c-text-strong: #fff;
    --c-text-muted: var(--gl-ink-2);
    --c-text-faint: var(--gl-ink-3);
    --c-border: var(--gl-line);
    --c-border-strong: var(--gl-line-2);
    --c-accent: var(--gl-cyan);
    --c-accent-hover: color-mix(in srgb, var(--gl-cyan) 80%, #fff);
    --c-accent-soft: var(--gl-cyan-soft);
    --c-accent-contrast: #03121a;
    --c-link: var(--gl-cyan);
    --c-link-hover: color-mix(in srgb, var(--gl-cyan) 75%, #fff);
    --c-mark: var(--gl-violet);
    --c-mark-text: color-mix(in srgb, var(--gl-violet) 60%, #fff);
    --c-mark-soft: var(--gl-violet-soft);
    --c-slab: var(--gl-panel);
    --c-slab-text: var(--gl-ink);
    --c-slab-muted: var(--gl-ink-2);
    --c-success: #34d399;

    --font-ui: var(--glyanets-font-body);
    --font-display: var(--glyanets-font-display);
    --font-prose: var(--glyanets-font-body);
    --fw-heading: 300;
    --tr-tight: -0.01em;
    --tr-snug: 0;

    --r-xs: calc(var(--gl-r) * 0.4);
    --r-sm: calc(var(--gl-r) * 0.6);
    --r-md: var(--gl-r);
    --r-lg: calc(var(--gl-r) * 1.4);
    --r-btn: 999px;
    --card-radius: var(--gl-r);
    --card-bg: var(--gl-panel);
    --card-border: 1px solid var(--gl-line);
    --card-shadow: none;
    --shadow-lift: 0 24px 60px -28px rgba(0, 0, 0, 0.9);

    --w-container: 74rem;
    --w-wide: 82rem;
    --sp-xs: 1.25rem;
    --sp-sm: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);
    --sp-md: clamp(3rem, 2.2rem + 3.5vw, 5rem);
    --sp-lg: clamp(4rem, 3rem + 5vw, 7rem);
}
html.glyanets[data-glyanets-surface="graphite"] {
    --gl-bg: #0d0f12; --gl-bg-2: #13161a; --gl-panel: #181b20; --gl-panel-2: #1f2329;
}
html.glyanets[data-glyanets-surface="midnight"] {
    --gl-bg: #050819; --gl-bg-2: #0a1026; --gl-panel: #0e1630; --gl-panel-2: #16204a;
}

/* -------------------------------------------------------------------------
   4. Base
   ------------------------------------------------------------------------- */
html.glyanets body {
    background:
        radial-gradient(60rem 36rem at 85% -8%, color-mix(in srgb, var(--gl-violet) 14%, transparent), transparent 70%),
        radial-gradient(50rem 30rem at -5% 4%, color-mix(in srgb, var(--gl-cyan) 10%, transparent), transparent 70%),
        var(--gl-bg);
    background-repeat: no-repeat;
    color: var(--gl-ink);
    font-family: var(--glyanets-font-body);
}
html.glyanets ::selection { background: var(--gl-cyan); color: #03121a; }
.gl-wrap { width: min(100% - 2 * var(--gutter, 1.25rem), var(--w-wide)); margin-inline: auto; }

html.glyanets :is(h1, h2, h3, h4),
html.glyanets .cms-section__title {
    font-family: var(--glyanets-font-display);
    font-weight: 300;
    letter-spacing: -0.01em;
    color: #fff;
    line-height: 1.08;
}
html.glyanets .cms-section__title { font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.4rem); }
html.glyanets[data-glyanets-caps="on"] .cms-section__title,
html.glyanets[data-glyanets-caps="on"] .gl-hero__title {
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
html.glyanets .cms-section__title em,
html.glyanets .gl-hero__title em,
html.glyanets .cms-section__title i {
    font-style: normal;
    background: var(--gl-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 500;
}
html.glyanets .cms-section__head { margin-bottom: clamp(1.75rem, 1.3rem + 2vw, 3rem); }
html.glyanets .cms-section__head::before {
    content: '';
    display: block;
    width: 3.5rem;
    height: 2px;
    margin-bottom: 1.1rem;
    background: var(--gl-grad);
    border-radius: 2px;
}
html.glyanets .cms-section__head--center::before { margin-inline: auto; }
html.glyanets .cms-section__head--right::before { margin-left: auto; }
html.glyanets .cms-section__subtitle { color: var(--gl-ink-2); max-width: 44rem; margin-top: 0.7rem; font-size: 1.05rem; }
html.glyanets a { text-underline-offset: 0.2em; }
html.glyanets :focus-visible { outline: 2px solid var(--gl-cyan); outline-offset: 3px; }

/* Buttons: pill, a cyan→violet fill that "lights" on hover */
html.glyanets .cms-btn,
.gl-btn {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: transform 0.25s var(--gl-ease), box-shadow 0.3s, background-position 0.5s, border-color 0.2s;
}
html.glyanets .cms-btn--primary,
.gl-btn--glow {
    background: var(--gl-grad);
    background-size: 160% 100%;
    border: 0;
    color: #03121a;
}
html.glyanets .cms-btn--primary:hover,
.gl-btn--glow:hover { background-position: 100% 0; transform: translateY(-1px); }
html.glyanets[data-glyanets-glow="on"] .cms-btn--primary,
html.glyanets[data-glyanets-glow="on"] .gl-btn--glow {
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18) inset, 0 10px 36px -8px color-mix(in srgb, var(--gl-cyan) 60%, transparent);
}
html.glyanets .cms-btn--secondary,
html.glyanets .cms-btn--ghost,
.gl-btn--ghost {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--gl-line-2);
    color: #fff;
}
html.glyanets .cms-btn--secondary:hover,
html.glyanets .cms-btn--ghost:hover,
.gl-btn--ghost:hover { border-color: var(--gl-cyan); background: var(--gl-cyan-soft); }
.gl-btn { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.95rem 1.7rem; text-decoration: none; font-size: 0.98rem; min-height: 3.1rem; }
.gl-btn .cms-icon { width: 18px; height: 18px; }

.gl-eyebrow {
    display: inline-flex; align-items: center; gap: 0.8rem;
    margin: 0 0 1.4rem;
    font-size: 0.78rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gl-cyan); font-weight: 600;
}
.gl-eyebrow__line { width: 2.4rem; height: 1px; background: var(--gl-grad); box-shadow: 0 0 12px var(--gl-cyan); }

/* Glass plates — the template's card material */
html.glyanets :is(.cms-card, .cms-faq__item, .cms-ptable__card, .cms-booking__card, .cms-stages--cards .cms-stages__item) {
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015) 55%), var(--gl-panel);
    border: 1px solid var(--gl-line);
    border-radius: var(--gl-r);
}
html.glyanets[data-glyanets-cards="outlined"] :is(.cms-card, .cms-faq__item, .gl-card, .gl-cls__item) {
    background: transparent;
    border-color: var(--gl-line-2);
}

/* -------------------------------------------------------------------------
   5. Header — a glass capsule over black
   ------------------------------------------------------------------------- */
.gl-hdr { position: relative; z-index: 40; background: transparent; border: 0; }
html.glyanets .site-header--sticky.gl-hdr { position: sticky; top: 0; }
.gl-top { font-size: 0.8rem; color: var(--gl-ink-2); border-bottom: 1px solid var(--gl-line); background: rgba(5, 6, 10, 0.7); }
.gl-top__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 2.4rem; }
.gl-top__zone { display: flex; align-items: center; gap: 1.5rem; min-width: 0; }
.gl-top .hdr-text { display: inline-flex; align-items: center; gap: 0.45rem; white-space: nowrap; }
.gl-top .hdr-text .cms-icon { width: 15px; height: 15px; color: var(--gl-cyan); }
.gl-top a { color: var(--gl-ink-2); text-decoration: none; }
.gl-top a:hover { color: var(--gl-cyan); }
.gl-top .hdr-phone { display: flex; flex-direction: row; gap: 0.5rem; align-items: baseline; }
.gl-top .hdr-phone__icon { display: none; }
html.glyanets[data-glyanets-ribbon="off"] .gl-top { display: none; }

.gl-main { padding: 0.8rem 0; }
.gl-main__inner {
    display: flex; align-items: center; gap: 1.25rem;
    min-height: 4rem;
    padding-inline: 1.4rem;
    border: 1px solid var(--gl-line-2);
    border-radius: 999px;
    background: rgba(12, 14, 22, 0.62);
    -webkit-backdrop-filter: blur(18px) saturate(1.4);
    backdrop-filter: blur(18px) saturate(1.4);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.12) inset, 0 20px 50px -24px rgba(0, 0, 0, 0.9);
}
.gl-hdr[data-scrolled] .gl-main__inner { background: rgba(8, 9, 14, 0.86); }
.gl-logo { display: inline-flex; align-items: center; gap: 0.7rem; text-decoration: none; color: #fff; flex: none; }
.gl-logo__img { height: var(--logo-h, 40px); width: auto; }
.gl-mark { flex: none; filter: drop-shadow(0 0 10px color-mix(in srgb, var(--gl-cyan) 55%, transparent)); }
.gl-logo__text { display: grid; line-height: 1; gap: 0.25rem; }
.gl-logo__name { font-family: var(--glyanets-font-display); font-weight: 600; font-size: 1.3rem; letter-spacing: 0.14em; text-transform: uppercase; }
.gl-logo__tagline { font-size: 0.66rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gl-ink-3); }
.gl-main__center { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; }
.gl-main__center .hdr-el { width: auto; }
.gl-main__right { display: flex; align-items: center; gap: 0.6rem; flex: none; }
.gl-main .hdr-actions:empty { display: none; }

.gl-main .hdr-nav__list { gap: 0.1rem; }
.gl-main .hdr-nav__link {
    color: var(--gl-ink-2); font-weight: 500; font-size: 0.93rem; letter-spacing: 0.03em;
    padding: 0.6rem 0.85rem; position: relative; text-decoration: none; background-image: none;
}
.gl-main .hdr-nav__link > span { background-image: none; }
.gl-main .hdr-nav__link::after {
    content: ''; position: absolute; left: 0.85rem; right: 0.85rem; bottom: 0.2rem; height: 2px;
    background: var(--gl-grad); border-radius: 2px; transform: scaleX(0); transform-origin: left;
    transition: transform 0.35s var(--gl-ease); box-shadow: 0 0 10px var(--gl-cyan);
}
.gl-main .hdr-nav__link:hover { color: #fff; }
.gl-main .hdr-nav__link:hover::after,
.gl-main .hdr-nav__link.is-active::after { transform: scaleX(1); }
.gl-main .hdr-nav__link.is-active { color: #fff; }
.gl-main .hdr-nav__item--highlight > .hdr-nav__link { color: var(--gl-cyan); }
.gl-main .hdr-sub__list,
.gl-drawer {
    background: rgba(10, 12, 20, 0.96);
    border: 1px solid var(--gl-line-2);
    border-radius: var(--gl-r);
    box-shadow: 0 30px 70px -20px rgba(0, 0, 0, 0.95);
}
.gl-main .hdr-sub__list a { color: var(--gl-ink-2); }
.gl-main .hdr-sub__list a:hover { color: #fff; background: var(--gl-cyan-soft); }
.gl-main .hdr-phone { color: #fff; }
.gl-main .hdr-phone__number { font-family: var(--glyanets-font-display); font-weight: 500; letter-spacing: 0.04em; color: #fff; }
.gl-main .hdr-phone__caption { color: var(--gl-ink-3); }
.gl-main .cms-btn { padding-inline: 1.4rem; min-height: 2.8rem; }
.gl-main :is(.hdr-icon-btn, .hdr-burger) { color: #fff; }
.gl-burger { display: none; }
.gl-drawer { color: var(--gl-ink); }
.gl-drawer :is(a, .hdr-drawer__close) { color: var(--gl-ink); }
.gl-bar { border-top: 1px solid var(--gl-line); }
.gl-bar__inner, .gl-bar__zone { display: flex; align-items: center; gap: 1rem; }

html.glyanets[data-glyanets-header="solid"] .gl-hdr { background: rgba(5, 6, 10, 0.92); border-bottom: 1px solid var(--gl-line); }
html.glyanets[data-glyanets-header="solid"] .gl-main { padding: 0; }
html.glyanets[data-glyanets-header="solid"] .gl-main__inner {
    border: 0; border-radius: 0; background: transparent; box-shadow: none; padding-inline: 0; backdrop-filter: none;
}

@media (max-width: 1100px) {
    .gl-logo__tagline { display: none; }
    .gl-top__zone--left .hdr-text:nth-child(n + 3) { display: none; }
}
@media (max-width: 960px) {
    .gl-top, .gl-bar { display: none; }
    .gl-burger { display: inline-grid; }
    .gl-main { padding: 0.55rem 0; }
    .gl-main__inner { min-height: 3.4rem; padding-inline: 1rem; flex-wrap: nowrap; }
    .gl-main__center { display: none; }
    .gl-main__right { margin-left: auto; }
    .gl-logo__name { font-size: 1.1rem; }
}
@media (max-width: 600px) {
    .gl-main__right > .hdr-el:not(.hdr-el--mobile) { display: none; }
}

/* -------------------------------------------------------------------------
   6. Footer
   ------------------------------------------------------------------------- */
.gl-ftr { position: relative; margin-top: var(--sp-lg); background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.02)), var(--gl-bg-2); color: var(--gl-ink-2); overflow: hidden; border: 0; }
.gl-streak { height: 2px; background: linear-gradient(90deg, transparent, var(--gl-cyan) 30%, var(--gl-violet) 70%, transparent); box-shadow: 0 0 24px var(--gl-cyan); }
.gl-ftr__band { margin: 3rem 0 0; }
.gl-ftr__band-inner {
    display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center;
    padding: 2rem; border: 1px solid var(--gl-line-2); border-radius: var(--gl-r);
    background: linear-gradient(120deg, var(--gl-cyan-soft), var(--gl-violet-soft));
}
.gl-ftr__band-title { font-size: 1.6rem; margin: 0; }
.gl-ftr__band-lead { margin: 0.5rem 0 0; color: var(--gl-ink-2); }
.gl-ftr__sheet { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 2.5rem 3rem; padding-block: 3.5rem 1rem; }
.gl-ftr__col--about { grid-column: span 2; max-width: 28rem; }
.gl-ftr__title { font-family: var(--glyanets-font-body); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gl-cyan); margin: 0 0 1.1rem; }
.gl-ftr__about, .gl-ftr__text { margin: 1rem 0; color: var(--gl-ink-2); line-height: 1.6; }
.gl-ftr__menu { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.65rem; }
.gl-ftr a { color: var(--gl-ink-2); text-decoration: none; transition: color 0.2s; }
.gl-ftr a:hover { color: #fff; }
.gl-ftr .is-hot { color: var(--gl-cyan); }
.gl-ftr__contacts { font-style: normal; display: grid; gap: 0.7rem; }
.gl-ftr__contacts p { margin: 0; }
.gl-ftr__phone a { font-family: var(--glyanets-font-display); font-size: 1.45rem; font-weight: 400; color: #fff; letter-spacing: 0.03em; }
.gl-ftr__phone span { display: block; font-size: 0.82rem; color: var(--gl-ink-3); margin-top: 0.15rem; }
.gl-ftr__line { display: flex; gap: 0.6rem; align-items: flex-start; }
.gl-ftr__line .cms-icon { flex: none; width: 17px; height: 17px; margin-top: 0.2rem; color: var(--gl-cyan); }
.gl-ftr__socials { display: flex; flex-wrap: wrap; gap: 0.6rem; list-style: none; padding: 0; margin: 1rem 0 0; }
.gl-ftr__socials a { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--gl-line-2); border-radius: 50%; }
.gl-ftr__socials a:hover { border-color: var(--gl-cyan); box-shadow: 0 0 18px -4px var(--gl-cyan); }
.gl-ftr__word {
    margin: 1.5rem 0 0; text-align: center; line-height: 0.85; user-select: none;
    font-family: var(--glyanets-font-display); font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em;
    font-size: clamp(3.4rem, 1rem + 14vw, 13rem);
    color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, 0.14);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.10), transparent 70%); -webkit-background-clip: text; background-clip: text;
    white-space: nowrap; overflow: hidden;
}
.gl-ftr__bottom { border-top: 1px solid var(--gl-line); font-size: 0.85rem; }
.gl-ftr__bottom-inner { display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; align-items: center; justify-content: space-between; padding-block: 1.25rem; }
.gl-ftr__bottom p { margin: 0; }
.gl-ftr__links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; list-style: none; padding: 0; margin: 0; }
.gl-ftr__company { color: var(--gl-ink-3); }
@media (max-width: 760px) {
    .gl-ftr__band-inner { grid-template-columns: 1fr; padding: 1.5rem; }
    .gl-ftr__col--about { grid-column: auto; }
    .gl-ftr { padding-bottom: 4.5rem; }
}
/* The phone bar: call + book */
.gl-mobbar { display: none; }
@media (max-width: 760px) {
    html.glyanets[data-glyanets-mobbar="on"] .gl-mobbar {
        position: fixed; inset: auto 0.6rem 0.6rem; z-index: 60; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 0.5rem;
        padding: 0.45rem; border: 1px solid var(--gl-line-2); border-radius: 999px;
        background: rgba(10, 12, 20, 0.88); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
        box-shadow: 0 16px 40px -10px #000;
    }
    .gl-mobbar a { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 2.9rem; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 0.95rem; }
    .gl-mobbar__call { color: #fff; border: 1px solid var(--gl-line-2); }
    .gl-mobbar__call .cms-icon { width: 17px; height: 17px; color: var(--gl-cyan); }
    .gl-mobbar__book { background: var(--gl-grad); color: #03121a; }
}

/* -------------------------------------------------------------------------
   7. Shared blocks
   ------------------------------------------------------------------------- */
html.glyanets .cms-block--dark,
html.glyanets .cms-section--dark { background: transparent; }
html.glyanets :is(input, select, textarea):not([type="checkbox"], [type="radio"]) {
    background: rgba(255, 255, 255, 0.04); color: #fff; border: 1px solid var(--gl-line-2); border-radius: calc(var(--gl-r) * 0.6);
}
html.glyanets :is(input, select, textarea):focus { border-color: var(--gl-cyan); box-shadow: 0 0 0 3px var(--gl-cyan-soft); outline: 0; }
html.glyanets ::placeholder { color: var(--gl-ink-3); }
html.glyanets select option { background: var(--gl-panel); color: #fff; }

/* pricing_table — the price list by car class */
html.glyanets .cms-ptable__plan-inner,
html.glyanets .cms-ptable__card { background: transparent; border: 0; }
html.glyanets .cms-ptable__table { border-collapse: separate; border-spacing: 0; }
html.glyanets .cms-ptable__table :is(th, td) { border-color: var(--gl-line); }
html.glyanets .cms-ptable__name { font-family: var(--glyanets-font-display); font-weight: 400; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; }
html.glyanets .cms-ptable__amount { font-family: var(--glyanets-font-display); font-weight: 300; color: #fff; }
html.glyanets .cms-ptable__group { color: var(--gl-cyan); letter-spacing: 0.18em; text-transform: uppercase; font-size: 0.74rem; }
html.glyanets .cms-ptable__badge { background: var(--gl-grad); color: #03121a; font-weight: 700; border-radius: 999px; }
html.glyanets .cms-ptable__mark--yes { color: var(--gl-cyan); }
html.glyanets .cms-ptable__mark--no, html.glyanets .cms-ptable__mark--empty { color: var(--gl-ink-3); }
html.glyanets .cms-ptable__plan--featured, html.glyanets .cms-ptable [class*="--featured"] { background: linear-gradient(180deg, var(--gl-cyan-soft), var(--gl-violet-soft)); }
html.glyanets .cms-ptable__note, html.glyanets .cms-ptable__hint { color: var(--gl-ink-3); }

/* booking — the online booking */
html.glyanets .cms-booking__layout { gap: 1.5rem; }
html.glyanets .cms-booking__form,
html.glyanets .cms-booking__summary {
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.015) 60%), var(--gl-panel);
    border: 1px solid var(--gl-line-2); border-radius: var(--gl-r);
}
html.glyanets .cms-booking__option,
html.glyanets .cms-booking__chip { background: rgba(255, 255, 255, 0.03); border: 1px solid var(--gl-line-2); color: var(--gl-ink); border-radius: calc(var(--gl-r) * 0.7); }
html.glyanets .cms-booking__radio:checked + .cms-booking__option,
html.glyanets .cms-booking__option:has(input:checked),
html.glyanets .cms-booking__chip:has(input:checked) {
    border-color: var(--gl-cyan); background: var(--gl-cyan-soft); box-shadow: 0 0 22px -8px var(--gl-cyan);
}
html.glyanets .cms-booking__num { background: var(--gl-grad); color: #03121a; }
html.glyanets .cms-booking__legend { font-family: var(--glyanets-font-display); font-weight: 400; color: #fff; letter-spacing: 0.04em; }
html.glyanets .cms-booking__price { color: var(--gl-cyan); font-weight: 600; }
html.glyanets .cms-booking__button, html.glyanets .cms-booking__submit { background: var(--gl-grad); color: #03121a; border: 0; border-radius: 999px; font-weight: 700; }

/* stages — the work steps */
html.glyanets .cms-stages__marker { background: var(--gl-panel-2); border: 1px solid var(--gl-cyan); color: var(--gl-cyan); box-shadow: 0 0 18px -6px var(--gl-cyan); }
html.glyanets .cms-stages__status--done .cms-stages__marker { background: var(--gl-cyan); color: #03121a; }
html.glyanets .cms-stages__title { font-family: var(--glyanets-font-display); font-weight: 400; color: #fff; }
html.glyanets .cms-stages__meta, html.glyanets .cms-stages__text { color: var(--gl-ink-2); }
html.glyanets .cms-stages__bar { background: var(--gl-line); }
html.glyanets .cms-stages__bar-fill { background: var(--gl-grad); }
html.glyanets .cms-stages--timeline .cms-stages__list::before,
html.glyanets .cms-stages__list::before { border-color: var(--gl-line-2); background: var(--gl-line-2); }

/* faq, features, stats, contacts, testimonials, cta */
html.glyanets .cms-faq__item { padding: 0; overflow: hidden; }
html.glyanets .cms-faq__question { color: #fff; font-weight: 500; }
html.glyanets .cms-faq__item[open] .cms-faq__question, html.glyanets .cms-faq__question:hover { color: var(--gl-cyan); }
html.glyanets .cms-faq__answer { color: var(--gl-ink-2); }
html.glyanets .cms-block--features .cms-card, html.glyanets .cms-feature { background: linear-gradient(160deg, rgba(255, 255, 255, 0.05), transparent 60%), var(--gl-panel); }
html.glyanets .cms-block--features [class*="__icon"], html.glyanets .cms-feature .cms-icon { color: var(--gl-cyan); }
html.glyanets .cms-block--features [class*="__icon"] { background: var(--gl-cyan-soft); border: 1px solid color-mix(in srgb, var(--gl-cyan) 30%, transparent); }
html.glyanets .cms-feature__num { font-family: var(--glyanets-font-display); color: transparent; -webkit-text-stroke: 1px var(--gl-cyan); }
html.glyanets .cms-block--stats :is([class*="__value"], [class*="__num"]) { font-family: var(--glyanets-font-display); font-weight: 200; color: #fff; }
html.glyanets .cms-block--cta, html.glyanets .cms-cta { border: 1px solid var(--gl-line-2); border-radius: calc(var(--gl-r) * 1.4); background: linear-gradient(120deg, var(--gl-cyan-soft), var(--gl-violet-soft)), var(--gl-panel); }
html.glyanets .cms-block--testimonials .cms-card { background: linear-gradient(160deg, rgba(255, 255, 255, 0.05), transparent 60%), var(--gl-panel); }
html.glyanets .cms-block--gallery img, html.glyanets .cms-photo { border-radius: calc(var(--gl-r) * 0.8); }

/* -------------------------------------------------------------------------
   8. Own blocks
   ------------------------------------------------------------------------- */
/* Hero */
.gl-hero__stage { position: relative; isolation: isolate; min-height: clamp(36rem, 82vh, 54rem); display: flex; align-items: center; margin-top: -5.5rem; padding: 8rem 0 5rem; overflow: hidden; }
.gl-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; z-index: -2; }
.gl-hero__shade {
    position: absolute; inset: 0; z-index: -1;
    background:
        linear-gradient(90deg, var(--gl-bg) 6%, rgba(5, 6, 10, 0.72) 42%, rgba(5, 6, 10, 0.05) 80%),
        linear-gradient(0deg, var(--gl-bg), transparent 28%),
        radial-gradient(40rem 26rem at 78% 70%, color-mix(in srgb, var(--gl-violet) 28%, transparent), transparent 70%);
}
.gl-hero--nophoto .gl-hero__stage { background: radial-gradient(50rem 30rem at 75% 40%, var(--gl-violet-soft), transparent 70%), radial-gradient(40rem 24rem at 20% 90%, var(--gl-cyan-soft), transparent 70%); }
.gl-hero__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.gl-hero__copy { max-width: 52rem; }
html.glyanets .gl-hero__title { font-size: clamp(2.5rem, 1rem + 4.6vw, 5.4rem); font-weight: 200; line-height: 0.98; margin: 0; text-wrap: balance; }
.gl-hero__lead { margin: 1.6rem 0 0; max-width: 34rem; font-size: clamp(1.02rem, 0.95rem + 0.35vw, 1.2rem); color: var(--gl-ink-2); line-height: 1.6; }
.gl-hero__actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 2.2rem; }
.gl-plate {
    flex: none; position: relative; min-width: 15rem; padding: 1.2rem 1.4rem 1.3rem 2.7rem;
    border: 1px solid var(--gl-line-2); border-radius: var(--gl-r);
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03) 55%), rgba(10, 12, 20, 0.55);
    -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
}
.gl-plate__dot { position: absolute; left: 1.2rem; top: 1.45rem; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--gl-cyan); box-shadow: 0 0 0 4px var(--gl-cyan-soft), 0 0 16px var(--gl-cyan); animation: gl-pulse 2.4s ease-in-out infinite; }
.gl-plate__title { margin: 0; font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gl-ink-3); }
.gl-plate__text { margin: 0.4rem 0 0; color: #fff; font-weight: 500; max-width: 15rem; }
@keyframes gl-pulse { 50% { box-shadow: 0 0 0 8px transparent, 0 0 22px var(--gl-cyan); } }
.gl-hero__figures {
    display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); list-style: none; margin: -3rem 0 0; padding: 0;
    position: relative; z-index: 2; border: 1px solid var(--gl-line-2); border-radius: var(--gl-r); overflow: hidden;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.015)), rgba(10, 12, 20, 0.85);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.gl-hero__figure { padding: 1.5rem 1.6rem; display: grid; gap: 0.35rem; border-left: 1px solid var(--gl-line); }
.gl-hero__figure:first-child { border-left: 0; }
.gl-hero__num { font-family: var(--glyanets-font-display); font-weight: 200; font-size: clamp(1.5rem, 1rem + 1.6vw, 2.5rem); color: #fff; line-height: 1; }
.gl-hero__cap { font-size: 0.86rem; color: var(--gl-ink-2); }
@media (max-width: 900px) {
    .gl-hero__stage { min-height: 0; padding: 7rem 0 4.5rem; align-items: flex-end; }
    .gl-hero__shade { background: linear-gradient(0deg, var(--gl-bg) 8%, rgba(5, 6, 10, 0.75) 55%, rgba(5, 6, 10, 0.35)); }
    .gl-hero__inner { flex-direction: column; align-items: flex-start; }
    .gl-hero__figures { grid-template-columns: 1fr 1fr; margin-top: -2rem; }
    .gl-hero__figure:nth-child(odd) { border-left: 0; }
    .gl-hero__figure:nth-child(n + 3) { border-top: 1px solid var(--gl-line); }
    .gl-hero__figure { padding: 1.1rem 1.1rem; }
}

/* Service cards */
.gl-svc__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 1.5rem; }
.gl-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--gl-line); border-radius: var(--gl-r); background: var(--gl-panel); transition: transform 0.4s var(--gl-ease), border-color 0.3s, box-shadow 0.4s; }
.gl-card:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--gl-cyan) 50%, transparent); }
html.glyanets[data-glyanets-glow="on"] .gl-card:hover { box-shadow: 0 30px 60px -30px color-mix(in srgb, var(--gl-cyan) 55%, transparent); }
.gl-card.is-featured { border-color: transparent; background: linear-gradient(var(--gl-panel), var(--gl-panel)) padding-box, var(--gl-grad) border-box; border: 1px solid transparent; }
.gl-card__pic { position: relative; aspect-ratio: 4 / 3; background: var(--gl-panel-2); overflow: hidden; }
.gl-card__pic::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, var(--gl-panel) 2%, transparent 60%), var(--gl-sheen); }
.gl-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--gl-ease); }
.gl-card:hover .gl-card__img { transform: scale(1.06); }
.gl-card__num { position: absolute; z-index: 1; left: 1.2rem; bottom: 0.4rem; font-family: var(--glyanets-font-display); font-weight: 800; font-size: 3.6rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, 0.5); }
.gl-card__badge { position: absolute; z-index: 1; top: 1rem; right: 1rem; padding: 0.3rem 0.8rem; border-radius: 999px; background: var(--gl-grad); color: #03121a; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.gl-card__body { display: flex; flex-direction: column; flex: 1; padding: 0.4rem 1.6rem 1.6rem; }
.gl-card__title { font-size: 1.45rem; font-weight: 400; margin: 0.4rem 0 0.6rem; }
.gl-card__text { margin: 0; color: var(--gl-ink-2); line-height: 1.55; }
.gl-card__includes { list-style: none; padding: 0; margin: 1.1rem 0 0; display: grid; gap: 0.5rem; font-size: 0.92rem; color: var(--gl-ink-2); }
.gl-card__includes li { display: flex; gap: 0.6rem; align-items: flex-start; }
.gl-card__includes .cms-icon { flex: none; width: 16px; height: 16px; margin-top: 0.22rem; color: var(--gl-cyan); }
.gl-card__foot { margin-top: auto; padding-top: 1.4rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.6rem 1.2rem; }
.gl-card__price { font-family: var(--glyanets-font-display); font-weight: 300; font-size: 1.55rem; color: #fff; }
.gl-card__term { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.86rem; color: var(--gl-ink-3); }
.gl-card__term .cms-icon { width: 15px; height: 15px; }
.gl-card__link { margin-left: auto; display: inline-flex; align-items: center; gap: 0.4rem; color: var(--gl-cyan); text-decoration: none; font-weight: 600; font-size: 0.92rem; }
.gl-card__link .cms-icon { width: 16px; height: 16px; transition: transform 0.3s; }
.gl-card__link:hover .cms-icon { transform: translateX(4px); }
@media (max-width: 980px) { .gl-svc__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .gl-svc__list { grid-template-columns: minmax(0, 1fr); } }

/* Car classes */
.gl-cls__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 1rem; }
.gl-cls__item { position: relative; padding: 1.5rem 1.4rem 1.4rem; border: 1px solid var(--gl-line); border-radius: var(--gl-r); background: linear-gradient(160deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.01) 60%), var(--gl-panel); overflow: hidden; }
.gl-cls__item.is-featured { border-color: color-mix(in srgb, var(--gl-cyan) 55%, transparent); box-shadow: 0 0 40px -14px var(--gl-cyan); }
.gl-cls__letter { display: block; font-family: var(--glyanets-font-display); font-weight: 800; font-size: 4.4rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--gl-cyan); filter: drop-shadow(0 0 14px color-mix(in srgb, var(--gl-cyan) 40%, transparent)); }
.gl-cls__title { margin: 0.9rem 0 0.35rem; font-family: var(--glyanets-font-display); font-weight: 400; font-size: 1.25rem; color: #fff; }
.gl-cls__text { margin: 0; color: var(--gl-ink-2); font-size: 0.93rem; line-height: 1.5; }
.gl-cls__factor { margin: 1rem 0 0; padding-top: 0.8rem; border-top: 1px solid var(--gl-line); color: var(--gl-cyan); font-weight: 600; font-size: 0.92rem; }
.gl-cls__road { height: 2px; margin-top: 1.5rem; background: repeating-linear-gradient(90deg, var(--gl-cyan) 0 28px, transparent 28px 48px); opacity: 0.55; mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); }
.gl-cls__note { margin: 1.1rem 0 0; color: var(--gl-ink-3); font-size: 0.95rem; }
@media (max-width: 900px) { .gl-cls__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .gl-cls__list { grid-template-columns: minmax(0, 1fr); } .gl-cls__letter { font-size: 3.4rem; } }

/* -------------------------------------------------------------------------
   9. Modules — portfolio (finished cars) and services
   ------------------------------------------------------------------------- */
html.glyanets :is([class*="portfolio-card"], [class*="pf-card"], [class*="svc-card"], [class*="service-card"]) {
    background: var(--gl-panel); border: 1px solid var(--gl-line); border-radius: var(--gl-r); color: var(--gl-ink); overflow: hidden;
}
html.glyanets :is([class*="portfolio-card"], [class*="pf-card"]) img { transition: transform 0.8s var(--gl-ease); }
html.glyanets :is([class*="portfolio-card"], [class*="pf-card"]):hover img { transform: scale(1.05); }
html.glyanets :is([class*="portfolio-card"], [class*="pf-card"], [class*="svc-card"]) :is(h2, h3) { font-weight: 400; }
html.glyanets :is(.site-main table) th { color: var(--gl-ink); }
html.glyanets .site-main table :is(td, th) { border-color: var(--gl-line); }

/* -------------------------------------------------------------------------
   10. Motion and small screens
   ------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    .gl-plate__dot { animation: none; }
    .gl-card, .gl-card__img, .gl-btn, html.glyanets .cms-btn { transition: none; }
}
@media (max-width: 560px) {
    html.glyanets .cms-section__title { font-size: clamp(1.7rem, 1.2rem + 3vw, 2.2rem); }
    html.glyanets .gl-hero__title { font-size: clamp(2.4rem, 1rem + 9vw, 3.4rem); }
}
