/* Montserrat (variable, OFL) – self-hosted, no Google request */
@font-face {
  font-family: "Montserrat";
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("../fonts/montserrat-cyrillic-wght-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("../fonts/montserrat-latin-wght-normal.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 {
  --bg: #f5f5f5;
  --ink: #111111;
  --muted: #555b66;
  --accent: #f65a0e;     /* orange buttons */
  --teal: #4fc4b8;       /* partners heading, links, social, newsletter button */
  --header: #1b1c20;
  --footer: #222222;
  --line: #e4e4e7;
  --width: 860px;        /* ONE content width: header, text, video/photo, partner logos */
  --font: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font); background: var(--bg); color: var(--ink); line-height: 1.6; }
img { max-width: 100%; display: block; }
a { color: inherit; }
.wrap { width: min(100% - 32px, var(--width)); margin-inline: auto; }
.skip { position: absolute; left: -999px; }
.skip:focus { left: 8px; top: 8px; background: #fff; color: #000; padding: 8px 12px; z-index: 100; }

/* ---------- header: logo + language button only ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--header); color: #fff; }
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; min-height: 62px; }
.logo img { height: 28px; width: auto; }
.lang-switch {
  display: inline-flex; align-items: center; gap: 7px; color: #fff; text-decoration: none;
  font-weight: 700; font-size: .78rem; padding: 10px 6px; letter-spacing: .02em;
}
.lang-switch:hover { color: var(--teal); }
.lang-switch .flag { width: 18px; height: 14px; border-radius: 2px; }

/* ---------- hero banner (full bleed) ---------- */
.hero { position: relative; line-height: 0; background: #cfe3f2; aspect-ratio: 1897 / 505; overflow: hidden; }
.hero img { width: 100%; height: 100%; object-fit: cover; }
/* phones: fixed height (room for the countdown); never combine aspect-ratio with min-height */
@media (max-width: 700px) { .hero { aspect-ratio: auto; height: 190px; } }

/* ---------- intro ---------- */
.intro { padding: 56px 0 40px; text-align: center; }
.intro h1 {
  font-size: clamp(2rem, 5.2vw, 3.1rem); font-weight: 800; text-transform: uppercase;
  letter-spacing: -.01em; line-height: 1.1; margin: 0 0 22px;
}
.intro p { margin: 0 auto 14px; font-size: .95rem; }
/* >>> intro-text: fixed block height = taller of BG/EN, measured in Chromium (rem) */
.intro-text { min-height: 6.95rem; }
@media (max-width: 899px) { .intro-text { min-height: 6.95rem; } }
@media (max-width: 879px) { .intro-text { min-height: 8.47rem; } }
@media (max-width: 699px) { .intro-text { min-height: 9.99rem; } }
@media (max-width: 549px) { .intro-text { min-height: 11.51rem; } }
@media (max-width: 459px) { .intro-text { min-height: 13.03rem; } }
@media (max-width: 449px) { .intro-text { min-height: 14.55rem; } }
@media (max-width: 399px) { .intro-text { min-height: 16.07rem; } }
@media (max-width: 349px) { .intro-text { min-height: 19.11rem; } }
/* <<< intro-text */
.media { margin-top: 36px; border-radius: 12px; overflow: hidden; background: #000; aspect-ratio: 16 / 9; }
.media img, .media iframe { width: 100%; height: 100%; border: 0; object-fit: cover; }

/* ---------- partners ---------- */
.partners-sec { padding: 56px 0 24px; text-align: center; content-visibility: auto; contain-intrinsic-size: auto 1700px; }
.partners-sec h2 { color: var(--teal); font-size: clamp(1.5rem, 3.4vw, 2rem); font-weight: 800; margin: 0 0 16px; }
.p-text { margin: 0 auto 44px; font-size: .95rem; }
.partners {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 20px; max-width: 560px; margin: 0 auto !important;
  list-style: none; margin: 0; padding: 0;
}
.partners a { display: grid; justify-items: center; gap: 10px; text-decoration: none; }
.pcard {
  width: 100%; max-width: 150px; aspect-ratio: 1; background: #fff; border-radius: 12px; overflow: hidden;
  border: 1px solid var(--line); display: grid; place-items: center;
  transition: transform .15s, box-shadow .15s;
}
.partners a:hover .pcard { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(0, 0, 0, .12); }
.pcard img { width: 100%; height: 100%; object-fit: contain; }
.pname { color: var(--teal); font-size: .85rem; font-weight: 500; line-height: 1.3; }
@media (max-width: 520px) { .partners { gap: 18px 12px; } .pname { font-size: .75rem; } }

.social { display: flex; justify-content: center; gap: 4px; margin-top: 44px; }
.social a {
  width: 46px; height: 46px; display: grid; place-items: center; background: var(--teal); color: #fff;
  border-radius: 4px; transition: filter .15s;
}
.social a:hover { filter: brightness(1.08); }
.social svg { width: 24px; height: 24px; }

.big-logo { padding: 72px 0 64px; display: grid; place-items: center; }
.big-logo img { width: min(280px, 70vw); height: auto; }

/* ---------- buttons ---------- */
.btn {
  display: inline-block; text-decoration: none; font-family: var(--font); font-weight: 800; font-size: .8rem;
  padding: 12px 26px; border-radius: 6px; border: 0; background: var(--teal); color: #fff; cursor: pointer;
  transition: filter .15s;
}
.btn:hover { filter: brightness(1.08); }

/* ---------- footer ---------- */
.site-footer { background: var(--footer); color: #fff; padding: 36px 0 44px; }
.foot-grid { display: grid; gap: 32px; grid-template-columns: 5fr 6fr; align-items: stretch; }
.nl-card { background: var(--bg); color: var(--ink); border-radius: 4px; padding: 20px 16px 16px; }
.nl-card h4 { margin: 0 0 6px; font-size: 1.5rem; font-weight: 700; text-align: center; }
.nl-card p { margin: 0 0 14px; font-size: .85rem; }
.newsletter { display: grid; gap: 10px; }
.newsletter input:not([type=checkbox]) {
  padding: 9px 12px; border-radius: 4px; border: 1px solid var(--teal); background: #fff;
  color: var(--ink); font: inherit; font-size: .85rem; font-weight: 600;
}
.newsletter input:not([type=checkbox])::placeholder { color: var(--ink); opacity: .85; }
.newsletter .btn { width: 100%; margin-top: 4px; }
.thanks { display: none; color: #1a7f4b; margin-top: 10px; font-weight: 600; font-size: .85rem; }
.thanks.show { display: block; }
.nl-card { display: flex; flex-direction: column; }
.nl-card .row-form { display: flex; flex-direction: column; flex: 1; }
.nl-card .newsletter { flex: 1; align-content: start; }
.ml-form-formContent { display: grid; gap: 10px; width: 100%; }
.ml-form-fieldRow, .ml-field-group { width: 100%; }
.ml-form-formContent input { width: 100%; display: block; }
.newsletter .consent { display: flex; gap: 8px; align-items: flex-start; font-size: .66rem; line-height: 1.3; margin-top: 2px; }
.newsletter .consent input { width: 16px; height: 16px; margin: 1px 0 0; flex: none; accent-color: var(--teal); }
.newsletter .consent a { color: #17756e; text-decoration: underline; }
.newsletter .btn:disabled { opacity: .45; cursor: not-allowed; filter: none; }
.ml-form-embedSubmit { margin-top: 4px; }
.ml-form-embedSubmit .btn { width: 100%; margin-top: 0; }
.ml-form-embedSubmitLoad { display: inline-block; width: 16px; height: 16px; border: 3px solid #fff; border-bottom-color: transparent; border-radius: 50%; animation: nlspin 1s linear infinite; vertical-align: middle; }
@keyframes nlspin { to { transform: rotate(360deg); } }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nl-card .row-success { display: none; margin: 0; padding: 20px 0; text-align: center; font-size: .95rem; }
.foot-links {
  list-style: none; margin: 0; padding: 0; font-size: .8rem; font-weight: 600; border-bottom: 1px solid #fff;
  display: flex; flex-direction: column;   /* fills the full height of the newsletter card */
}
.foot-links li { flex: 1; border-top: 1px solid #fff; display: flex; }
.foot-links a { display: flex; align-items: center; width: 100%; padding: 6px 0; text-decoration: none; }
.foot-links a:hover { color: var(--teal); }
@media (max-width: 700px) { .foot-grid { grid-template-columns: 1fr; } }

/* videos */
.videos{padding:48px 0 24px;text-align:center}
.videos h2{color:var(--teal);font-size:clamp(1.5rem,3.4vw,2rem);font-weight:800;margin:0 0 16px}
.videos .p-text{margin-bottom:28px}
.vmain{border-radius:12px;overflow:hidden;background:#000;aspect-ratio:16/9;position:relative}
.vmain iframe,.vbtn{position:absolute;inset:0;width:100%;height:100%;border:0}
.vbtn{padding:0;cursor:pointer;background:#000;display:block}
.vbtn img,.vthumb img{width:100%;height:100%;object-fit:cover;display:block}
.vplay{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.vplay svg{width:68px;height:48px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));transition:transform .15s}
.vbtn:hover .vplay svg,.vcard:hover .vplay svg{transform:scale(1.1)}
.vbtn:focus-visible,.vcard:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.vcap{margin:12px 0 28px;display:grid;gap:2px;font-size:.95rem}.vcap span{color:var(--muted);font-size:.82rem}
.vgrid{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}
.vcard{display:grid;gap:6px;text-decoration:none;color:inherit;align-content:start}
.vthumb{position:relative;display:block;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000}
.vthumb .vplay svg{width:44px;height:31px}
.vt{font-size:.86rem;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vm{color:var(--muted);font-size:.76rem}
.vcard:hover .vt{color:var(--accent)}
@media(max-width:760px){.vgrid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:420px){.vgrid{gap:12px 10px}.vt{font-size:.78rem}}
.partners-sec{padding-bottom:56px}

/* trailer + quotes (home) */
.trailer{padding:0 0 8px}
.trailer .vmain{margin:0}
.videos{padding-top:40px}
.quotes{padding:40px 0 8px;text-align:center}
.quotes h2{color:var(--teal);font-size:clamp(1.5rem,3.4vw,2rem);font-weight:800;margin:0 0 16px}
.quotes .p-text{margin-bottom:28px}
.qgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}
.qgrid li{display:flex}
.qgrid blockquote{margin:0;width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:38px 18px 16px;position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.qgrid blockquote:before{content:"\201C";position:absolute;top:6px;left:14px;font-size:3rem;line-height:1;font-weight:800;color:var(--teal)}
.qgrid blockquote p{margin:0;font-size:.86rem;line-height:1.5}
.qgrid footer{color:var(--muted);font-size:.74rem;font-weight:600}
@media(max-width:760px){.qgrid{grid-template-columns:1fr}}
.videos h2,.quotes h2{text-wrap:balance}

/* gallery */
.gallery .g-intro{margin:0 0 24px;font-size:.95rem}
.doc .ggrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.doc .ggrid li{margin:0;aspect-ratio:3/2;border-radius:10px;overflow:hidden;background:#d9dde2}
.ggrid img{width:100%;height:100%;object-fit:cover;display:block}
.gallery .g-more{margin:28px 0 0;text-align:center}
.gallery .g-more .btn{display:inline-block;text-decoration:none}
@media(max-width:700px){.ggrid{grid-template-columns:repeat(2,1fr);gap:10px}}
/* current page inside the Info dropdown */
.sub a[aria-current]{color:var(--accent,#f65a0e)}
.has-sub:has(.sub a[aria-current]) .drop-btn{color:var(--accent,#f65a0e)}

/* contact form: consent + Cloudflare Turnstile */
.c-form .consent{display:flex;gap:8px;align-items:flex-start;font-size:.74rem;line-height:1.4;color:var(--muted);margin:2px 0 0;font-weight:400}
.c-form .consent input{width:auto;margin:2px 0 0;accent-color:var(--teal);flex:none}
.c-form .consent a{color:inherit;text-decoration:underline}
.cf-turnstile-box{min-height:65px;margin:0}
.c-err{display:none;color:#b3261e;font-size:.82rem;font-weight:600;margin:0}
.c-err.show{display:block}
.c-form .btn{margin-top:-2px}
.c-form .btn:disabled{opacity:.45;cursor:not-allowed}
.cf-note{display:block;font-size:.78rem;color:var(--muted)}
.cf-note.bad{color:#b3261e;font-weight:600}
.c-form .hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
