
@font-face {
  font-family: "Gilda Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/gilda-display-latin.woff2") format("woff2");
  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;
}

@font-face {
  font-family: "Gilda Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/gilda-display-latin-ext.woff2") format("woff2");
  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;
}

@font-face {
  font-family: "Noto Serif Display";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../assets/fonts/noto-serif-display-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Noto Serif Display";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../assets/fonts/noto-serif-display-greek.woff2") format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

@font-face {
  font-family: "Gilda Fallback";
  src: local("Times New Roman"), local("Times"), local("Liberation Serif"), local("DejaVu Serif");
  size-adjust: 111%;
  font-display: swap;
  unicode-range:
    U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}


:root {
  
  --coconut-canvas: #f9feff;
  --coconut-ink: #17232c;
  --coconut-blue-700: #007a9e;
  --coconut-blue-500: #009cc2;
  --coconut-blue-200: #b7e6f1;
  --coconut-blue-100: #e7f6fa;

  
  --coconut-bg: var(--coconut-canvas);
  --coconut-surface: #ffffff;
  --coconut-surface-soft: #f1fafd;
  --coconut-surface-tint: var(--coconut-blue-100);
  --coconut-text: var(--coconut-ink);
  --coconut-text-soft: #55636d;
  --coconut-accent-1: var(--coconut-blue-500);
  --coconut-accent-2: var(--coconut-blue-700);
  --coconut-edge: var(--coconut-ink);
  --coconut-border: color-mix(in oklab, var(--coconut-ink) 12%, transparent);
  --coconut-hairline: color-mix(in oklab, var(--coconut-ink) 10%, transparent);

  
  --coconut-radius-sm: 10px;
  --coconut-radius-surface: 24px;
  --coconut-radius-control: 14px;
  --coconut-radius-md: var(--coconut-radius-surface);
  --coconut-radius-lg: var(--coconut-radius-surface);
  --coconut-radius-pill: 999px;

  
  --coconut-shadow-soft: 0 16px 40px color-mix(in oklab, var(--coconut-ink) 8%, transparent);
  --coconut-shadow-premium: 0 24px 64px color-mix(in oklab, var(--coconut-ink) 14%, transparent);
  --coconut-shadow-lifted: 0 28px 72px color-mix(in oklab, var(--coconut-ink) 34%, transparent);
  --coconut-glow:
    0 0 0 1px color-mix(in oklab, var(--coconut-blue-500) 46%, transparent),
    0 10px 28px color-mix(in oklab, var(--coconut-blue-500) 30%, transparent);
  --coconut-focus-ring: 3px solid var(--coconut-blue-500);

  
  --coconut-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --coconut-ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --coconut-ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --coconut-dur-press: 100ms;
  --coconut-dur-fast: 140ms;
  --coconut-dur-exit: 160ms;
  --coconut-dur: 220ms;
  --coconut-dur-slow: 380ms;
  --coconut-reveal-fast-dur: 340ms;
  --coconut-reveal-quick-dur: 420ms;
  --coconut-reveal-phone-dur: 480ms;
  --coconut-reveal-dur: 520ms;
  --coconut-room-card-hover-dur: 820ms;
  --coconut-room-card-line-dur: 760ms;

  
  --coconut-reveal-lift: 16px;
  --coconut-reveal-stagger: 50ms;

  
  --coconut-wide: min(1500px, calc(100vw - 56px));
  --coconut-readable: min(820px, calc(100vw - 40px));
  --coconut-section: clamp(46px, 9.5vw, 182px);
  --coconut-gutter: max(20px, calc((100vw - var(--coconut-wide)) / 2));
  --coconut-safe-left: max(var(--coconut-gutter), env(safe-area-inset-left, 0px));
  --coconut-safe-right: max(var(--coconut-gutter), env(safe-area-inset-right, 0px));
  --coconut-z-header: 40;
  --coconut-z-overlay: 90;
  
  --coconut-z-archive: 980;
  --coconut-z-lightbox: 1000;
}


@media (min-width: 1921px) {
  :root {
    --coconut-wide: min(1720px, calc(100vw - 96px));
  }
}


@supports (width: min(1px, calc(100vw - env(safe-area-inset-left, 0px)))) {
  :root {
    --coconut-wide: min(
      1500px,
      calc(100vw - 56px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))
    );
    --coconut-readable: min(
      820px,
      calc(100vw - 40px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))
    );
  }

  @media (min-width: 1921px) {
    :root {
      --coconut-wide: min(
        1720px,
        calc(100vw - 96px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))
      );
    }
  }
}

* {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  min-height: 100%;
  color-scheme: light;
  background-color: transparent;
  color: var(--coconut-text);
  font-family: "Figtree", sans-serif;
  overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
  margin: 0;
  overscroll-behavior: none;
  background-color: var(--coconut-canvas);
  color: var(--coconut-text);
  font-family: "Figtree", sans-serif;
}

[data-motion-parallax-frame] {
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  [data-motion-parallax] {
    transform: none !important;
  }
}


[data-barba="container"] {
  background-color: var(--coconut-canvas);
}

html[data-coconut-dark-tail] {
  background-color: var(--coconut-ink);
}


html[data-coconut-dark-tail] body {
  background-color: var(--coconut-ink);
}

body[data-menu-open] {
  overflow: hidden;
}

img,
video {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}


button,
select,
summary,
[role="button"],
a[href] {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}


:focus-visible {
  outline: var(--coconut-focus-ring);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}
