/* Seven Summits Lounge, concept by KERA Tech Solutions.
   Rebuilt on the Legends Lounge system: vw scale (1600 base), 1080 / 580 breakpoints,
   Libre Baskerville display + Poppins text, one warm accent on a dark ground. */
:root {
  --bg: #131a21;
  --bg-rgb: 19, 26, 33;
  --cream: #f2efe7;
  --accent: #c98a4b;
  --muted: #a8aeb3;
  --line: #3b4856;
  --ink: #131a21;
}

* { margin: 0; padding: 0; list-style: none; box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
a { color: inherit; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }

html, body {
  font-family: "Poppins", sans-serif;
  background: var(--bg);
  color: var(--cream);
  font-size: 0.875vw;
  line-height: 1.375vw;
  min-height: 100vh;
  overflow-x: clip;
}
html.overflow, html.overflow body { overflow: hidden; }
.skip { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--accent); color: var(--cream); padding: .6rem 1rem; border-radius: 2rem; text-decoration: none; }
.skip:focus { top: 1rem; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* page transition (Swup-style fade of the page container) */
#pageContainer { opacity: 1; transition: opacity .3s ease-out; }
.js #pageContainer.fade, html.is-changing #pageContainer { opacity: 0; pointer-events: none; }
html.is-changing header .innerHeader { opacity: 0; transition: opacity .3s; }

.blocks { position: relative; z-index: 1; }
.contentWrapper { width: 100%; padding: 0 1.25vw; }
.contentWrapper.small { padding: 0 4vw; }
.contentWrapper.smaller { padding: 0 11.75vw; }
.contentWrapper.smallest { padding: 0 19.5vw; }

/* ---------- type scale (straight from the reference) ---------- */
.hugeTitle { font-family: "Libre Baskerville", serif; font-size: 9.375vw; line-height: 7.8125vw; font-weight: 400; }
.mediumTitle { font-family: "Libre Baskerville", serif; font-size: 2.875vw; line-height: 3.25vw; font-weight: 400; }
.normalTitle { font-size: 2.25vw; line-height: 2.5vw; font-weight: 300; }
.normalTitle em, .normalSmallTitle em { font-family: "Libre Baskerville", serif; }
.normalSmallTitle { font-size: 1.625vw; line-height: 1.875vw; font-weight: 400; }
.textTitle { font-size: 1.625vw; line-height: 1.8125vw; font-weight: 400; }
.textTitle.quote em { font-family: "Libre Baskerville", serif; font-style: italic; font-size: 1.5vw; line-height: 2.125vw; }
.subTitle { font-family: "Libre Baskerville", serif; font-size: 0.875vw; line-height: 1.125vw; font-style: italic; font-weight: 400; color: var(--muted); }
.smallTitle { color: var(--muted); font-size: 0.875vw; line-height: 1.5vw; }
.text p, .pTag { font-size: 0.875vw; line-height: 1.375vw; margin-bottom: 1.375vw; opacity: .82; }
.text p:last-child, .pTag:last-child { margin-bottom: 0; }
.text p a { color: var(--accent); }

/* ---------- buttons & links ---------- */
.button {
  color: var(--cream); display: inline-block; text-align: center;
  font-size: 0.75vw; line-height: 1.5vw; padding: 0.375vw 1.875vw 0.125vw;
  border-radius: 1.875vw; background: var(--accent); text-transform: uppercase; text-decoration: none;
  letter-spacing: 0.125vw; font-weight: 500; border: 1px solid var(--accent);
  transition: background .3s ease-out, color .3s ease-out, border-color .3s ease-out;
}
.button:hover { background: var(--muted); border-color: var(--muted); }
.button.outline { background: transparent; color: var(--accent); }
.button.outline:hover { background: var(--accent); color: var(--cream); border-color: var(--accent); }
.textLink {
  display: inline-block; position: relative; line-height: 1.875vw; text-transform: uppercase; color: var(--accent);
  text-decoration: none; font-weight: 500; font-size: 0.75vw; letter-spacing: 0.125vw; transition: color .3s ease-out;
}
.textLink:after { content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 100%; background: var(--accent); transition: width .3s, left .3s, right .3s, background .3s; }
.textLink:hover { color: var(--muted); }
.textLink:hover:after { width: 0; left: auto; right: 0; background: var(--muted); }
.arrowButton {
  border-radius: 50%; color: var(--cream); background: var(--accent); width: 3.125vw; height: 3.125vw;
  display: inline-flex; align-items: center; justify-content: center; transition: background .3s ease-out;
}
.arrowButton svg { width: 1vw; height: 1vw; }
.arrowButton:hover { background: var(--muted); }
.roundButton { width: 3.125vw; height: 3.125vw; border-radius: 50%; border: 1px solid var(--cream); display: inline-flex; align-items: center; justify-content: center; transition: background .3s, color .3s; }
.roundButton:hover { background: var(--cream); color: var(--ink); }
.roundButton svg { width: 1vw; height: 1vw; }

/* ---------- cursor glow ---------- */
.cursorCircle { position: fixed; left: 0; top: 0; width: 66.875vw; height: 66.875vw; opacity: 0; pointer-events: none; z-index: 0; transition: opacity .3s ease-out; }
.cursorCircle.show { opacity: 1; }
.cursorCircle .innerCircle { position: absolute; left: 50%; top: 50%; width: 20%; height: 20%; transform: translate3d(-50%, -50%, 0); background: radial-gradient(rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 70%); opacity: 0; }
html.touch .cursorCircle { display: none; }

/* ================= HEADER ================= */
header .innerHeader {
  position: fixed; left: 0; top: 0; width: 100%; height: 4.0625vw; line-height: 4.0625vw; z-index: 16;
  color: var(--cream); transform: translateY(0); transition: transform .3s ease-out;
}
header .innerHeader:after { content: ""; position: absolute; inset: 0; background: rgba(var(--bg-rgb), .45); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); opacity: 0; transition: opacity .3s; }
header.scrolled:not(.open) .innerHeader:after { opacity: 1; }
header.scrollDown:not(.open) .innerHeader, header.hideHeader:not(.open) .innerHeader { transform: translateY(-4.0625vw); }
header .innerHeader .contentWrapper { position: relative; z-index: 1; display: flex; align-items: center; height: 100%; }
header .left, header .right { width: 50%; display: flex; align-items: center; transition: transform .3s .3s, opacity .3s .3s; }
.js header:not(.animIn):not(.open) .left, .js header:not(.animIn):not(.open) .right { opacity: 0; transform: translateY(-1.25vw); pointer-events: none; }
header .left { padding-right: 6.25vw; }
header .right { padding-left: 6.25vw; justify-content: flex-end; transition-delay: .6s; }
header .topMenu ul { display: flex; }
header .topMenu .menuLink { margin-right: 2.5vw; line-height: 1.875vw; }
header .topMenu a, header .right a { color: var(--cream); text-decoration: none; transition: opacity .3s ease-out; }
header .topMenu a:hover { opacity: .6; }
header.open .left, header.open .logo { opacity: 0 !important; pointer-events: none; }
header .logo {
  position: absolute; left: 50%; top: 0; height: 4.0625vw; display: flex; align-items: center; z-index: 1;
  transform: translate(-50%, 0); transition: transform .3s .45s, opacity .3s .45s;
}
.js header:not(.animIn):not(.open) .logo { opacity: 0; transform: translate(-50%, -1.25vw); pointer-events: none; }
header .logo a, .wordmark {
  font-family: "Libre Baskerville", serif; color: var(--accent); text-decoration: none; font-size: 1.125vw; line-height: 1; letter-spacing: .02em; white-space: nowrap; transition: opacity .3s;
}
header .logo a:hover { opacity: .6; }
header .cta { margin-right: 2.1875vw; line-height: 1.5vw; }
#hamburger { margin-right: 2.1875vw; width: 1.5vw; height: .875vw; position: relative; margin-top: -.25vw; }
#hamburger .bar { position: absolute; right: 0; top: 0; height: 2px; width: 100%; background: var(--accent); transition: all .3s ease-out; }
#hamburger .bar:nth-child(2) { top: calc(.4375vw - 1px); }
#hamburger .bar:nth-child(3) { top: calc(.875vw - 2px); width: 66.666%; }
#hamburger:hover .bar:nth-child(2) { width: 66.666%; }
#hamburger:hover .bar:nth-child(3) { width: 33.333%; }
#hamburger.active .bar { width: 100% !important; transform: rotate(-45deg); top: calc(.4375vw - 1px); }
#hamburger.active .bar:nth-child(2) { width: 0 !important; }
#hamburger.active .bar:nth-child(3) { transform: rotate(45deg); }
header.open .right .langSelect.selected, header.open .right a.ig { color: var(--ink); }
.langSelector { position: relative; text-transform: uppercase; margin-right: 2.1875vw; line-height: 1.875vw; }
.langSelector .langSelect { text-transform: uppercase; transition: opacity .3s, color .3s; }
.langSelector .langSelect.selected:hover { opacity: .6; }
.langSelector .items {
  position: absolute; left: 50%; top: 100%; width: 3.125vw; background: var(--accent); border-radius: .3125vw; line-height: 1.875vw;
  padding: .625vw 0; text-align: center; margin-top: -.625vw; opacity: 0; transform: translate(-50%, -.625vw); pointer-events: none;
  transition: opacity .3s, transform .3s;
}
.langSelector:hover .items, .langSelector:focus-within .items, .langSelector.open .items { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.langSelector .items .langSelect { color: var(--cream); width: 100%; }
.langSelector .items .langSelect:hover { opacity: .6; }
header .socials { display: flex; align-items: center; }
header .socials a { color: var(--accent); display: inline-flex; transition: opacity .3s; }
header .socials a:hover { opacity: .6; }
.icon { width: 1vw; height: 1vw; display: block; }

/* big side menu */
.bigMenu { position: fixed; inset: 0; z-index: 15; opacity: 0; pointer-events: none; transition: opacity .3s; visibility: hidden; }
.bigMenu.active { opacity: 1; pointer-events: auto; visibility: visible; }
.bigMenu .overlay { position: absolute; inset: 0; background: var(--bg); opacity: 0; transition: opacity .3s ease-out; }
.bigMenu.active .overlay { opacity: .8; }
.bigMenu .innerContainer {
  position: absolute; top: 0; right: -12.5vw; height: 100%; width: 41.75vw; background: var(--cream); color: var(--ink);
  border-radius: .625vw 0 0 .625vw; padding-top: 3.75vw; transition: right .3s ease-out; z-index: 1;
}
.bigMenu.active .innerContainer { right: 0; }
.bigMenu .innerContent { padding: 2.5vw 4vw 6.25vw 7.75vw; overflow: auto; max-height: calc(100vh - 3.75vw); }
.bigMenu .subTitle { display: block; margin-bottom: .625vw; color: #6f767c; }
.bigMenu .menuTitle { margin-bottom: 1.25vw; }
.bigMenu .menu, .bigMenu .subTitle, .bigMenu .contactInfo > div { transform: translateX(3.125vw); opacity: 0; transition: transform .45s .45s, opacity .45s .45s; }
.bigMenu .menuTitle { transition-delay: 0s; }
.bigMenu .menu.big { margin-top: 1.25vw; transition-delay: .15s; }
.bigMenu.active .menu, .bigMenu.active .subTitle, .bigMenu.active .contactInfo > div { transform: none; opacity: 1; }
.bigMenu .menu.big a { font-size: 2.25vw; line-height: 2.5vw; font-weight: 300; padding-bottom: .875vw; }
.bigMenu .menu a { display: inline-block; color: var(--ink); text-decoration: none; padding-bottom: .3125vw; transition: opacity .3s ease-out; }
.bigMenu .menu:hover a { opacity: .25; }
.bigMenu .menu a:hover, .bigMenu .menu a:focus-visible { opacity: 1; }
.bigMenu .menu:not(.big) { display: flex; }
.bigMenu .menu .innerMenu { width: 50%; padding-right: 2.5vw; }
.bigMenu .divider { margin: .9375vw 0 2.5vw; height: 1px; background: #6f767c; width: 0; opacity: .3; transition: width .45s .3s ease-out; }
.bigMenu.active .divider { width: 6.75vw; }
.bigMenu .contactInfo { margin-top: 2.5vw; display: flex; }
.bigMenu .contactInfo > div { width: 50%; transition-delay: .75s; }
.bigMenu .contactInfo > div + div { transition-delay: .9s; }
.bigMenu .contactInfo a { color: var(--ink); text-decoration: none; transition: color .3s; }
.bigMenu .contactInfo a:hover { color: var(--accent); }
.bigMenu .languages { display: none; }

/* ================= HERO (headerHomeBlock) ================= */
.headerHomeBlock { position: relative; height: 200vh; margin-bottom: 10vw; color: var(--cream); background: var(--bg); transition: background .3s; }
.js .headerHomeBlock:not(.dark) { background: var(--cream); }
.headerHomeBlock .stickyContainer { position: sticky; top: 0; height: 100vh; width: 100%; overflow: hidden; }
.headerHomeBlock .videoBackground, .headerHomeBlock .stickyWrapper { position: absolute; inset: 0; z-index: 1; }
.headerHomeBlock .maskVideo { position: absolute; inset: 0; overflow: hidden; clip-path: inset(0% 0%); }
.js .headerHomeBlock:not(.dark) .maskVideo { clip-path: inset(50% 0%); }
.headerHomeBlock.dark .maskVideo { clip-path: none !important; }
.headerHomeBlock .gradientWrapper { position: absolute; inset: 0; overflow: hidden; z-index: 1; pointer-events: none; }
.headerHomeBlock .gradient { position: absolute; inset: 0; background: radial-gradient(rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .8) 80%); will-change: transform; }
.headerHomeBlock .gradientWrapper:after { content: ""; position: absolute; inset: 0; background: rgba(var(--bg-rgb), .32); }
.headerHomeBlock .videoContainter { position: absolute; inset: 0; overflow: hidden; transform: scale(1); transition: transform 1.8s .9s ease-out; }
.js .headerHomeBlock:not(.active) .videoContainter { transform: scale(1.2); }
.headerHomeBlock .videoContainter picture, .headerHomeBlock .videoContainter img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; will-change: transform; }
.headerHomeBlock .contentContainer { position: absolute; inset: 0; }
.headerHomeBlock .maskContentContainer { z-index: 2; }
.headerHomeBlock .contentContainer.primary { color: var(--accent); }
.headerHomeBlock .contentContainer .contentWrapper, .headerHomeBlock .innerContainer { height: 100%; position: relative; }
.headerHomeBlock .absoluteContent { position: absolute; left: 0; top: 50%; width: 100%; transform: translateY(-50%); }
.headerHomeBlock .titleWrapper { position: relative; z-index: 1; text-align: center; transform: scale(1); transition: transform 2s .9s ease-out; }
.js .headerHomeBlock:not(.active) .titleWrapper { transform: scale(1.1); }
.headerHomeBlock .titleWrapper .innerWrapper { opacity: 1; transform: none; transition: opacity .45s, transform .45s; }
.headerHomeBlock .secondLine .innerWrapper { transition-delay: .15s; }
.js .headerHomeBlock:not(.active) .innerWrapper { opacity: 0; transform: translateY(1.25vw); }
.headerHomeBlock .maskContentContainer .innerWrapper { transition: none !important; }
.headerHomeBlock .buttons { margin-top: 3.75vw; display: flex; justify-content: center; gap: 1vw; opacity: 1; transform: none; transition: opacity .45s 1.55s, transform .45s 1.55s; }
.js .headerHomeBlock:not(.is-inview) .buttons { opacity: 0; transform: translateY(1.25vw); }
.headerHomeBlock .primary .buttons { visibility: hidden; }
.headerHomeBlock .circle { position: absolute; left: 50%; top: 50%; width: 22.5vw; transform: translate(-50%, -50%); pointer-events: none; }
.headerHomeBlock .circle svg { display: block; width: 100%; height: auto; overflow: visible; }
.circle svg ellipse { stroke: var(--accent); stroke-width: 1px; fill: none; vector-effect: non-scaling-stroke; stroke-dasharray: 1655; stroke-dashoffset: 0; opacity: 1; transition: opacity .6s, stroke-dashoffset 1.4s .6s; }
.js .headerHomeBlock:not(.active) .circle svg ellipse { stroke-dashoffset: 1655; opacity: 0; }
.headerHomeBlock .bottomContent { position: absolute; left: 4vw; bottom: 2.5vw; z-index: 3; display: flex; align-items: flex-end; }
.headerHomeBlock .bottomContent .label { color: var(--muted); margin-left: 1.875vw; margin-bottom: -.375vw; transition: transform .3s, opacity .3s; }
.headerHomeBlock .scrollDown { width: 1.9375vw; animation: scrollDown 8s infinite; transition: opacity .3s; color: var(--accent); }
.headerHomeBlock .scrollDown:hover { opacity: .6; }
.headerHomeBlock .scrollDown svg { display: block; width: 100%; height: auto; transition: transform .3s .15s, opacity .3s .15s; }
.js .headerHomeBlock .bottomContent:not(.active) .label { transform: translateX(-1.25vw); opacity: 0; }
.js .headerHomeBlock .bottomContent:not(.active) .scrollDown svg { transform: translateY(-1.25vw); opacity: 0; }
@keyframes scrollDown { 0%, 10%, 20%, 100% { transform: translateY(0); } 5%, 15% { transform: translateY(.625vw); } }

/* ================= INTRO: title filler + text + buttons ================= */
.titleFillerTextButtonBlock { margin: 15vw 0 10vw; }
.titleFillerTextButtonBlock .quoteWrapper { position: relative; padding-right: 15.625vw; }
.titleFillerTextButtonBlock .quoteWrapper .subTitle { position: absolute; left: 0; top: .25vw; }
.titleFillerTextButtonBlock .normalTitle small, .titleFillerTextBlock .normalTitle small { display: inline-block; vertical-align: middle; width: 11.5625vw; }
.titleFillerTextButtonBlock .divider { margin: 2.5vw 0; height: 1px; position: relative; }
.titleFillerTextButtonBlock .divider:after { content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 100%; background: var(--line); transform-origin: 0 50%; transition: transform .6s .3s cubic-bezier(.85, 0, .15, 1); }
.js .titleFillerTextButtonBlock:not(.is-inview) .divider:after { transform: scaleX(0); }
.titleFillerTextButtonBlock .textWrapper { display: flex; }
.titleFillerTextButtonBlock .innerCol { width: 50%; }
.titleFillerTextButtonBlock .innerCol:last-child { padding-left: .5vw; }
.buttons { display: flex; flex-wrap: wrap; gap: 1vw; }
.titleFillerTextButtonBlock .buttons { margin-top: 2.5vw; }

/* text filler */
.animTextWrapper { position: relative; display: block; }
.animText .row { display: block; white-space: nowrap; }
.titleFillerTextButtonBlock .animText .row + .row, .titleFillerTextBlock .animText .row + .row { margin-top: -.3125vw; }
.js .animTextWrapper.ready .animText:not(.overlay) .row { color: var(--accent); opacity: .22; }
.animText.overlay { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; }
.animText.overlay .row { color: var(--cream); clip-path: inset(0 100% 0 0); }
.animText.overlay .row .innerRow { display: inline-block; }

/* ================= SIGNATURE DISHES (eventsUpcomingBlock) ================= */
.eventsUpcomingBlock { position: relative; width: 100%; margin: 10vw 0; transition: opacity .45s .3s; }
.js .eventsUpcomingBlock:not(.is-inview) { opacity: 0; }
.eventsUpcomingBlock .stickyContainer { position: relative; }
.eventsUpcomingBlock .topContent { position: relative; z-index: 2; }
.eventsUpcomingBlock .topContent .contentWrapper { display: flex; }
.eventsUpcomingBlock .topContent .left, .eventsUpcomingBlock .topContent .right { width: 50%; }
.eventsUpcomingBlock .topContent .left .innerContent { width: 31.25vw; }
.eventsUpcomingBlock .topContent .normalSmallTitle { margin-top: 1.25vw; color: var(--cream); }
.eventsUpcomingBlock .topContent .right { text-align: right; margin-top: -.125vw; }
.eventsUpcomingBlock .backgroundSlider { position: absolute; inset: 0; overflow: hidden; }
.eventsUpcomingBlock .slides { position: absolute; inset: 0; }
.eventsUpcomingBlock .slide { position: absolute; inset: 0; opacity: 0; transform: scale(1); transition: opacity .3s .3s, transform .6s; }
.eventsUpcomingBlock .slide.active { opacity: 1; z-index: 1; transition: opacity .3s 0s, transform .6s; }
.eventsUpcomingBlock .slide.hover { transform: scale(1.05); }
.eventsUpcomingBlock .slide .background { position: absolute; inset: 0; transform: scale(1.1); transition: transform .3s .3s ease-out; }
.eventsUpcomingBlock .slide.active .background { transform: scale(1); transition: transform .3s 0s ease-out; }
.eventsUpcomingBlock .slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.eventsUpcomingBlock .gradientWrapper, .eventsUpcomingBlock .textGradientWrapper { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.eventsUpcomingBlock .gradientWrapper { z-index: 1; }
.eventsUpcomingBlock .textGradientWrapper { z-index: 3; }
.eventsUpcomingBlock .gradient { position: absolute; }
.eventsUpcomingBlock .gradient.horizontal { left: 0; top: 0; width: 100%; height: 80%; background: linear-gradient(rgb(var(--bg-rgb)), rgba(var(--bg-rgb), 0)); }
.eventsUpcomingBlock .gradient.horizontal.bottom { top: auto; bottom: 0; background: linear-gradient(rgba(var(--bg-rgb), 0), rgb(var(--bg-rgb))); }
.eventsUpcomingBlock .gradient.vertical { top: 0; left: 0; height: 100%; width: 40%; background: linear-gradient(to right, rgb(var(--bg-rgb)), rgba(var(--bg-rgb), 0)); }
.eventsUpcomingBlock .gradient.vertical.right { left: auto; right: 0; background: linear-gradient(to left, rgb(var(--bg-rgb)), rgba(var(--bg-rgb), 0)); }
.eventsUpcomingBlock .textGradientWrapper .gradient.vertical { width: 5vw; }
.eventsUpcomingBlock .innerContainer { position: relative; z-index: 2; }
.eventsUpcomingBlock .scrollContainer { white-space: nowrap; }
.eventsUpcomingBlock .scrollContainer .contentWrapper { width: auto; display: inline-block; }
.eventsUpcomingBlock .innerScrollerContainer { display: inline-block; position: relative; }
.eventsUpcomingBlock .items { display: flex; align-items: flex-start; }
.eventsUpcomingBlock .block { flex: none; display: block; width: 30vw; margin-right: 8.4375vw; white-space: normal; position: relative; color: var(--cream); transition: opacity .3s; }
.eventsUpcomingBlock .block:first-child { width: 52.5vw; padding-left: 23.75vw; }
.eventsUpcomingBlock .block:last-child { margin-right: 0; }
.eventsUpcomingBlock.pinned .block:not(.active) { opacity: .2; pointer-events: none; }
.eventsUpcomingBlock .intro { display: block; border-bottom: 1px solid rgba(255, 255, 255, .1); margin-bottom: 1.25vw; padding-bottom: 1.25vw; }
.eventsUpcomingBlock .intro .date { color: var(--cream); }
.eventsUpcomingBlock .extraTitle { color: var(--muted); display: block; margin-bottom: .625vw; font-style: italic; }
.eventsUpcomingBlock .mediumTitle { display: block; }
.eventsUpcomingBlock .links { display: block; margin-top: .875vw; padding-top: 1.25vw; border-top: 1px solid rgba(255, 255, 255, .1); }
.eventsUpcomingBlock .extraText { display: block; margin-top: .625vw; color: var(--cream); opacity: .85; }
.eventsUpcomingBlock .mobileNav { display: none; }
/* pinned (desktop, JS) */
.eventsUpcomingBlock.pinned .stickyContainer { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.eventsUpcomingBlock.pinned .topContent { position: absolute; left: 0; top: 5vw; width: 100%; }
.eventsUpcomingBlock.pinned .innerContainer { position: absolute; top: 50%; left: 0; width: 100%; transform: translateY(-50%); margin-top: 5.625vw; }
/* static fallback (no JS / reduced motion): stacked list over the first image */
.eventsUpcomingBlock:not(.pinned):not(.slider) .stickyContainer { padding: 5vw 0; }
.eventsUpcomingBlock:not(.pinned):not(.slider) .innerContainer { margin-top: 4vw; }
.eventsUpcomingBlock:not(.pinned):not(.slider) .items { flex-wrap: wrap; gap: 3vw 0; }
.eventsUpcomingBlock:not(.pinned):not(.slider) .block:first-child { width: 30vw; padding-left: 0; }
.eventsUpcomingBlock:not(.pinned):not(.slider) .block { margin-right: 4vw; }

/* ================= TITLE + TEXT ================= */
.titleTextBlock { margin: 10vw 0; }
.titleTextBlock .subTitle { margin-bottom: 1.25vw; }
.titleTextBlock .cols { display: flex; }
.titleTextBlock .col:first-child { width: 22.25vw; }
.titleTextBlock .col:last-child { padding-left: 8.75vw; width: 54.25vw; }
.titleTextBlock .col:last-child.smaller { padding-left: 24.25vw; }
.titleTextBlock .textTitle { max-width: 22.25vw; }
.titleTextBlock .link { margin-top: 1.875vw; }

/* ================= CATEGORY SLIDER (eventTypeSliderBlock) ================= */
.eventTypeSliderBlock { margin: 10vw 0; }
.eventTypeSliderBlock .contentWrapper { position: relative; }
.eventTypeSliderBlock .sliders { margin-left: -2.5vw; position: relative; width: calc(100% + 5vw); display: flex; align-items: flex-start; }
.eventTypeSliderBlock .sliderWrapper { margin: 0 2.5vw; width: calc(33.333% - 5vw); }
.eventTypeSliderBlock .sliderWrapper:first-child, .eventTypeSliderBlock .sliderWrapper:nth-child(3) { margin-top: 5vw; }
.eventTypeSliderBlock .slider { position: relative; }
.eventTypeSliderBlock .slideAbsolute { display: block; color: var(--cream); text-decoration: none; transition: opacity .3s ease-out; }
.eventTypeSliderBlock .slideAbsolute:not(.active) { display: none; }
.js .eventTypeSliderBlock .slideAbsolute { position: absolute; left: 0; top: 0; width: 100%; opacity: 0; pointer-events: none; display: block; }
.js .eventTypeSliderBlock .slideAbsolute.active { opacity: 1; pointer-events: auto; z-index: 1; }
.js .eventTypeSliderBlock .slideAbsolute.active.oldActive { z-index: 0; }
.eventTypeSliderBlock .slideAbsolute span { display: block; }
.eventTypeSliderBlock .imageWrapper { border-radius: .5vw; height: 0; width: 100%; position: relative; overflow: hidden; padding-bottom: 134.83%; transform: translate3d(0, 0, 0); }
.js .eventTypeSliderBlock .imageWrapper { clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%); }
.eventTypeSliderBlock .imageWrapper img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform .3s ease-out; }
.eventTypeSliderBlock .slideAbsolute.active:hover img { transform: scale(1.05); transition: transform .6s cubic-bezier(.33, 1, .68, 1); }
.eventTypeSliderBlock .slideAbsolute.active:hover .textLink { color: var(--muted); }
.eventTypeSliderBlock .slideAbsolute.active:hover .textLink:after { width: 0; left: auto; right: 0; background: var(--muted); }
.js .eventTypeSliderBlock .innerContent { opacity: 0; transform: translateX(.625vw); }
.eventTypeSliderBlock .mediumTitle { margin-top: 1.25vw; }
.eventTypeSliderBlock .text { margin-top: 1.063vw; }
.eventTypeSliderBlock .textLink { display: inline-block !important; margin-top: 2.5vw; }
.eventTypeSliderBlock .navigatorWrapper { position: absolute; left: 11.75vw; right: 11.75vw; top: 50%; z-index: 2; pointer-events: none; }
.eventTypeSliderBlock .navigator { position: relative; }
.eventTypeSliderBlock .arrowButton { position: absolute; left: 0; pointer-events: auto; transform: translate(-80%, -50%); }
.eventTypeSliderBlock .arrowButton.next { left: auto; right: 0; transform: translate(80%, -50%); }

/* ================= STICKY GRID (Flip) ================= */
.stickyGridImagesBlock { overflow: hidden; color: var(--cream); }
.stickyGridImagesBlock .gridWrap { position: relative; width: 100%; height: 100vh; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.gridScroller {
  display: grid; grid-template-columns: repeat(3, 100vw); grid-template-rows: repeat(4, calc(100vh - 12.5vw));
  row-gap: 28.125vw; column-gap: 18.75vw; justify-content: center; align-content: center;
}
.gridScroller.gridSwitch { row-gap: 1vw; column-gap: 1vw; grid-template-columns: repeat(3, 31.75vw); grid-template-rows: repeat(4, calc(25vh - 1vw + .375vw)); }
.gridScroller .gridItem { border-radius: .5vw; overflow: hidden; position: relative; }
.gridScroller .gridItem:nth-child(1) { grid-area: 1 / 1 / 3 / 2; }
.gridScroller .gridItem:nth-child(2) { grid-area: 1 / 2 / 2 / 3; }
.gridScroller .gridItem:nth-child(3) { grid-area: 2 / 2 / 4 / 3; }
.gridScroller .gridItem:nth-child(4) { grid-area: 1 / 3 / 3 / 4; }
.gridScroller .gridItem:nth-child(5) { grid-area: 3 / 1 / 4 / 2; }
.gridScroller .gridItem:nth-child(6) { grid-area: 3 / 3 / 5 / 4; }
.gridScroller .gridItem:nth-child(7) { grid-area: 4 / 1 / 5 / 2; }
.gridScroller .gridItem:nth-child(8) { grid-area: 4 / 2 / 5 / 3; }
.gridScroller .innerBackground { position: absolute; inset: 0; }
.gridScroller .innerBackground:before { content: ""; position: absolute; inset: 0; background: var(--bg); opacity: .2; z-index: 1; }
.gridScroller .innerBackground img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gridScroller .innerText { position: absolute; right: .625vw; bottom: 1.25vw; z-index: 2; opacity: 0; text-align: right; transition: opacity .3s, right .3s; text-shadow: 0 1px 12px rgba(0, 0, 0, .5); }
.gridScroller.gridSwitch .gridItem:hover .innerText { opacity: 1; right: 1.25vw; }

/* ================= REVIEW ================= */
.reviewBlock { margin: 10vw 0; }
.reviewBlock .quoteWrapper { display: block; margin: auto; max-width: 45.5vw; position: relative; text-align: center; }
.reviewBlock .subTitle { margin-bottom: 1.875vw; }
.reviewBlock .imageWrapper { margin: 0 auto 1.875vw; border-radius: 50%; border: 1px solid var(--accent); overflow: hidden; position: relative; height: 8.188vw; width: 8.188vw; }
.reviewBlock .innerImage { border-radius: 50%; overflow: hidden; position: absolute; left: 0; right: 0; top: 50%; margin: auto; height: 6.938vw; width: 6.938vw; transform: translateY(-50%); }
.reviewBlock .innerImage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.reviewBlock .smallTitle { display: block; margin: 1.25vw auto 0; max-width: 30vw; }
.reviewBlock .smallTitle span { color: var(--cream); margin-right: .3125vw; }
.reviewBlock .second { margin: 2.5vw auto 0; max-width: 34vw; color: var(--muted); }
.reviewBlock .second strong { color: var(--cream); font-weight: 400; }
.reviewBlock .textLink { margin-top: 2.5vw; }

/* ================= GALLERY GRID ================= */
.gridGalleryBlock { margin: 10vw 0; position: relative; z-index: 1; }
.gridGalleryBlock .grid { height: 76.5625vw; position: relative; }
.gridGalleryBlock .image { position: absolute; left: 0; top: 5vw; width: 48.25vw; border-radius: .625vw; overflow: hidden; cursor: zoom-in; display: block; padding: 0; }
.gridGalleryBlock .image .innerImage { display: block; height: 0; position: relative; padding-bottom: 103.5%; }
.gridGalleryBlock .image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform .3s ease-out; }
.gridGalleryBlock .image:hover img { transform: scale(1.05); }
.gridGalleryBlock .image:nth-child(2) { left: 41.5vw; top: 0; width: 30vw; }
.gridGalleryBlock .image:nth-child(2) .innerImage { padding-bottom: 102.7%; }
.gridGalleryBlock .image:nth-child(3) { left: auto; right: 0; top: 17.875vw; width: 25vw; }
.gridGalleryBlock .image:nth-child(4) { left: auto; right: 18.25vw; top: 39.5625vw; width: 22.25vw; }
.gridGalleryBlock .image:nth-child(5) { left: auto; right: 2.75vw; top: 54.9375vw; width: 14.5vw; }
.gridGalleryBlock .image:nth-child(6) { left: 26vw; top: auto; bottom: 0; width: 14.5vw; }

/* gallery overlay */
.galleryOverlay { position: fixed; inset: 0; z-index: 20; background: #000; overflow: hidden; opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .3s, visibility 0s .3s; }
.galleryOverlay.active { opacity: 1; pointer-events: auto; visibility: visible; transition: opacity .3s, visibility 0s; }
.galleryOverlay .slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .3s; }
.galleryOverlay .slide.active { opacity: 1; pointer-events: auto; transition: opacity .3s .15s; }
.galleryOverlay .innerSlide { position: relative; width: 100%; height: 100%; cursor: pointer; }
.galleryOverlay .innerSlide img { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); max-width: none; user-select: none; pointer-events: none; }
.galleryOverlay .counter { position: absolute; left: 1.25vw; top: 1.25vw; color: var(--cream); z-index: 2; }
.galleryOverlay .counter .current, .galleryOverlay .counter .length { display: inline-block; width: 1.25vw; }
.galleryOverlay .counter .current { text-align: right; }
.galleryOverlay .counter .divider { margin: 0 .3125vw; }
.galleryOverlay .close { position: absolute; right: 1.25vw; top: 1.25vw; z-index: 2; color: var(--cream); }

/* ================= FOOTER ================= */
footer.footer { color: var(--cream); margin-top: 8.75vw; padding: 0 0 1.875vw; position: relative; z-index: 1; }
footer .topFooter .logo { text-align: center; margin-bottom: 1.25vw; }
footer .topFooter .logo a { font-family: "Libre Baskerville", serif; color: var(--cream); text-decoration: none; font-size: 1.5vw; transition: opacity .3s; }
footer .topFooter .logo a:hover { opacity: .6; }
footer .topFooter .divider { height: 1px; background: var(--accent); }
footer .cols { padding: 5vw 0 3.125vw; display: flex; }
footer .cols .col { width: 50%; }
footer .cols .col:first-child { padding-right: 8.125vw; }
footer .cols .col:last-child { display: flex; }
footer .subCol { width: 33.333%; padding-right: 1vw; }
footer .subCol .subTitle { margin-bottom: 1.375vw; }
footer .subCol .text a { color: var(--cream); text-decoration: none; transition: opacity .3s; }
footer .subCol .text a:hover { opacity: .6; }
footer .socials { display: flex; gap: 1.25vw; margin-top: 1.5vw; }
footer .socials a { color: var(--accent); transition: opacity .3s; }
footer .socials a:hover { opacity: .6; }
footer .visitMeta { margin-top: 1.875vw; color: var(--muted); }
footer .visitMeta + .buttons { margin-top: 1.5vw; }
footer .menuFooter { margin-bottom: 1.875vw; }
footer .footerMenu ul { display: flex; flex-wrap: wrap; }
footer .footerMenu .menuLink { margin-right: 1.875vw; }
footer .footerMenu a { color: var(--cream); text-decoration: none; line-height: 1.875vw; transition: opacity .3s; }
footer .footerMenu a:hover { opacity: .6; }
footer .bottomFooter { font-size: .75vw; color: var(--muted); display: flex; }
footer .bottomFooter .left, footer .bottomFooter .right { width: 50%; }
footer .bottomFooter .right { text-align: right; }
footer .bottomFooter .right a { color: var(--cream); text-decoration: none; transition: color .3s; }
footer .bottomFooter .right a:hover { color: var(--muted); }

/* ================= CONCEPT TOAST ================= */
.conceptToast {
  position: fixed; left: 1.25vw; bottom: 1.25vw; z-index: 30; max-width: 26vw; display: flex; gap: 1vw; align-items: flex-start;
  background: var(--cream); color: var(--ink); padding: 1vw 1.25vw; border-radius: .625vw; font-size: .8125vw; line-height: 1.25vw;
  box-shadow: 0 1vw 3vw rgba(0, 0, 0, .35); opacity: 0; transform: translateY(1vw); pointer-events: none; transition: opacity .4s, transform .4s;
}
.conceptToast[hidden] { display: none; }
.conceptToast.show { opacity: 1; transform: none; pointer-events: auto; }
.conceptToast a { color: var(--ink); }
.conceptToast button { flex: none; width: 1.75vw; height: 1.75vw; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--ink); color: var(--cream); }
.conceptToast button svg { width: .75vw; height: .75vw; }

/* ================= MENU PAGE ================= */
.headerSmallBlock { color: var(--cream); position: relative; padding: 12.5vw 0 3.125vw; margin-bottom: 5vw; overflow: hidden; }
.headerSmallBlock .background { position: absolute; inset: 0; overflow: hidden; opacity: 1; transition: opacity .7s .45s ease-out; }
.js .headerSmallBlock:not(.is-inview) .background { opacity: 0; }
.headerSmallBlock .background img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); }
.headerSmallBlock .background:after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(var(--bg-rgb), .35), rgba(var(--bg-rgb), .55) 60%, rgb(var(--bg-rgb))); }
.headerSmallBlock .gradientWrapper { position: absolute; inset: 0; z-index: 1; opacity: .2; }
.headerSmallBlock .gradient { position: absolute; inset: 0; background: radial-gradient(rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .8) 80%); }
.headerSmallBlock .contentContainer { position: relative; z-index: 1; }
.headerSmallBlock .cols { position: relative; display: flex; align-items: flex-end; }
.headerSmallBlock .col { width: 50%; position: relative; z-index: 2; }
.headerSmallBlock .col:nth-child(2) { text-align: right; }
.headerSmallBlock .mediumTitle { margin-top: 1.875vw; transition: opacity .45s .45s, transform .45s .45s; }
.js .headerSmallBlock:not(.is-inview) .mediumTitle { opacity: 0; transform: translateY(1.25vw); }
.headerSmallBlock .circle { position: absolute; left: 50%; top: 0; width: 22.5vw; pointer-events: none; transform: translate(-50%, -50%) rotate(-255deg); z-index: 1; }
.headerSmallBlock .circle svg { display: block; width: 100%; height: auto; overflow: visible; }
.js .headerSmallBlock:not(.is-inview) .circle svg ellipse { stroke-dashoffset: 1655; opacity: 0; }
.headerSmallBlock .bottomContent { display: inline-flex; align-items: flex-end; }
.headerSmallBlock .bottomContent .label { color: var(--muted); margin-right: 5.625vw; margin-bottom: -.375vw; }
.headerSmallBlock .scrollDown { width: 1.9375vw; color: var(--accent); animation: scrollDown 8s infinite; }
.headerSmallBlock .scrollDown svg { display: block; width: 100%; height: auto; }

.titleFillerTextBlock { margin: 10vw 0; }
.titleFillerTextBlock .contentWrapper { display: flex; }
.titleFillerTextBlock .col { width: 50%; }
.titleFillerTextBlock .col:first-child { padding-right: 1vw; }
.titleFillerTextBlock .col:last-child { padding-left: 8.25vw; padding-top: 2.25vw; }
.titleFillerTextBlock .col .subTitle { margin-bottom: 1.25vw; }
.titleFillerTextBlock .buttons { margin-top: 2.5vw; }

.menuIndex { margin: -4vw 0 6vw; }
.menuIndex ul { display: flex; flex-wrap: wrap; gap: .5vw 1.875vw; }

.eventOverviewBlock { margin: 0 0 7.5vw; scroll-margin-top: 6vw; }
.eventOverviewBlock .catHead { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1.25vw; }
.eventOverviewBlock .catHead .normalSmallTitle { font-family: "Libre Baskerville", serif; }
.eventOverviewBlock .catHead .subTitle { text-align: right; max-width: 30vw; }
.eventOverviewBlock .events { position: relative; }
.eventOverviewBlock .events:after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 1px; background: var(--muted); opacity: .45; }
.eventOverviewBlock .event { display: block; padding: 1.25vw 0 1.125vw; position: relative; }
.eventOverviewBlock .event:before { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: var(--muted); opacity: .45; }
.eventOverviewBlock .event:after { content: ""; position: absolute; right: 0; bottom: 0; width: 0; height: 1px; background: var(--accent); transition: width .6s, left .6s, right .6s; }
.eventOverviewBlock .event:hover:after { width: 100%; right: auto; left: 0; }
.eventOverviewBlock .innerRow { display: flex; align-items: flex-start; }
.eventOverviewBlock .dateCol, .eventOverviewBlock .typeCol, .eventOverviewBlock .titleCol { transition: padding-left .3s, padding-right .3s, color .3s, opacity .3s; padding-right: 2.25vw; }
.eventOverviewBlock .dateCol { width: 23.25vw; flex: none; }
.eventOverviewBlock .dateCol .subTitle { color: var(--cream); font-size: .9375vw; transition: color .3s; }
.eventOverviewBlock .dateCol .divider { height: .875vw; width: 1px; background: var(--muted); opacity: .4; margin: 0 .625vw; display: inline-block; vertical-align: middle; }
.eventOverviewBlock .dateCol .note { color: var(--muted); font-family: "Poppins", sans-serif; font-style: normal; font-size: .6875vw; letter-spacing: .05em; margin-left: .375vw; }
.eventOverviewBlock .typeCol { width: 17.5vw; flex: none; opacity: .7; color: var(--muted); font-style: italic; font-family: "Libre Baskerville", serif; font-size: .8125vw; }
.eventOverviewBlock .titleCol { flex: 1; position: relative; color: var(--cream); }
.eventOverviewBlock .titleCol .name { display: block; font-size: 1.0625vw; line-height: 1.5vw; }
.eventOverviewBlock .titleCol .desc { display: block; color: var(--muted); font-size: .8125vw; line-height: 1.25vw; margin-top: .25vw; }
.eventOverviewBlock .titleCol:before { content: ""; position: absolute; left: -.5vw; top: .75vw; width: .625vw; height: .625vw; border-radius: 50%; background: var(--accent); transform: translateY(-50%) scale(0); transition: transform .3s, left .3s; }
.eventOverviewBlock .event:hover .dateCol, .eventOverviewBlock .event:hover .typeCol, .eventOverviewBlock .event:hover .titleCol { padding-left: 1.25vw; padding-right: 1vw; }
.eventOverviewBlock .event:hover .dateCol .subTitle { color: var(--accent); }
.eventOverviewBlock .event:hover .typeCol { opacity: 1; color: var(--cream); }
.eventOverviewBlock .event:hover .titleCol:before { transform: translateY(-50%) scale(1); left: 0; }
[lang="sq"] .t-en, [lang="en"] .t-sq, html:not([lang]) .t-sq { display: none !important; }

/* 404 */
.notFound { min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 6vw; }
.notFound .hugeTitle { color: var(--accent); }
.notFound p { margin: 2vw 0 3vw; color: var(--muted); }

/* ================= ≤1080 ================= */
@media (max-width: 1080px) {
  html, body { font-size: 1.296vw; line-height: 2.037vw; }
  .text p, .pTag { font-size: 1.296vw; line-height: 2.037vw; margin-bottom: 2.037vw; }
  .contentWrapper, .contentWrapper.small { padding: 0 3.704vw; }
  .contentWrapper.smaller, .contentWrapper.smallest { padding: 0 7.407vw; }
  .hugeTitle { font-size: 13.889vw; line-height: 11.574vw; }
  .mediumTitle { font-size: 4.259vw; line-height: 4.815vw; }
  .normalTitle { font-size: 3.333vw; line-height: 3.704vw; }
  .normalSmallTitle, .textTitle { font-size: 2.407vw; line-height: 2.685vw; }
  .textTitle.quote em { font-size: 2.222vw; line-height: 3.1vw; }
  .subTitle { font-size: 1.296vw; line-height: 1.667vw; }
  .smallTitle { font-size: 1.296vw; line-height: 2.222vw; }
  .textLink { line-height: 2.778vw; font-size: 1.111vw; letter-spacing: .185vw; }
  .button { font-size: 1.111vw; line-height: 2.222vw; padding: .556vw 2.778vw .185vw; border-radius: 2.778vw; letter-spacing: .185vw; }
  .arrowButton, .roundButton { width: 4.63vw; height: 4.63vw; }
  .arrowButton svg, .roundButton svg, .icon { width: 1.481vw; height: 1.481vw; }
  header .innerHeader { height: 6.019vw; line-height: 6.019vw; }
  header.scrollDown:not(.open) .innerHeader { transform: translateY(-6.019vw); }
  header .topMenu .menuLink { display: none; margin-right: 1.852vw; }
  header .topMenu .menuLink:first-child { display: block; }
  header .logo { height: 6.019vw; }
  header .logo a { font-size: 1.667vw; }
  header .cta, #hamburger, .langSelector { margin-right: 3.241vw; }
  #hamburger { width: 2.222vw; height: 1.296vw; }
  #hamburger .bar:nth-child(2), #hamburger.active .bar { top: calc(.648vw - 1px); }
  #hamburger .bar:nth-child(3) { top: calc(1.296vw - 2px); }
  .langSelector .items { width: 4.63vw; line-height: 2.778vw; padding: .926vw 0; }
  .bigMenu .innerContainer { width: 62vw; }
  .bigMenu .menu.big a { font-size: 3.333vw; line-height: 3.704vw; }
  .headerHomeBlock { margin-bottom: 14.814vw; }
  .headerHomeBlock .buttons { margin-top: 5.556vw; gap: 1.481vw; }
  .headerHomeBlock .circle, .headerSmallBlock .circle { width: 33.333vw; }
  .headerHomeBlock .bottomContent { left: 5.926vw; bottom: 3.704vw; }
  .headerHomeBlock .bottomContent .label { margin-left: 3.704vw; }
  .headerHomeBlock .scrollDown, .headerSmallBlock .scrollDown { width: 2.871vw; }
  .titleFillerTextButtonBlock { margin: 22.221vw 0 14.814vw; }
  .titleFillerTextButtonBlock .quoteWrapper { padding-right: 10vw; }
  .titleFillerTextButtonBlock .normalTitle small, .titleFillerTextBlock .normalTitle small { width: 17.129vw; }
  .eventsUpcomingBlock .topContent .left .innerContent { width: 46vw; }
  .eventsUpcomingBlock .block { width: 44vw; }
  .eventsUpcomingBlock .block:first-child { width: 70vw; padding-left: 26vw; }
  .titleTextBlock { margin: 14.814vw 0; }
  .titleTextBlock .col:first-child { width: 32.962vw; }
  .titleTextBlock .col:last-child { padding-left: 12.962vw; width: 51.924vw; }
  .titleTextBlock .col:last-child.smaller { padding-left: 11.481vw; }
  .titleTextBlock .textTitle { max-width: 32.963vw; }
  .eventTypeSliderBlock { margin: 14.814vw 0; }
  .eventTypeSliderBlock .navigatorWrapper { left: 7.407vw; right: 7.407vw; }
  .reviewBlock { margin: 14.814vw 0; }
  .reviewBlock .quoteWrapper { max-width: 78.886vw; }
  .reviewBlock .imageWrapper { height: 12.13vw; width: 12.13vw; }
  .reviewBlock .innerImage { height: 10.278vw; width: 10.278vw; }
  .reviewBlock .smallTitle { max-width: 44.444vw; }
  .reviewBlock .second { max-width: 60vw; }
  .gridScroller { grid-template-columns: repeat(3, 148.144vw); grid-template-rows: repeat(4, calc(100vh - 18.518vw)); row-gap: 41.6655vw; column-gap: 27.777vw; }
  .gridScroller.gridSwitch { row-gap: 1.481vw; column-gap: 1.481vw; grid-template-columns: repeat(3, 30.5vw); grid-template-rows: repeat(4, calc(25vh - 1.481vw + .556vw)); }
  footer .cols { flex-wrap: wrap; }
  footer .cols .col { width: 100%; }
  footer .cols .col:first-child { padding-right: 0; margin-bottom: 4vw; }
  footer .bottomFooter { font-size: 1.111vw; }
  footer .footerMenu a { line-height: 2.778vw; }
  .conceptToast { max-width: 44vw; font-size: 1.204vw; line-height: 1.8vw; padding: 1.6vw 2vw; }
  .conceptToast button { width: 2.6vw; height: 2.6vw; }
  .eventOverviewBlock .dateCol { width: 18vw; }
  .eventOverviewBlock .dateCol .subTitle { font-size: 1.39vw; }
  .eventOverviewBlock .typeCol { width: 22vw; font-size: 1.204vw; }
  .eventOverviewBlock .titleCol .name { font-size: 1.574vw; line-height: 2.2vw; }
  .eventOverviewBlock .titleCol .desc { font-size: 1.204vw; line-height: 1.8vw; }
}

/* ================= ≤580 (phones) ================= */
@media (max-width: 580px) {
  html, body { font-size: 3.6vw; line-height: 5.4vw; }
  .text p, .pTag { font-size: 3.6vw; line-height: 5.6vw; margin-bottom: 3.793vw; }
  .contentWrapper, .contentWrapper.small, .contentWrapper.smaller, .contentWrapper.smallest { padding: 0 6.897vw; }
  .hugeTitle { font-size: 17.241vw; line-height: 16vw; }
  .mediumTitle { font-size: 7.931vw; line-height: 8.966vw; }
  .normalTitle, .normalSmallTitle, .textTitle { font-size: 6.207vw; line-height: 7.242vw; }
  .textTitle.quote em { font-size: 5.2vw; line-height: 7.4vw; }
  .subTitle { font-size: 3.2vw; line-height: 4.827vw; }
  .smallTitle { font-size: 3.2vw; line-height: 4.8vw; }
  .textLink { line-height: 5.172vw; font-size: 2.9vw; letter-spacing: .345vw; }
  .button { font-size: 2.9vw; line-height: 4.828vw; padding: 3vw 5.172vw 2.4vw; border-radius: 6vw; letter-spacing: .3vw; }
  .buttons { gap: 2.759vw; }
  .arrowButton, .roundButton { width: 12.069vw; height: 12.069vw; }
  .arrowButton svg, .roundButton svg { width: 3.6vw; height: 3.6vw; }
  .icon { width: 4.6vw; height: 4.6vw; }
  header .innerHeader { height: 16vw; line-height: 16vw; }
  header.scrollDown:not(.open) .innerHeader { transform: translateY(-16vw); }
  header .topMenu { display: none; }
  header .left { width: 30%; padding-right: 0; }
  header .right { width: 70%; padding-left: 0; }
  header .logo { left: 6.897vw; transform: none; height: 16vw; }
  .js header:not(.animIn):not(.open) .logo { transform: translateY(-3vw); }
  header .logo a { font-size: 4.4vw; }
  header .cta { margin-right: 4.5vw; }
  header .langSelector, header .right .socials { display: none; }
  #hamburger { margin-right: 0; width: 6.897vw; height: 3.448vw; }
  #hamburger .bar:nth-child(2), #hamburger.active .bar { top: calc(1.724vw - 1px); }
  #hamburger .bar:nth-child(3) { top: calc(3.448vw - 2px); }
  .bigMenu .innerContainer { width: 100%; border-radius: 0; padding-top: 16vw; }
  .bigMenu .innerContent { padding: 6vw 6.897vw 12vw; max-height: calc(100vh - 16vw); }
  .bigMenu .menu.big a { font-size: 8vw; line-height: 10vw; padding-bottom: 1vw; }
  .bigMenu .menu:not(.big) { display: block; }
  .bigMenu .menu .innerMenu { width: 100%; display: block; margin-bottom: 4vw; }
  .bigMenu .menu .innerMenu li a { padding-bottom: 1.4vw; }
  .bigMenu .divider { margin: 4vw 0 6vw; }
  .bigMenu.active .divider { width: 20vw; }
  .bigMenu .contactInfo { margin-top: 4vw; }
  .bigMenu .languages { display: flex; gap: 6vw; margin-top: 8vw; text-transform: uppercase; }
  .bigMenu .languages button { padding: 2vw 0; color: #6f767c; }
  .bigMenu .languages button[aria-pressed="true"] { color: var(--ink); text-decoration: underline; text-underline-offset: 1.5vw; }
  .headerHomeBlock { height: 130vh; margin-bottom: 22.586vw; }
  .headerHomeBlock .titleWrapper .hugeTitle { line-height: 17vw; }
  .headerHomeBlock .buttons { margin-top: 10.345vw; }
  .headerHomeBlock .circle, .headerSmallBlock .circle { width: 62.068vw; }
  .headerHomeBlock .bottomContent { left: 6.897vw; bottom: 8vw; right: 6.897vw; }
  .headerHomeBlock .bottomContent .label { margin-left: 3.448vw; }
  .headerHomeBlock .scrollDown, .headerSmallBlock .scrollDown { width: 5.344vw; }
  .titleFillerTextButtonBlock { margin: 22.586vw 0; }
  .titleFillerTextButtonBlock .quoteWrapper { padding-right: 0; }
  .titleFillerTextButtonBlock .quoteWrapper .subTitle { position: relative; display: block; margin-bottom: 3.448vw; }
  .titleFillerTextButtonBlock .normalTitle small, .titleFillerTextBlock .normalTitle small { display: none; }
  .titleFillerTextButtonBlock .divider { margin: 6.897vw 0; }
  .titleFillerTextButtonBlock .innerCol:first-child { display: none; }
  .titleFillerTextButtonBlock .innerCol:last-child { width: 100%; padding-left: 0; }
  .titleFillerTextButtonBlock .buttons { margin-top: 6.897vw; }
  /* signature: phone slider (reference mobile pattern) */
  .eventsUpcomingBlock { margin: 22.586vw 0; }
  .eventsUpcomingBlock .topContent .contentWrapper { display: block; }
  .eventsUpcomingBlock .topContent .left, .eventsUpcomingBlock .topContent .right, .eventsUpcomingBlock .topContent .left .innerContent { width: 100%; }
  .eventsUpcomingBlock .topContent .normalSmallTitle { margin-top: 3.448vw; }
  .eventsUpcomingBlock .topContent .right { text-align: left; margin-top: 5.172vw; }
  .eventsUpcomingBlock .stickyContainer { padding: 0 !important; }
  .eventsUpcomingBlock .backgroundSlider { position: relative; height: 62vh; margin-top: 6.897vw; }
  .eventsUpcomingBlock .gradient.vertical { width: 15%; }
  .eventsUpcomingBlock .gradient.horizontal { height: 45%; }
  .eventsUpcomingBlock .gradient.horizontal.bottom { height: 70%; }
  .eventsUpcomingBlock .textGradientWrapper { display: none; }
  .eventsUpcomingBlock .slide img { object-position: 50% 45%; }
  .eventsUpcomingBlock .slide:nth-child(1) img { object-position: 50% 16%; }
  .eventsUpcomingBlock .slide:nth-child(3) img { object-position: 50% 55%; }
  .eventsUpcomingBlock .innerContainer { margin-top: -38vh !important; }
  .eventsUpcomingBlock .scrollContainer .contentWrapper { display: block; width: 100%; }
  .eventsUpcomingBlock .innerScrollerContainer { display: block; }
  .eventsUpcomingBlock .items { display: block; }
  .eventsUpcomingBlock .block, .eventsUpcomingBlock .block:first-child { width: 100% !important; padding-left: 0 !important; margin: 0 0 8vw !important; }
  .js .eventsUpcomingBlock.slider .items { position: relative; }
  .js .eventsUpcomingBlock.slider .block { position: absolute; left: 0; top: 0; opacity: 0; pointer-events: none; transform: translateX(-1.724vw); transition: opacity .3s ease-out, transform .3s ease-out; }
  .js .eventsUpcomingBlock.slider .block.active { position: relative; opacity: 1; pointer-events: auto; transform: none; }
  .eventsUpcomingBlock .intro { margin-bottom: 3vw; padding-bottom: 3vw; }
  .eventsUpcomingBlock .extraTitle { margin-bottom: 1.5vw; }
  .eventsUpcomingBlock .links { margin-top: 3vw; padding-top: 4vw; }
  .eventsUpcomingBlock .extraText { margin-top: 3vw; }
  .eventsUpcomingBlock.slider .mobileNav { display: flex; gap: 2.759vw; margin-top: 2vw; }
  .titleTextBlock { margin: 22.586vw 0; }
  .titleTextBlock .subTitle { margin-bottom: 3.448vw; }
  .titleTextBlock .cols { display: block; }
  .titleTextBlock .col:first-child, .titleTextBlock .col:last-child, .titleTextBlock .col:last-child.smaller { width: 100%; padding-left: 0; }
  .titleTextBlock .col:last-child { margin-top: 6.897vw; }
  .titleTextBlock .textTitle { max-width: 100%; }
  .titleTextBlock .link { margin-top: 5.172vw; }
  .eventTypeSliderBlock { margin: 22.586vw 0; }
  .eventTypeSliderBlock .sliders { margin-left: 0; width: auto; display: block; }
  .eventTypeSliderBlock .sliderWrapper { margin: 0 auto !important; width: 100%; transform: none !important; }
  .eventTypeSliderBlock .sliderWrapper:nth-child(2), .eventTypeSliderBlock .sliderWrapper:nth-child(3) { display: none; }
  .eventTypeSliderBlock .imageWrapper { padding-bottom: 100%; border-radius: 1.379vw; }
  .eventTypeSliderBlock .mediumTitle { margin-top: 5.172vw; }
  .eventTypeSliderBlock .text { margin-top: 2.931vw; }
  .eventTypeSliderBlock .textLink { margin-top: 6.897vw; }
  .eventTypeSliderBlock .navigatorWrapper { top: 43vw; left: 6.897vw; right: 6.897vw; }
  .eventTypeSliderBlock .arrowButton.prev { transform: translate(-30%, -50%); }
  .eventTypeSliderBlock .arrowButton.next { transform: translate(30%, -50%); }
  .gridScroller, .gridScroller.gridSwitch { }
  .gridScroller { grid-template-columns: repeat(3, 100vw); grid-template-rows: repeat(4, calc(50vh - 8vw)); row-gap: 16vw; column-gap: 18.75vw; }
  .gridScroller.gridSwitch { row-gap: 1.6vw; column-gap: 1.6vw; grid-template-columns: repeat(3, 30.5vw); grid-template-rows: repeat(4, calc(25vh - 4vw)); }
  .gridScroller .gridItem { border-radius: 1vw; }
  .reviewBlock { margin: 22.586vw 0; }
  .reviewBlock .quoteWrapper { max-width: 100%; }
  .reviewBlock .imageWrapper { height: 22.586vw; width: 22.586vw; margin-bottom: 5.172vw; }
  .reviewBlock .innerImage { height: 19.138vw; width: 19.138vw; }
  .reviewBlock .subTitle { margin-bottom: 5.172vw; }
  .reviewBlock .smallTitle { max-width: 100%; margin-top: 3.448vw; }
  .reviewBlock .second { max-width: 100%; margin-top: 6vw; }
  .reviewBlock .textLink { margin-top: 6.897vw; }
  .gridGalleryBlock { margin: 22.586vw 0; }
  .gridGalleryBlock .grid { height: 141.721vw; }
  .gridGalleryBlock .image { left: 0; top: 13.793vw; width: 71.723vw; border-radius: 1.724vw; }
  .gridGalleryBlock .image:nth-child(2) { left: auto; right: 0; top: 0; width: 40vw; }
  .gridGalleryBlock .image:nth-child(3) { right: 0; top: 66vw; width: 38.275vw; }
  .gridGalleryBlock .image:nth-child(4) { right: auto; left: 8vw; top: auto; bottom: 0; width: 44.138vw; }
  .gridGalleryBlock .image:nth-child(5) { right: 4vw; top: auto; bottom: 6vw; width: 32vw; }
  .gridGalleryBlock .image:nth-child(6) { display: none; }
  .galleryOverlay .counter { left: 5vw; top: 5vw; }
  .galleryOverlay .close { right: 5vw; top: 5vw; }
  .galleryOverlay .counter .current, .galleryOverlay .counter .length { width: 5vw; }
  footer.footer { margin-top: 24.138vw; padding-bottom: 24vw; }
  footer .topFooter .logo a { font-size: 5.5vw; }
  footer .topFooter .logo { margin-bottom: 3vw; }
  footer .cols { padding: 13.793vw 0 8.621vw; }
  footer .cols .col:last-child { display: block; }
  footer .subCol { width: 100%; margin-bottom: 6vw; }
  footer .subCol .subTitle { margin-bottom: 1.724vw; }
  footer .socials { gap: 5vw; margin-top: 4vw; }
  footer .visitMeta { margin-top: 5vw; }
  footer .visitMeta + .buttons { margin-top: 5vw; }
  footer .menuFooter { margin-bottom: 6vw; }
  footer .footerMenu ul { display: block; }
  footer .footerMenu .menuLink { margin-bottom: 1.724vw; }
  footer .footerMenu a { line-height: 6vw; }
  footer .bottomFooter { font-size: 3vw; line-height: 4.6vw; display: block; }
  footer .bottomFooter .left, footer .bottomFooter .right { width: 100%; text-align: left; }
  footer .bottomFooter .right { margin-top: 2vw; }
  .conceptToast { left: 4vw; right: 4vw; bottom: 4vw; max-width: none; font-size: 3.2vw; line-height: 4.6vw; padding: 3.5vw 4vw; border-radius: 2.5vw; gap: 3vw; }
  .conceptToast button { width: 7vw; height: 7vw; }
  .conceptToast button svg { width: 3vw; height: 3vw; }
  .headerSmallBlock { padding: 40vw 0 8vw; }
  .headerSmallBlock .cols { display: block; }
  .headerSmallBlock .col { width: 100%; }
  .headerSmallBlock .col:nth-child(2) { display: none; }
  .titleFillerTextBlock .contentWrapper { display: block; }
  .titleFillerTextBlock .col { width: 100%; }
  .titleFillerTextBlock .col:last-child { padding: 6vw 0 0; }
  .menuIndex { margin: -8vw 0 12vw; }
  .menuIndex ul { gap: 2vw 5vw; }
  .eventOverviewBlock { margin-bottom: 14vw; scroll-margin-top: 18vw; }
  .eventOverviewBlock .catHead { display: block; margin-bottom: 3vw; }
  .eventOverviewBlock .catHead .subTitle { text-align: left; max-width: none; margin-top: 1.5vw; }
  .eventOverviewBlock .event { padding: 3.5vw 0; }
  .eventOverviewBlock .innerRow { flex-wrap: wrap; }
  .eventOverviewBlock .dateCol { order: 2; width: auto; padding-right: 0; text-align: right; }
  .eventOverviewBlock .dateCol .subTitle { font-size: 3.6vw; }
  .eventOverviewBlock .dateCol .note { font-size: 2.6vw; }
  .eventOverviewBlock .typeCol { order: 3; width: 100%; font-size: 3vw; padding: 1vw 0 0 !important; }
  .eventOverviewBlock .titleCol { order: 1; padding-right: 3vw; }
  .eventOverviewBlock .titleCol .name { font-size: 4vw; line-height: 5.4vw; }
  .eventOverviewBlock .titleCol .desc { font-size: 3.1vw; line-height: 4.6vw; margin-top: 1vw; }
  .eventOverviewBlock .event:hover .dateCol, .eventOverviewBlock .event:hover .typeCol, .eventOverviewBlock .event:hover .titleCol { padding-left: 0; }
  .eventOverviewBlock .titleCol:before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { transition-duration: .01ms !important; transition-delay: 0s !important; animation: none !important; }
}
