/* geist-cyrillic-ext-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* geist-cyrillic-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* geist-vietnamese-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* geist-latin-ext-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* geist-latin-wght-normal */
@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/_astro/geist-latin-wght-normal.BgDaEnEv.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+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}/**
 * Глобальная база: минимальный reset + типографика документа.
 * Всё локальное живёт в scoped-стилях компонентов (.astro) и CSS-модулях (острова).
 * Шрифт Geist подключается в BaseLayout (import '@fontsource-variable/geist').
 */
/**
 * Дизайн-токены проекта. Единственный источник величин: цвета, типографика,
 * отступы, радиусы, линии, контейнеры. В компонентах — только var(--...),
 * без «магических» значений (см. codestyle: без магических чисел).
 *
 * Визуальный язык — по референсу linkaproduction.com: тёплая тёмная база,
 * белый текст, Geist с ультратонкими заголовками, hairline-сетка, много воздуха.
 * Золото — сдержанный акцент бренда Mangee.
 */
:root {
  /* Палитра — тёплая тёмная база + белый + сдержанное золото */
  --color-bg: #2c2926;
  --color-bg-deep: #211e1b;
  --color-surface: #34302c;
  --color-text: #ffffff;
  --color-muted: #b7b0a8;
  --color-accent: #c8a24a;
  --color-accent-strong: #dcb85c;
  --color-accent-contrast: #14110a;
  --color-error: #e08a6f;
  --color-error-border: #d9694a;

  /* Hairline-линии сетки (как разделители блоков у референса) */
  --color-line: rgba(255, 255, 255, 0.14);
  --color-line-strong: rgba(255, 255, 255, 0.32);

  /* База скрима поверх медиа (RGB-компоненты для rgb(... / alpha)) */
  --color-scrim-rgb: 20 17 10;
  --color-sheen: rgba(255, 255, 255, 0.022);

  /* Типографика — единый Geist для дисплея и текста */
  --font-sans:
    'Geist Variable', Geist, Helvetica, 'Helvetica Neue', Arial, system-ui, sans-serif;
  --font-display: var(--font-sans);
  --font-body: var(--font-sans);

  --weight-thin: 200;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: clamp(2.25rem, 4vw, 3.5rem);
  --text-display: clamp(2.75rem, 9vw, 8.5rem);
  /* Гигантский «вылезающий» заголовок панелей (референс: 320px weight 100) */
  --text-mega: clamp(3.25rem, 21vw, 20rem);

  --leading-tight: 1.02;
  --leading-snug: 1.2;
  --leading-normal: 1.6;
  --tracking-wide: 0.18em;

  /* Сетка отступов (8px-шаг) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* Радиусы и тени (используем минимально — язык референса «плоский») */
  --radius-sm: 4px;
  --radius-md: 10px;
  --shadow-md: 0 20px 50px rgba(0, 0, 0, 0.5);

  /* Раскладка */
  --container-max: 1360px;
  --container-pad: clamp(var(--space-6), 5vw, var(--space-32));
  --header-height: 76px;
  /* Высота выезжающего футера (контент уезжает вверх, открывая его снизу) */
  --footer-h: 24rem;

  /* Анимации */
  --transition: 260ms cubic-bezier(0.22, 1, 0.36, 1);
}
/**
 * Полноэкранные кинематографичные панели (референс linkaproduction.com).
 * Общие классы для Hero и ShowcasePanel: медиа-фон, hairline-сетка, гигантский
 * «вылезающий» заголовок снизу, подпись и мета в правой колонке.
 * Адаптив на три брейкпоинта: десктоп (>1024), планшет (641–1024), мобилка (≤640).
 */
.panel {
  position: relative;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  color: var(--color-text);
  isolation: isolate;
}
/* Медиа-фон: видео или картинка-заглушка на всю панель */
.panel__media {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--color-surface);
}
/* Тоновые заглушки медиа (пока нет реального видео) — из палитры, без магических цветов */
.panel__media--t1 {
  background: linear-gradient(135deg, var(--color-surface), var(--color-bg-deep));
}
.panel__media--t2 {
  background: linear-gradient(135deg, var(--color-bg-deep), var(--color-bg));
}
.panel__media--t3 {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--color-accent) 22%, var(--color-bg-deep)),
    var(--color-bg-deep)
  );
}
.panel__media--t4 {
  background: linear-gradient(135deg, var(--color-bg), var(--color-surface));
}
.panel__media video,
.panel__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Тонкий «живой» блик поверх заглушки (пока нет реального видео) */
.panel__noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(70% 60% at 28% 18%, rgb(var(--color-scrim-rgb) / 0), rgb(var(--color-scrim-rgb) / 0.45)),
    repeating-linear-gradient(115deg, transparent 0 22px, var(--color-sheen) 22px 24px);
  animation: panel-sheen 16s ease-in-out infinite alternate;
}
.panel__media:has(video) .panel__noise {
  display: none;
}
@keyframes panel-sheen {
  from {
    transform: translate3d(-2%, 0, 0);
  }
  to {
    transform: translate3d(2%, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .panel__noise {
    animation: none;
  }
}
/* Скрим снизу — для читаемости белого текста поверх светлого медиа */
.panel__scrim {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    to top,
    rgb(var(--color-scrim-rgb) / 0.62),
    rgb(var(--color-scrim-rgb) / 0.05) 55%
  );
  pointer-events: none;
}
/* Вертикальная hairline-сетка поверх медиа (как у референса) */
.panel__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    to right,
    transparent 0,
    transparent calc(100% / 6 - 1px),
    var(--color-line) calc(100% / 6 - 1px),
    var(--color-line) calc(100% / 6)
  );
}
/* Ряд подписи/меты на горизонтальной hairline-линии */
.panel__meta {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--space-6);
  padding-block: var(--space-4);
  border-top: 1px solid var(--color-line);
}
.panel__caption {
  font-size: var(--text-base);
  font-weight: var(--weight-light);
  color: var(--color-text);
}
.panel__action {
  font-size: var(--text-sm);
  color: var(--color-muted);
  white-space: nowrap;
  transition: color var(--transition);
}
.panel:hover .panel__action {
  color: var(--color-accent-strong);
}
/* Гигантский заголовок: тонкий, в одну строку, обрезается краями панели */
.panel__title {
  font-weight: var(--weight-thin);
  font-size: var(--text-mega);
  line-height: 0.88;
  letter-spacing: -0.02em;
  white-space: nowrap;
  margin: 0;
}
.panel__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-inline: var(--container-pad);
  padding-bottom: var(--space-8);
}
/* Списки внутри тела панели — без маркеров (надёжно, т.к. контент приходит слотом) */
.panel__body ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* Контентные панели (с телом) — заголовок меньше и переносится, чтобы текст не обрезался */
.panel:has(.panel__body) .panel__title {
  font-size: var(--text-display);
  white-space: normal;
  max-width: 16ch;
}
/**
 * Горизонтальный слайдер универсов (как у референса): скролл вниз двигает
 * ленту панелей влево, секция закреплена (sticky). Чистый CSS scroll-driven
 * animations; при отсутствии поддержки — обычный горизонтальный скролл со снапом.
 */
.slider {
  --pw: 115vw; /* ширина одной панели: чуть больше вьюпорта, чтобы следующая выглядывала */
  position: relative;
}
.slider__pin {
  overflow: hidden;
}
.slider__track {
  display: flex;
  width: max-content;
}
.slider .panel {
  flex: 0 0 var(--pw);
  width: var(--pw);
}
@supports (animation-timeline: view()) {
  .slider {
    /* высота = экран + дистанция горизонтального проезда ленты */
    height: calc(100svh + (var(--panels) * var(--pw) - 100vw));
    view-timeline-name: --slider;
    view-timeline-axis: block;
  }

  .slider__pin {
    position: sticky;
    top: 0;
    height: 100svh;
  }

  .slider__track {
    height: 100%;
    animation: slider-x linear both;
    animation-timeline: --slider;
    animation-range: contain 0% contain 100%;
  }

  .slider .panel {
    height: 100%;
  }

  @keyframes slider-x {
    to {
      transform: translateX(calc(-1 * (var(--panels) * var(--pw) - 100vw)));
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .slider {
      height: auto;
    }
    .slider__pin {
      position: static;
      height: auto;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
    }
    .slider__track {
      animation: none;
    }
    .slider .panel {
      scroll-snap-align: start;
    }
  }
}
/* Фолбэк без scroll-driven animations — нативный горизонтальный скролл */
@supports not (animation-timeline: view()) {
  .slider__pin {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .slider .panel {
    scroll-snap-align: start;
  }
}
/* Планшет */
@media (max-width: 1024px) {
  .panel__grid {
    background-image: repeating-linear-gradient(
      to right,
      transparent 0,
      transparent calc(100% / 4 - 1px),
      var(--color-line) calc(100% / 4 - 1px),
      var(--color-line) calc(100% / 4)
    );
  }
}
/* Мобилка: слайдер превращаем в вертикальную стопку полноэкранных панелей —
   никакого горизонтального проезда и срезанных заголовков. Каждая панель целиком. */
@media (max-width: 768px) {
  .slider {
    height: auto;
    view-timeline-name: none;
  }

  .slider__pin {
    position: static;
    height: auto;
    overflow: visible;
  }

  .slider__track {
    flex-direction: column;
    width: 100%;
    animation: none;
    transform: none;
  }

  .slider .panel {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    min-height: 100svh;
    scroll-snap-align: none;
  }

  .panel__title {
    white-space: normal;
    font-size: clamp(2.25rem, 11vw, 3.75rem);
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .panel:has(.panel__body) .panel__title {
    font-size: clamp(1.875rem, 9vw, 3rem);
  }

  .panel__grid {
    background-image: repeating-linear-gradient(
      to right,
      transparent 0,
      transparent calc(100% / 2 - 1px),
      var(--color-line) calc(100% / 2 - 1px),
      var(--color-line) calc(100% / 2)
    );
  }

  .panel__caption {
    font-size: var(--text-sm);
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
  -webkit-text-size-adjust: 100%;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body {
  min-height: 100dvh;
  background: var(--color-bg-deep);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--weight-regular);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
/* Контент лежит поверх фиксированного футера и уезжает вверх, открывая его
   (эффект «выезжания футера» как у референса). */
main {
  position: relative;
  z-index: 1;
  background: var(--color-bg);
  margin-bottom: var(--footer-h);
}
/* На мобилке эффект выезжания отключаем — футер в обычном потоке (без обрезки) */
@media (max-width: 900px) {
  main {
    margin-bottom: 0;
  }
}
h1,
h2,
h3 {
  font-family: var(--font-display);
  font-weight: var(--weight-thin);
  line-height: var(--leading-tight);
  letter-spacing: -0.01em;
}
a {
  color: inherit;
  text-decoration: none;
}
img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}
button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}
::selection {
  background: var(--color-accent);
  color: var(--color-accent-contrast);
}
:focus-visible {
  outline: 2px solid var(--color-accent-strong);
  outline-offset: 3px;
}
/* Появление блоков при прокрутке — на чистом CSS (scroll-driven animations).
   Без поддержки браузером контент просто виден (прогрессивное улучшение). */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .reveal {
      opacity: 0;
      transform: translateY(28px);
      animation: reveal-in linear both;
      animation-timeline: view();
      animation-range: entry 0% cover 22%;
    }
  }
}
@keyframes reveal-in {
  to {
    opacity: 1;
    transform: none;
  }
}
/* Утилита для скрытия визуально, но не от скринридеров */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.lang[data-astro-cid-gh5daixd] {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
}

.lang__item[data-astro-cid-gh5daixd] {
  color: var(--color-muted);
  letter-spacing: .08em;
  transition: color var(--transition);
}

.lang__item[data-astro-cid-gh5daixd]:hover {
  color: var(--color-text);
}

.lang__item--active[data-astro-cid-gh5daixd] {
  color: var(--color-accent-strong);
}
/* Стили мобильной навигации (CSS-модуль острова). Показываем только на узких экранах. */
._root_wwblx_2 {
  display: none;
}

._toggle_wwblx_6 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: transparent;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-sm);
  cursor: pointer;
}

._bar_wwblx_18,
._bar_wwblx_18::before,
._bar_wwblx_18::after {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background: var(--color-text);
  transition: transform var(--transition);
}

._bar_wwblx_18 {
  position: relative;
}

._bar_wwblx_18::before {
  position: absolute;
  top: -6px;
}

._bar_wwblx_18::after {
  position: absolute;
  top: 6px;
}

._bar_wwblx_18[data-open='true'] {
  background: transparent;
}

._bar_wwblx_18[data-open='true']::before {
  transform: translateY(6px) rotate(45deg);
}

._bar_wwblx_18[data-open='true']::after {
  transform: translateY(-6px) rotate(-45deg);
}

._menu_wwblx_55 {
  position: fixed;
  inset: var(--header-height) 0 0;
  background: var(--color-bg);
  padding: var(--space-8) var(--container-pad);
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  z-index: 40;
}

._list_wwblx_66 {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

._link_wwblx_74 {
  font-family: var(--font-display);
  font-weight: var(--weight-thin);
  font-size: var(--text-2xl);
}

._link_wwblx_74:hover {
  color: var(--color-accent-strong);
}

._lang_wwblx_84 {
  display: flex;
  gap: var(--space-4);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-line);
}

._langItem_wwblx_91 {
  color: var(--color-muted);
  letter-spacing: 0.08em;
}

._langActive_wwblx_96 {
  color: var(--color-accent-strong);
  letter-spacing: 0.08em;
}

@media (max-width: 900px) {
  ._root_wwblx_2 {
    display: block;
  }
}
.header[data-astro-cid-isef26zo] {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: var(--space-6) var(--container-pad);
  pointer-events: none;
}

.header[data-astro-cid-isef26zo]:before {
  content: "";
  position: absolute;
  inset: 0;
  height: 160px;
  background: linear-gradient(to bottom, rgb(var(--color-scrim-rgb) / .5), transparent);
  pointer-events: none;
  z-index: -1;
}

.header[data-astro-cid-isef26zo] > [data-astro-cid-isef26zo] {
  pointer-events: auto;
}

.header__logo[data-astro-cid-isef26zo] {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-medium);
  letter-spacing: .02em;
}

.header__logo[data-astro-cid-isef26zo] span[data-astro-cid-isef26zo] {
  color: var(--color-accent);
  margin-left: .3ch;
  font-weight: var(--weight-thin);
}

.header__right[data-astro-cid-isef26zo] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-4);
  text-align: right;
}

.header__list[data-astro-cid-isef26zo] {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-1);
  list-style: none;
  padding: 0;
}

.header__link[data-astro-cid-isef26zo] {
  color: var(--color-text);
  font-size: var(--text-sm);
  transition: color var(--transition);
}

.header__link[data-astro-cid-isef26zo]:hover {
  color: var(--color-accent-strong);
}

@media (width <= 900px) {
  .header__right[data-astro-cid-isef26zo] {
    display: none;
  }

  .header[data-astro-cid-isef26zo] {
    align-items: center;
    padding-block: var(--space-4);
    background: color-mix(in srgb, var(--color-bg) 84%, transparent);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--color-line);
  }

  .header[data-astro-cid-isef26zo]:before {
    display: none;
  }
}
.container[data-astro-cid-ygbe67ah] {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}
.footer[data-astro-cid-oenwriqq] {
  position: fixed;
  inset: auto 0 0;
  z-index: 0;
  min-height: var(--footer-h);
  display: flex;
  align-items: center;
  padding-block: var(--space-16);
  background: var(--color-bg-deep);
}

@media (width <= 900px) {
  .footer[data-astro-cid-oenwriqq] {
    position: static;
    min-height: 0;
  }
}

.footer__grid[data-astro-cid-oenwriqq] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--space-8);
}

.footer__brand[data-astro-cid-oenwriqq] {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: var(--weight-light);
}

.footer__muted[data-astro-cid-oenwriqq] {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.footer__contacts[data-astro-cid-oenwriqq], .footer__social[data-astro-cid-oenwriqq] {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-style: normal;
  list-style: none;
  padding: 0;
}

.footer__contacts[data-astro-cid-oenwriqq] a[data-astro-cid-oenwriqq]:hover, .footer__social[data-astro-cid-oenwriqq] a[data-astro-cid-oenwriqq]:hover {
  color: var(--color-accent-strong);
}

.footer__copy[data-astro-cid-oenwriqq] {
  margin-top: var(--space-12);
  color: var(--color-muted);
  font-size: var(--text-xs);
}
.intro[data-astro-cid-z4jru4n3] {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg);
  animation: .7s cubic-bezier(.76, 0, .24, 1) .9s both intro-lift;
}

.intro__brand[data-astro-cid-z4jru4n3] {
  font-family: var(--font-display);
  font-weight: var(--weight-thin);
  font-size: var(--text-2xl);
  letter-spacing: .02em;
  animation: 1s both intro-brand;
}

.intro__brand[data-astro-cid-z4jru4n3] span[data-astro-cid-z4jru4n3] {
  color: var(--color-accent);
  margin-left: .3ch;
}

@keyframes intro-lift {
  to {
    transform: translateY(-100%);
    visibility: hidden;
  }
}

@keyframes intro-brand {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }

  40%, 70% {
    opacity: 1;
    transform: none;
  }

  100% {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro[data-astro-cid-z4jru4n3] {
    display: none;
  }
}

.skip-link[data-astro-cid-z4jru4n3] {
  position: absolute;
  left: var(--space-4);
  top: -3rem;
  z-index: 60;
  padding: var(--space-2) var(--space-4);
  background: var(--color-accent);
  color: var(--color-accent-contrast);
  border-radius: var(--radius-sm);
  transition: top var(--transition);
}

.skip-link[data-astro-cid-z4jru4n3]:focus {
  top: var(--space-4);
}
.btn[data-astro-cid-j6ocf6pu] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-4) var(--space-8);
  font-weight: var(--weight-medium);
  font-size: var(--text-sm);
  letter-spacing: .02em;
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: var(--radius-sm);
  color: var(--color-text);
  transition: background var(--transition),
      border-color var(--transition),
      color var(--transition);
}

.btn--primary[data-astro-cid-j6ocf6pu] {
  background: var(--color-accent);
  color: var(--color-accent-contrast);
}

.btn--primary[data-astro-cid-j6ocf6pu]:hover {
  background: var(--color-accent-strong);
}

.btn--ghost[data-astro-cid-j6ocf6pu] {
  border-color: var(--color-line-strong);
  color: var(--color-text);
}

.btn--ghost[data-astro-cid-j6ocf6pu]:hover {
  border-color: var(--color-text);
}

.btn--bracket[data-astro-cid-j6ocf6pu] {
  border-radius: 0;
  color: var(--color-text);
}

.btn--bracket[data-astro-cid-j6ocf6pu]:before, .btn--bracket[data-astro-cid-j6ocf6pu]:after {
  content: "";
  position: absolute;
  width: 14px;
  height: 14px;
  border: 1px solid var(--color-line-strong);
  transition: width var(--transition),
      height var(--transition),
      border-color var(--transition);
}

.btn--bracket[data-astro-cid-j6ocf6pu]:before {
  top: 0;
  right: 0;
  border-left: 0;
  border-bottom: 0;
}

.btn--bracket[data-astro-cid-j6ocf6pu]:after {
  bottom: 0;
  left: 0;
  border-right: 0;
  border-top: 0;
}

.btn--bracket[data-astro-cid-j6ocf6pu]:hover:before, .btn--bracket[data-astro-cid-j6ocf6pu]:hover:after {
  width: 24px;
  height: 24px;
  border-color: var(--color-accent-strong);
}
.hero__inner[data-astro-cid-yodha2z4] {
  padding-bottom: var(--space-12);
}

.hero[data-astro-cid-yodha2z4] .panel__title[data-astro-cid-yodha2z4] {
  white-space: normal;
  font-size: clamp(2.75rem, 13vw, 11rem);
  max-width: 15ch;
}

.hero__showreel[data-astro-cid-yodha2z4] {
  font-size: var(--text-sm);
  color: var(--color-text);
  white-space: nowrap;
}

.hero__actions[data-astro-cid-yodha2z4] {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  margin-top: var(--space-8);
}

.hero[data-astro-cid-yodha2z4] .panel__meta[data-astro-cid-yodha2z4], .hero[data-astro-cid-yodha2z4] .panel__title[data-astro-cid-yodha2z4], .hero__actions[data-astro-cid-yodha2z4] {
  animation: .9s cubic-bezier(.22, 1, .36, 1) both hero-rise;
}

.hero[data-astro-cid-yodha2z4] .panel__meta[data-astro-cid-yodha2z4] {
  animation-delay: 1s;
}

.hero[data-astro-cid-yodha2z4] .panel__title[data-astro-cid-yodha2z4] {
  animation-delay: 1.15s;
}

.hero__actions[data-astro-cid-yodha2z4] {
  animation-delay: 1.35s;
}

@keyframes hero-rise {
  from {
    opacity: 0;
    transform: translateY(32px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero[data-astro-cid-yodha2z4] .panel__meta[data-astro-cid-yodha2z4], .hero[data-astro-cid-yodha2z4] .panel__title[data-astro-cid-yodha2z4], .hero__actions[data-astro-cid-yodha2z4] {
    animation: none;
  }
}
.section[data-astro-cid-5lyysmr3] {
  padding-block: var(--space-24);
}

.section--divider[data-astro-cid-5lyysmr3] {
  border-top: 1px solid var(--color-line);
}

.section--deep[data-astro-cid-5lyysmr3] {
  background: var(--color-bg-deep);
}

.section__head[data-astro-cid-5lyysmr3] {
  display: grid;
  gap: var(--space-4);
  max-width: 52rem;
  margin-bottom: var(--space-16);
}

.section__eyebrow[data-astro-cid-5lyysmr3] {
  color: var(--color-muted);
  font-size: var(--text-sm);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
}

.section__title[data-astro-cid-5lyysmr3] {
  font-size: var(--text-3xl);
  font-weight: var(--weight-thin);
}

@media (width <= 640px) {
  .section[data-astro-cid-5lyysmr3] {
    padding-block: var(--space-16);
  }

  .section__head[data-astro-cid-5lyysmr3] {
    margin-bottom: var(--space-12);
  }
}
.about[data-astro-cid-5gtlsymu] {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: var(--space-16);
  align-items: start;
}

.about__text[data-astro-cid-5gtlsymu] {
  display: grid;
  gap: var(--space-6);
  font-size: var(--text-lg);
  font-weight: var(--weight-light);
  color: var(--color-muted);
}

.about__text[data-astro-cid-5gtlsymu] p[data-astro-cid-5gtlsymu]:first-child {
  color: var(--color-text);
}

.about__aside[data-astro-cid-5gtlsymu] {
  justify-self: start;
}

@media (width <= 860px) {
  .about[data-astro-cid-5gtlsymu] {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
}
.showcase[data-astro-cid-z7w72ett] {
  text-decoration: none;
}

.showcase[data-astro-cid-z7w72ett] .panel__title[data-astro-cid-z7w72ett] {
  transition: transform var(--transition);
}

.showcase--link[data-astro-cid-z7w72ett]:hover .panel__title[data-astro-cid-z7w72ett] {
  transform: translateX(var(--space-2));
}

.panel__body[data-astro-cid-z7w72ett] {
  margin-bottom: var(--space-12);
}
.equipment__items[data-astro-cid-27kmhkmx] {
  list-style: none;
  padding: 0;
  display: grid;
  gap: var(--space-2);
  color: var(--color-muted);
  font-weight: var(--weight-light);
  font-size: var(--text-lg);
}
.pricing__body[data-astro-cid-nwtk6cma] {
  display: grid;
  gap: var(--space-6);
  justify-items: start;
  max-width: 32rem;
}

.pricing__price[data-astro-cid-nwtk6cma] {
  font-family: var(--font-display);
  font-weight: var(--weight-thin);
  font-size: var(--text-2xl);
  color: var(--color-accent-strong);
}

.pricing__unit[data-astro-cid-nwtk6cma] {
  color: var(--color-muted);
  font-family: var(--font-body);
  font-size: var(--text-sm);
}

.pricing__features[data-astro-cid-nwtk6cma] {
  list-style: none;
  padding: 0;
  display: grid;
  gap: var(--space-2);
  color: var(--color-muted);
  font-weight: var(--weight-light);
}
.reviews__quote[data-astro-cid-67ep6ump] {
  margin: 0;
  max-width: 42rem;
  font-size: var(--text-xl);
  font-weight: var(--weight-light);
}

.reviews__quote[data-astro-cid-67ep6ump]:before {
  content: "«";
  color: var(--color-accent);
}

.reviews__quote[data-astro-cid-67ep6ump]:after {
  content: "»";
  color: var(--color-accent);
}
._form_1y92u_1 {
  display: grid;
  gap: var(--space-6);
  max-width: 34rem;
}

._field_1y92u_7 {
  display: grid;
  gap: var(--space-2);
}

._label_1y92u_12 {
  font-size: var(--text-sm);
  color: var(--color-muted);
}

._control_1y92u_17 {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  background: var(--color-surface);
  color: var(--color-text);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-sm);
  transition: border-color var(--transition);
}

._control_1y92u_17:focus {
  border-color: var(--color-accent);
  outline: none;
}

._control_1y92u_17[aria-invalid='true'] {
  border-color: var(--color-error-border);
}

._error_1y92u_36 {
  color: var(--color-error);
  font-size: var(--text-sm);
}

._submit_1y92u_41 {
  justify-self: start;
  padding: var(--space-3) var(--space-8);
  background: var(--color-accent);
  color: var(--color-accent-contrast);
  border: none;
  border-radius: var(--radius-sm);
  font-weight: var(--weight-medium);
  cursor: pointer;
  transition: background var(--transition);
}

._submit_1y92u_41:hover:not(:disabled) {
  background: var(--color-accent-strong);
}

._submit_1y92u_41:disabled {
  opacity: 0.6;
  cursor: progress;
}

._success_1y92u_62 {
  padding: var(--space-6);
  background: var(--color-surface);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-md);
  font-size: var(--text-lg);
  font-weight: var(--weight-light);
}
.contact[data-astro-cid-d56ov33j] {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: start;
}

.contact__lead[data-astro-cid-d56ov33j] {
  font-size: var(--text-lg);
  font-weight: var(--weight-light);
  margin-bottom: var(--space-12);
}

.contact__list[data-astro-cid-d56ov33j] {
  display: grid;
  gap: var(--space-6);
  margin: 0;
}

.contact__list[data-astro-cid-d56ov33j] dt[data-astro-cid-d56ov33j] {
  color: var(--color-muted);
  font-size: var(--text-sm);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  margin-bottom: var(--space-1);
}

.contact__list[data-astro-cid-d56ov33j] dd[data-astro-cid-d56ov33j] {
  margin: 0;
  font-size: var(--text-lg);
  font-weight: var(--weight-light);
}

.contact__list[data-astro-cid-d56ov33j] a[data-astro-cid-d56ov33j]:hover {
  color: var(--color-accent-strong);
}

.contact__social[data-astro-cid-d56ov33j] {
  display: flex;
  gap: var(--space-6);
}

@media (width <= 860px) {
  .contact[data-astro-cid-d56ov33j] {
    grid-template-columns: 1fr;
    gap: var(--space-12);
  }
}
