@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("/assets/fonts/cormorant-garamond-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: "Manrope";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/manrope-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

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

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/fonts/manrope-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;
}

:root {
  --dd-font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --dd-font-body: "Manrope", Arial, Helvetica, sans-serif;
  --dd-type-h1: clamp(40px, 5vw, 64px);
  --dd-type-h2: clamp(30px, 3.5vw, 44px);
  --dd-type-h3: clamp(22px, 2vw, 28px);
  --dd-type-lead: 18px;
  --dd-type-body: 17px;
  --dd-type-control: 15px;
  --dd-type-small: 14px;
  --dd-type-label: 13px;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-family: var(--dd-font-body) !important;
  font-size: var(--dd-type-body) !important;
  line-height: 1.65 !important;
  text-rendering: optimizeLegibility;
}

body :where(h1, h2, h3) {
  font-family: var(--dd-font-heading) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  text-wrap: balance;
}

body h1 {
  font-size: var(--dd-type-h1) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.035em !important;
}

body h2 {
  font-size: var(--dd-type-h2) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.025em !important;
}

body h3 {
  font-size: var(--dd-type-h3) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.015em !important;
}

body main :where(p, li, dt, dd, blockquote) {
  font-size: var(--dd-type-body) !important;
  line-height: 1.65 !important;
  text-wrap: pretty;
}

body main :where(.lead, [class*="__lead"], [class$="-lead"]) {
  font-size: var(--dd-type-lead) !important;
  line-height: 1.6 !important;
}

body main :where(
  small,
  figcaption,
  .meta,
  [class*="__meta"],
  [class$="-meta"],
  [class*="-note"]
) {
  font-size: var(--dd-type-small) !important;
  line-height: 1.5 !important;
}

body main :where(
  .eyebrow,
  [class*="eyebrow"],
  [class*="kicker"],
  [class*="-tag"],
  .badge
) {
  font-size: var(--dd-type-label) !important;
  line-height: 1.25 !important;
}

body main :where(
  .fact,
  .benefit,
  [class*="-fact"],
  [class*="-benefit"],
  [class*="card__body"]
) > strong {
  font-family: var(--dd-font-heading) !important;
  font-size: var(--dd-type-h3) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.015em !important;
}

body main :where(button, [class*="btn"], [class*="button"], [class~="action"]) {
  font-family: var(--dd-font-body) !important;
  font-size: var(--dd-type-control) !important;
  line-height: 1.2 !important;
}

body :where(input, textarea, select) {
  font-family: var(--dd-font-body) !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

body :where(label, legend) {
  font-family: var(--dd-font-body) !important;
  font-size: var(--dd-type-small) !important;
  line-height: 1.4 !important;
}

/* The home title sits over video and needs a compact display scale. */
body .dreamdance-home-hero__title {
  font-size: clamp(34px, 3.6vw, 52px) !important;
  line-height: 1.06 !important;
}

/* Functional screens use the same hierarchy at a denser scale. */
body[data-page="anketa-new-student"] h1,
body[data-page="form-student-intake"] h1,
body:not([data-page]) h1 {
  font-size: clamp(32px, 4vw, 44px) !important;
  line-height: 1.04 !important;
}

/* Shared navigation and footer keep their compact interface roles. */
body .dreamdance-site-header__nav a,
body .dreamdance-site-header__mobile a {
  font-family: var(--dd-font-body) !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

body .dreamdance-rent-footer__brandmeta p,
body .dreamdance-rent-footer__col a,
body .dreamdance-rent-footer__col p,
body .dreamdance-rent-footer__contacts a,
body .dreamdance-rent-footer__contacts p {
  font-family: var(--dd-font-body) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body .dreamdance-rent-footer__col h3,
body .dreamdance-rent-footer__contacts h3 {
  font-family: var(--dd-font-body) !important;
  font-size: var(--dd-type-label) !important;
  line-height: 1.3 !important;
  letter-spacing: 0.14em !important;
}

@media screen and (max-width: 639px) {
  :root {
    --dd-type-h1: clamp(34px, 10vw, 48px);
    --dd-type-h2: clamp(28px, 8vw, 36px);
    --dd-type-h3: clamp(21px, 6vw, 26px);
    --dd-type-lead: 17px;
    --dd-type-body: 16px;
  }

  body .dreamdance-home-hero__title {
    font-size: clamp(30px, 8vw, 36px) !important;
  }
}

