/* sections/hero-header.css — preloader (.landing-screen), header (.header.st-header), full-screen menu (.module--menu-nav)
   and hero (.section--hero) of the live friendsseminary.org home page, transcribed from recon/homepage-loaded-rules.css
   (global.css + inline; Legacy/homepage.css contributes nothing here). Values are verbatim; px in comments are the
   resolved values at 1440x900 (root 16px). Structure (clone ids kept: #header, #menu-toggle, #menu, #top):
     div.landing-screen > div.landing-screen--container > span.mask + img.border_img + img.simple_img
     header.header.st-header > .module--header > .grid-colomn > .module--header-logo + .module--nav-btn (flex item, z 55)
       (.module--cta-items > .cta-items_list > ul.cta-buttons ; .module--nav-bar > .menu-bar--items > button.btn-open-nav)
     header.header.st-header > div.module--menu-nav#menu (fixed, z 50 INSIDE the header's stacking context, as on the live
       page: the burger and CTA links stay above the open panel, and the panel inherits the sticky header's pointer-events
       none, hence the many "pointer-events: all" rules) > .grid-colomn_menu > .module--right-menu (nav.menu_links-list >
       ul.first-level …) + .module--left-menu (search, promos swiper, key links, address, social)
     div.hero-pin#top > section.hero.section--hero > .hero__inner > .hero__mediaContent (photo/video, .video-controls,
                        h1.hero__mediaContent-title) + button.item--scroll-down#nextSection
                      > .welcome (= live .module--sections-contaner, the panel the pin tween slides up)
   Colours: #bf1d24 deep red, #d6262d red, #f0efe7 cream, #ebe9e1 cream-dark, #607c9d blue, #ffb56c peach,
   #f4973b orange (mobile burger), #545454 charcoal, #95897d stone, #7e7e7e, #7aa0cc (CTA hover), #de2b32 (search hover).
   Icons: the live uses a private icon font (global-icons); here every glyph is an inline SVG mask, sized with the same
   font-size/em values and coloured with currentColor so the live colour transitions still apply. */

/* ===== 0. root / html / body (live global.css) ===== */
html { --htmlBase: 100%; font-size: var(--htmlBase); overflow: hidden scroll; }          /* live: html scrolls, body does not */
@media only screen and (min-width: 1921px) { html { --htmlBase: calc(100% + 0.2vw); } }
body { --windowHeight: 100vh; --windowDynamicHeight: 100vh; overflow: hidden; }
@supports (height: 100svh) { body { --windowHeight: 100svh; --windowDynamicHeight: 100svh; } }
html.no-touch body { --windowHeight: var(--windowDynamicHeight) !important; }              /* live: JS never overwrites it → 100svh */
@media (max-width: 991px) { body { padding-top: 3.4375rem; } }                            /* live global.css: room for the fixed 55px CTA bar (.js_fixed-cta) */
.sr-only { clip: rect(0, 0, 0, 0) !important; border: 0 !important; height: 1px !important; margin: -1px !important; overflow: hidden !important; padding: 0 !important; position: absolute !important; width: 1px !important; }
html.js_open-nav { overflow: hidden; }                                                    /* menu open: page cannot scroll */
html.js_open-nav.increase-padding { padding-right: 0.9375rem; }                           /* compensates the vanished scrollbar */
/* live: html:not(:has(body.loaded-no-anim)):not(:has(body.loaded)) { overflow: hidden } — scoped to pages that have the preloader */
html:has(.landing-screen):not(:has(body.loaded-no-anim)):not(:has(body.loaded)) { overflow: hidden; }

/* icon masks shared by the section (live: global-icons font glyphs) */
.header, .module--menu-nav, .section--hero, .cta-items_list {
  --icon-close: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4l16 16M20 4L4 20' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-arrow-right: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 12h17M13 5l7 7-7 7' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-arrow-left: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12H4M11 5l-7 7 7 7' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-chevron: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 3l9 9-9 9' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --icon-plus: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v18M3 12h18' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E");
  --icon-minus: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 4'%3E%3Cpath d='M2 2h20' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E");
  /* video controls, traced from the live global-icons glyphs (viewBox units = 0.01em; the ::before box takes the glyph's advance) */
  --icon-sound-off: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 139.5 100'%3E%3Crect x='0' y='28' width='33' height='44' rx='4' fill='%23000'/%3E%3Cpath d='M40.7 23L73 0h3.5v100H73L40.7 77z' fill='%23000'/%3E%3Cpath d='M96 32l36 40M132 32l-36 40' fill='none' stroke='%23000' stroke-width='11' stroke-linecap='round'/%3E%3C/svg%3E");   /* U+E911: 1.395em x 1em */
  --icon-sound-on: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 141.5 100'%3E%3Crect x='0' y='28' width='33' height='44' rx='4' fill='%23000'/%3E%3Cpath d='M40.7 23L73 0h3.5v100H73L40.7 77z' fill='%23000'/%3E%3Cpath d='M85.4 19.6A43 43 0 0 1 85.4 80.4M125.1 9.5A81 81 0 0 1 125.1 90.5' fill='none' stroke='%23000' stroke-width='11' stroke-linecap='round'/%3E%3C/svg%3E");   /* U+E910: 1.415em x 1em, two arcs centred on the cone */
  --icon-pause: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 73.5 100'%3E%3Cpath d='M0 0h25.5v100H0zM48 0h25.5v100H48z' fill='%23000'/%3E%3C/svg%3E");   /* U+E912: 0.735em x 1em, two full-height bars */
  --icon-play: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 100'%3E%3Cpath d='M3 3.5L86 50 3 96.5z' fill='%23000' stroke='%23000' stroke-width='6' stroke-linejoin='round'/%3E%3C/svg%3E");   /* U+E913: 0.9em x 0.985em triangle */
  /* hero scroll-down arrow (live global-icons U+E90E, advance 1.54em): 0.171em shaft, blunt tip, arms curving back to 0.15em-wide flat ends */
  --icon-scroll-arrow: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 154 100'%3E%3Cpath d='M0 41.5H120L115 38 110.7 34 107 30 103.5 26 100.8 22 98.3 18 96 14 94 10 92.5 6 91 2 90.5 0H105.5L107.3 4 109 8 111.5 12 114.3 16 117.3 20 121 24 125.5 28 131 32 138.3 36 149.2 40 154 42V58L149.2 60 138.3 64 131 68 125.5 72 121 76 117.3 80 114.3 84 111.5 88 109 92 107.3 96 105.5 100H90.5L91 98 92.5 94 94 90 96 86 98.3 82 100.8 78 103.5 74 107 70 110.7 66 115 62 120 58.5H0z' fill='%23000'/%3E%3C/svg%3E");
  --icon-location: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 00-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 00-7-7zm0 9.6a2.6 2.6 0 110-5.2 2.6 2.6 0 010 5.2z' fill='%23000'/%3E%3C/svg%3E");
  --icon-phone: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 006.6 6.6l2.2-2.2a1 1 0 011-.25c1.1.37 2.3.57 3.6.57a1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.45.57 3.57a1 1 0 01-.25 1z' fill='%23000'/%3E%3C/svg%3E");
  --icon-facebook: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8h2.7l.4-3.2h-3.1V8.8c0-.9.3-1.6 1.6-1.6h1.7V4.4c-.3 0-1.3-.1-2.5-.1-2.5 0-4.1 1.5-4.1 4.2v2.3H7.4V14h2.8v8z' fill='%23000'/%3E%3C/svg%3E");
  --icon-instagram: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7.3a4.7 4.7 0 100 9.4 4.7 4.7 0 000-9.4zm0 7.7a3 3 0 110-6 3 3 0 010 6zm5.9-7.9a1.1 1.1 0 11-2.2 0 1.1 1.1 0 012.2 0zM12 2c-2.7 0-3 0-4.1.1-3.3.1-5.7 2.4-5.8 5.8C2 9 2 9.3 2 12s0 3 .1 4.1c.1 3.3 2.4 5.7 5.8 5.8C9 22 9.3 22 12 22s3 0 4.1-.1c3.3-.1 5.7-2.4 5.8-5.8.1-1.1.1-1.4.1-4.1s0-3-.1-4.1c-.1-3.3-2.4-5.7-5.8-5.8C15 2 14.7 2 12 2zm0 1.8c2.7 0 3 0 4 .1 2.5.1 3.9 1.4 4 4 .1 1 .1 1.3.1 4s0 3-.1 4c-.1 2.5-1.5 3.9-4 4-1 .1-1.3.1-4 .1s-3 0-4-.1c-2.5-.1-3.9-1.5-4-4-.1-1-.1-1.3-.1-4s0-3 .1-4c.1-2.5 1.5-3.9 4-4 1-.1 1.3-.1 4-.1z' fill='%23000'/%3E%3C/svg%3E");
  --icon-youtube: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23 7.2a2.9 2.9 0 00-2-2C19.2 4.7 12 4.7 12 4.7s-7.2 0-9 .5a2.9 2.9 0 00-2 2A30 30 0 00.5 12a30 30 0 00.5 4.8 2.9 2.9 0 002 2c1.8.5 9 .5 9 .5s7.2 0 9-.5a2.9 2.9 0 002-2 30 30 0 00.5-4.8 30 30 0 00-.5-4.8zM9.7 15V9l6 3-6 3z' fill='%23000'/%3E%3C/svg%3E");
  --icon-linkedin: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.4 2H3.6A1.6 1.6 0 002 3.6v16.8A1.6 1.6 0 003.6 22h16.8a1.6 1.6 0 001.6-1.6V3.6A1.6 1.6 0 0020.4 2zM8 19H5V9.5h3zM6.5 8.2a1.7 1.7 0 110-3.4 1.7 1.7 0 010 3.4zM19 19h-3v-4.6c0-1.1 0-2.5-1.5-2.5s-1.8 1.2-1.8 2.4V19h-3V9.5h2.9v1.3a3.2 3.2 0 012.9-1.6c3 0 3.6 2 3.6 4.6z' fill='%23000'/%3E%3C/svg%3E");
  /* live --customSearch: a white magnifier, 21.935x21.916 */
  --customSearch: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Ccircle cx='9.3' cy='9.2' r='7.8' fill='none' stroke='%23fff' stroke-width='2.4'/%3E%3Cpath d='M15 15l6 6' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E");
  /* live --curvyMask (red lip over the mobile hero video) — same simple curve, red #d6262d */
  --curvyMask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none'%3E%3Cpath d='M0 150c360 150 1080 150 1440 0v170H0z' fill='%23D6262D'/%3E%3C/svg%3E");
}
/* live .global-icons { font-family: global-icons; font-style: normal; line-height: 1 } → a 1em mask box coloured by currentColor */
.header .global-icons, .module--menu-nav .global-icons, .section--hero .global-icons, .module--menu-nav .social-icon { font-style: normal; font-weight: 400; line-height: 1; }
.header .global-icons::before, .module--menu-nav .global-icons::before, .section--hero .global-icons::before, .module--menu-nav .social-icon::before {
  content: ""; display: inline-block; width: 1em; height: 1em; vertical-align: middle; background-color: currentColor;
  -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.global-simple-arrow-icon, .global-right-arrow-icon { --icon: var(--icon-arrow-right); }
.global-left-arrow-icon { --icon: var(--icon-arrow-left); }
.global-close-icon { --icon: var(--icon-close); }
.global-location-icon { --icon: var(--icon-location); }
.global-phone-call-icon { --icon: var(--icon-phone); }
.global-plus-icon { --icon: var(--icon-plus); }
.global-minus-icon { --icon: var(--icon-minus); }
.social-facebook-icon { --icon: var(--icon-facebook); }
.social-instagram-icon { --icon: var(--icon-instagram); }
.social-youtube-icon, .social-vimeo-icon { --icon: var(--icon-youtube); }
.social-linkedin-icon { --icon: var(--icon-linkedin); }

/* ===== 1. Preloader .landing-screen (live L239-L261) ===== */
.landing-screen { background-color: rgb(191, 29, 36); inset: 0; clip-path: circle(100%); height: 100%; overflow: hidden; position: fixed; transition: 1.5s ease-in-out 1.5s; width: 100%; z-index: 999999; }
.landing-screen::after, .landing-screen::before { inset: 0; content: ""; display: block; position: absolute; transition: 1s ease-in-out; }
.landing-screen::before { background-color: rgb(255, 255, 255); clip-path: circle(100%); transition: 1s ease-in-out 0.04s; z-index: 0; }
.landing-screen::after { background-color: rgb(191, 29, 36); clip-path: circle(75%); transition: 1s ease-in-out 0.03s; z-index: 1; }
.landing-screen .landing-screen--container { position: absolute; inset: 0; }
.landing-screen .landing-screen--container::after, .landing-screen .landing-screen--container::before { inset: 0; content: ""; display: block; position: absolute; transition: 1s ease-in-out; }
.landing-screen .landing-screen--container::before { background-color: rgb(96, 124, 157); clip-path: circle(80%); transition: 1s ease-in-out 0.02s; z-index: 2; }   /* blue */
.landing-screen .landing-screen--container::after { background-color: rgb(255, 181, 108); clip-path: circle(75%); transition: 1s ease-in-out 0.01s; z-index: 3; }    /* peach */
.landing-screen .landing-screen--container .mask { background-color: rgb(214, 38, 45); inset: 0; clip-path: circle(72%); display: block; position: absolute; transition: 1s ease-in-out; z-index: 4; }   /* top-most fill */
.landing-screen .landing-screen--container img { border-radius: 50%; height: 10rem; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); transition: transform 1.2s ease-in-out, opacity 0.5s ease-in-out; width: 10rem; z-index: 10;
  /* NDC: the wide college logo sits on a white 160px disc (their two 160px logo discs are not used) */
  background: #fff; object-fit: contain; padding: 0 1rem; max-width: none; }
.landing-screen .landing-screen--container img.simple_img { opacity: 0; transform: translate(-50%, -50%) rotate(25deg) scale(2); }
.landing-screen .landing-screen--container img.border_img { transform: translate(-50%, -50%) rotate(0deg) scale(0); z-index: 9; }   /* live: their logo-circle.png, no box-shadow — the ring is not drawn here either */
@media (max-width: 767px) { .landing-screen .landing-screen--container img { height: 8.125rem; width: 8.125rem; } }
/* body.animateLandingScreen @ ready+100ms: every ring collapses to the centre (1s, staggered 10ms), the plain logo settles in */
body.animateLandingScreen .landing-screen .landing-screen--container .mask, body.animateLandingScreen .landing-screen .landing-screen--container::after, body.animateLandingScreen .landing-screen .landing-screen--container::before, body.animateLandingScreen .landing-screen::after, body.animateLandingScreen .landing-screen::before { clip-path: circle(0px); }
body.animateLandingScreen .landing-screen .landing-screen--container img.simple_img { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.9); }
/* body.loaded @ ready+1500ms: the red base collapses (1.5s after a 1.5s delay → 3000-4500ms), the ringed logo pops in */
body.loaded .landing-screen { clip-path: circle(0px); }
body.loaded .landing-screen .landing-screen--container img.simple_img { transform: translate(-50%, -50%) rotate(0deg) scale(0.95); }
body.loaded .landing-screen .landing-screen--container img.border_img { transform: translate(-50%, -50%) rotate(0deg) scale(1); }
/* body.loaded-no-anim @ ready+0ms (cookie preloader-shown present): everything collapses at once */
body.loaded-no-anim .landing-screen, body.loaded-no-anim .landing-screen .landing-screen--container .mask, body.loaded-no-anim .landing-screen .landing-screen--container::after, body.loaded-no-anim .landing-screen .landing-screen--container::before, body.loaded-no-anim .landing-screen::after, body.loaded-no-anim .landing-screen::before { clip-path: circle(0px); }
body.loaded-no-anim .landing-screen .landing-screen--container img.simple_img { opacity: 1; transform: translate(-50%, -50%) rotate(0deg) scale(0.95); }
body.loaded-no-anim .landing-screen .landing-screen--container img.border_img { transform: translate(-50%, -50%) rotate(0deg) scale(1); }

/* ===== 2. Hero (live L262-L302) — .hero-pin = live .module--hero-contaner (no rules of its own; GSAP adds the pin-spacer) ===== */
.hero-pin { position: relative; height: auto; overflow: visible; }                       /* undoes the old clone rule (100dvh, overflow hidden) */
.hero-pin .section--hero { height: calc(var(--windowHeight) - 3rem); overflow: hidden; position: relative; inset: auto; color: #fff; }
@media (max-width: 991px) { .hero-pin .section--hero { height: calc(var(--windowHeight) - 6.25rem); } }
@media (max-width: 767px) { .hero-pin .section--hero { height: calc(var(--windowHeight) - 9.6875rem); } }
body.js_live-ticker-empty .hero-pin .section--hero { height: var(--windowHeight); }       /* the home page state: no live ticker → 100svh (900px) */
@media (max-width: 991px) { body.js_live-ticker-empty .hero-pin .section--hero { height: calc(var(--windowHeight) - 6.75rem); } }
.section--hero::before { background: linear-gradient(1turn, transparent, rgb(0, 0, 0)) transparent; content: ""; display: block; height: 40%; left: 0; opacity: 0.84; pointer-events: none; position: absolute; top: 0; width: 100%; z-index: 2; }   /* black at the top edge */
@media (max-width: 767px) { .section--hero::before { opacity: 0.76; } }
.section--hero::after { background: linear-gradient(transparent, rgb(0, 0, 0)) transparent; bottom: 0; content: ""; display: block; height: 60%; left: 0; opacity: 0.37; pointer-events: none; position: absolute; width: 100%; z-index: 2; }
@media (max-width: 767px) { .section--hero::after { display: none; } }
.section--hero .hero__inner { height: 100%; width: 100%; }
.section--hero .hero__inner .hero__mediaContent { height: 100%; overflow: hidden; position: relative; }
@media (max-width: 767px) { .section--hero .hero__inner .hero__mediaContent { display: flex; flex-direction: column; } }
.section--hero .hero__inner .hero__mediaContent video, .section--hero .hero__inner .hero__mediaContent img.hero__photo { height: 100%; object-fit: cover; width: 100%; max-width: none; display: block; }   /* the clone's photo takes the video's box */
@media (max-width: 767px) { .section--hero .hero__inner .hero__mediaContent video, .section--hero .hero__inner .hero__mediaContent img.hero__photo { display: block; flex: 7 1 0%; min-height: 30rem; position: static; } }
@media (max-width: 991px) { body.js_live-ticker-empty .section--hero .hero__inner .hero__mediaContent video, body.js_live-ticker-empty .section--hero .hero__inner .hero__mediaContent img.hero__photo { flex: 7 1 0%; min-height: 32.5rem; } }
@media (max-width: 767px) and (max-height: 799px) {
  .section--hero .hero__inner .hero__mediaContent video, .section--hero .hero__inner .hero__mediaContent img.hero__photo { min-height: 26.875rem; }
  body.js_live-ticker-empty .section--hero .hero__inner .hero__mediaContent video, body.js_live-ticker-empty .section--hero .hero__inner .hero__mediaContent img.hero__photo { min-height: 30rem; } }
@media (max-width: 767px) and (max-height: 750px) {
  .section--hero .hero__inner .hero__mediaContent video, .section--hero .hero__inner .hero__mediaContent img.hero__photo { min-height: 19.375rem; }
  body.js_live-ticker-empty .section--hero .hero__inner .hero__mediaContent video, body.js_live-ticker-empty .section--hero .hero__inner .hero__mediaContent img.hero__photo { min-height: 22.1875rem; } }

/* ===== 3. Video controls (live L303-L322): two 52.27px discs at bottom 30px / right 130px ===== */
.section--hero .hero__inner .hero__mediaContent .video-controls { bottom: 1.875rem; position: absolute; right: 8.125rem; z-index: 5; }
@media (max-width: 767px) { .section--hero .hero__inner .hero__mediaContent .video-controls { inset: 10.9375rem auto auto; display: flex; flex-direction: column; } }   /* top 175px, left 0, stacked */
.section--hero .hero__inner .hero__mediaContent .video-controls .video-btn { background-color: rgba(255, 255, 255, 0.114); border: 0; border-radius: 50%; cursor: pointer; padding: 0; display: inline-flex; align-items: center; justify-content: center; height: clamp(2.8125rem, 2.29327rem + 1.08173vw, 3.375rem); transition: 0.3s ease-in-out; width: clamp(2.8125rem, 2.29327rem + 1.08173vw, 3.375rem); }
@media (max-width: 767px) { .section--hero .hero__inner .hero__mediaContent .video-controls .video-btn { background-color: rgba(0, 0, 0, 0.36); } }
.section--hero .hero__inner .hero__mediaContent .video-controls .video-btn.btn-mute { margin-right: 0.625rem; }
.section--hero .hero__inner .hero__mediaContent .video-controls .video-btn::before { content: ""; display: block; width: 1em; height: 1em; background-color: rgb(255, 255, 255); font-size: clamp(1.125rem, 0.894231rem + 0.480769vw, 1.375rem); transition: 0.3s ease-in-out; -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }   /* 21.2px font; the live glyph ink is 1em tall and as wide as its advance (widths below) */
.section--hero .hero__inner .hero__mediaContent .video-controls .video-btn.btn-mute::before { --icon: var(--icon-sound-off); width: 1.395em; }   /* live U+E911: 29.6 x 21.2px */
.section--hero .hero__inner .hero__mediaContent .video-controls .video-btn.btn-mute.js_mute::before { --icon: var(--icon-sound-on); width: 1.415em; }   /* .js_mute = sound ON; live U+E910: 30 x 21.2px */
@media (max-width: 767px) { .section--hero .hero__inner .hero__mediaContent .video-controls .video-btn.btn-mute { border-radius: 0 0.4375rem 0 0; margin-right: 0; } }
.section--hero .hero__inner .hero__mediaContent .video-controls .video-btn.btn-play::before { --icon: var(--icon-pause); width: 0.735em; }   /* live U+E912: 15.6 x 21.3px */
.section--hero .hero__inner .hero__mediaContent .video-controls .video-btn.btn-play.js_pause::before { --icon: var(--icon-play); width: 0.9em; height: 0.985em; margin-left: 0.3125rem; }   /* live U+E913: 19.1 x 20.9px; padding-left .3125rem on the glyph */
@media (max-width: 767px) { .section--hero .hero__inner .hero__mediaContent .video-controls .video-btn.btn-play { border-radius: 0 0 0.4375rem; } }
html.no-touch .section--hero .hero__inner .hero__mediaContent .video-controls .video-btn:hover { background-color: rgb(96, 124, 157); }

/* ===== 4. Strapline h1 (live L323-L346) — transparent, NO reveal animation; one span per word ===== */
.section--hero .hero__inner .hero__mediaContent-title { bottom: 0; left: 0; padding: 1.5625rem 1.5625rem 2.5rem; position: absolute; z-index: 5; margin: 0; background: transparent; font-weight: 700; line-height: 1; }   /* 607x260 at 1440 */
@media (max-width: 767px) { .section--hero .hero__inner .hero__mediaContent-title { background: rgb(214, 38, 45); flex: 3 1 0%; padding: 0.3125rem 0.3125rem 5rem; position: relative; } }
@media (max-width: 767px) { .section--hero .hero__inner .hero__mediaContent-title::before { background-image: var(--curvyMask); background-position: 50% center; background-repeat: no-repeat; background-size: cover; bottom: 99%; content: ""; height: 4.6875rem; left: 0; pointer-events: none; position: absolute; width: 100%; } }   /* red curvy lip over the photo */
@media (max-width: 767px) and (min-height: 900px) { .section--hero .hero__inner .hero__mediaContent-title { flex: 1.5 1 0%; } }
.section--hero .hero__inner .hero__mediaContent-title--lines { display: block; margin: 0 auto; max-width: max-content; white-space: nowrap; }
.section--hero .hero__inner .hero__mediaContent-title--lines span { color: rgb(255, 255, 255); font-family: var(--font-display, "EB Garamond", serif); font-size: clamp(3.625rem, 2.73214rem + 4.46429vw, 4.875rem); font-weight: 700; letter-spacing: clamp(-0.10875rem, -0.00317308rem - 0.219952vw, -0.223125rem); line-height: 1; }   /* letter-spacing resolves to -1.74px (min > max) */
@media (min-width: 768px) { .section--hero .hero__inner .hero__mediaContent-title--lines span { font-size: clamp(3.625rem, 0.105769rem + 7.33173vw, 7.4375rem); } }   /* 107.27px at 1440 */
.section--hero .hero__inner .hero__mediaContent-title--lines span:first-child { display: block; margin-bottom: -1.25rem; }
@media (max-width: 1200px) { .section--hero .hero__inner .hero__mediaContent-title--lines span:first-child { margin-bottom: -0.625rem; } }
.section--hero .hero__inner .hero__mediaContent-title--lines span:nth-child(2) { font-family: var(--font-ui, "brandon-grotesque", sans-serif); font-size: clamp(1.4375rem, 1.30357rem + 0.669643vw, 1.625rem); letter-spacing: clamp(0.14375rem, 0.00528846rem + 0.288462vw, 0.29375rem); padding-left: 1.25rem; padding-right: 0.625rem; text-transform: uppercase; vertical-align: 0.125rem; }
@media (min-width: 768px) { .section--hero .hero__inner .hero__mediaContent-title--lines span:nth-child(2) { font-size: clamp(1.4375rem, 0.0528846rem + 2.88462vw, 2.9375rem); } }   /* 42.38px, tracking 4.24px at 1440 */
@media (max-width: 767px) { .section--hero .hero__inner .hero__mediaContent-title--lines span:nth-child(2) { padding-left: 0.625rem; padding-right: 0; } }
.section--hero .hero__inner .hero__mediaContent-title--lines span:nth-child(3) { vertical-align: middle; }

/* ===== 5. Scroll-down arrow (live L348-L356, keyframes L65-L80) ===== */
.section--hero .item--scroll-down { background: transparent; border: 0; padding: 0; bottom: 2.5rem; color: rgb(255, 255, 255); cursor: pointer; font-size: clamp(1.5rem, 0.576923rem + 1.92308vw, 2.5rem); position: absolute; right: 2.5rem; transform: rotate(90deg); transition: color 0.3s ease-in-out; z-index: 5; line-height: 1; }   /* 36.9px at 1440 */
.section--hero .item--scroll-down .global-icons { animation: 1s ease-in-out 0s infinite alternate none running bounce; display: block; }
.section--hero .item--scroll-down .global-icons { --icon: var(--icon-scroll-arrow); }
.section--hero .item--scroll-down .global-icons::before { display: block; width: 1.54em; height: 1em; }   /* live glyph U+E90E: advance 1.54em → 56.86 x 36.92px box at 1440, rotated rect 36.9 x 56.9 at 1353,813 */
@media (max-width: 767px) { .section--hero .item--scroll-down .global-icons { animation: 1s ease-in-out 0s infinite alternate none running mobile-bounce; } }
html.no-touch .section--hero .item--scroll-down:hover { color: rgb(255, 181, 108); }
html.no-touch .section--hero .item--scroll-down:hover .global-icons { animation-play-state: paused; }
@media (max-width: 767px) { .section--hero .item--scroll-down { bottom: 1.875rem; color: rgb(255, 181, 108); left: 50%; right: auto; transform: translateX(-50%) rotate(90deg); } }
@keyframes bounce { 0% { transform: translateX(0); } 100% { transform: translateX(0.625rem); } }          /* rotated 90°, so it bobs down 10px */
@keyframes mobile-bounce { 0% { transform: translateX(0); } 100% { transform: translateX(0.1875rem); } }

/* ===== 6. Sliding panel initial state (live .module--sections-contaner, the element the pin tween moves) =====
   Defined once, in sections/welcome.css: `.welcome` ≥993px absolute / translateY(115%) / z 10, ≤992px static, and the pre-JS
   line-height 1.6 / 2.3 + translateY(7.5rem) on .welcome__title / .welcome__text. sections/hero-header.js (welcomeFloatAnimation)
   tweens exactly those elements. */

/* ===== 7. Header (live L954-L1054) ===== */
.header { padding: 2rem; position: absolute; inset: auto; display: block; color: #fff; pointer-events: auto; transition: 0.5s ease-in-out; width: 100%; z-index: 50; }   /* 1440x169; live sets no top/left: the header keeps its static position (55px under the mobile CTA bar) */
@media (max-width: 991px) { .header { padding: 0.9375rem; } }
@media (min-width: 992px) { .homepage .header { position: fixed; } }
@media (min-width: 992px) { .homepage.js_sticky-nav .header, .homepage.js_sticky-nav .header > * { pointer-events: none; } }   /* scrolled: click-through except the burger/CTA below */
html.js_open-nav .js_sticky-nav .header { position: fixed; }
html.js_open-nav .js_sticky-nav .header .module--header-logo { visibility: hidden; }
.header .module--header { position: relative; }
.header .module--header .grid-colomn { align-items: flex-start; display: flex; flex-wrap: wrap; justify-content: space-between; position: relative; }
@media (min-width: 992px) { html.increase-padding .header .module--header .grid-colomn { padding-right: 0.9375rem; } }
.header .module--header .grid-colomn .module--header-logo { flex: 0 0 30%; max-width: 30%; }
@media (max-width: 991px) { .header .module--header .grid-colomn .module--header-logo { flex: 0 0 65%; max-width: 65%; } }
.header .module--header .grid-colomn .module--header-logo .header-logo { display: block; height: clamp(5rem, 3.32692rem + 3.48558vw, 6.8125rem); max-width: clamp(13.6875rem, 9.24519rem + 9.25481vw, 18.5rem); width: 100%; padding: 0; }   /* 103.42 x 281.19 px at 1440; live: no background, radius or shadow — the logo art sits straight on the photo */
.header .module--header .grid-colomn .module--header-logo .header-logo img { height: 100%; object-fit: contain; width: 100%; max-width: none; display: inline; }   /* live L974: an inline img (styles.css makes every img block) */
.header .module--header .grid-colomn .module--nav-btn { align-items: flex-start; display: flex; flex: 0 0 70%; justify-content: flex-end; max-width: 70%; pointer-events: none; z-index: 55; }
@media (max-width: 991px) { .header .module--header .grid-colomn .module--nav-btn { flex: 0 0 35%; max-width: 35%; } }
.header .module--header .grid-colomn .module--nav-btn .module--cta-items { pointer-events: all; display: block; margin: 0; }
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items { padding-left: clamp(1.5625rem, 0.697115rem + 1.80288vw, 2.5rem); pointer-events: all; }   /* 37.1px */

/* CTA links (one "Apply" link in the clone) */
.cta-items_list { align-items: center; display: flex; justify-content: flex-start; margin-top: 0.8125rem; }
@media (max-width: 991px) { .cta-items_list { display: none; } }
.cta-items_list.js_fixed-cta { align-items: center; background: rgb(214, 38, 45); box-shadow: rgba(0, 0, 0, 0.16) 0 3px 16px; display: flex; justify-content: center; left: 0; margin-top: 0; min-height: 3.4375rem; padding: 0.9375rem 0.625rem; position: fixed; top: 0; width: 100%; z-index: 55; }   /* ≤991: JS moves the list here */
.cta-items_list .cta-buttons { align-items: center; display: flex; justify-content: flex-start; list-style: none; margin: 0; padding: 0; }
.cta-items_list .cta-buttons li { line-height: 1.45; padding: 0.3125rem 0.8125rem; position: relative; }
@media (max-width: 991px) { .cta-items_list .cta-buttons li { line-height: 1; padding: 0 0.8125rem; }  .cta-items_list .cta-buttons li:first-child { padding-left: 0; } }
/* live: li:last-child is the Login item with rules either side; the clone's single Apply link stays plain, so the rule needs a sibling */
@media (min-width: 992px) { .cta-items_list .cta-buttons li:last-child:not(:first-child) { margin-left: 0.8125rem; margin-right: 0.8125rem; padding-left: 1.625rem; padding-right: 1.625rem; }
  .cta-items_list .cta-buttons li:last-child:not(:first-child)::after, .cta-items_list .cta-buttons li:last-child:not(:first-child)::before { background-color: rgba(255, 255, 255, 0.243); content: ""; height: 100%; left: 0; position: absolute; top: 50%; transform: translateY(-50%); width: 0.125rem; }
  .cta-items_list .cta-buttons li:last-child:not(:first-child)::after { left: auto; right: 0; }
  .js_open-nav .cta-items_list .cta-buttons li:last-child:not(:first-child)::after, .js_open-nav .cta-items_list .cta-buttons li:last-child:not(:first-child)::before { background-color: rgb(149, 137, 125); opacity: 0.43; } }
.cta-items_list .cta-buttons li a { align-items: flex-start; color: rgb(255, 255, 255); display: flex; font-family: var(--font-ui, "brandon-grotesque", sans-serif); font-size: 0.9375rem; font-weight: 700; justify-content: flex-start; letter-spacing: 0.09375rem; text-decoration: none; text-shadow: rgba(0, 0, 0, 0.3) 0 0.0625rem 0.125rem; text-transform: uppercase; transition: color 0.3s ease-out; }   /* 15px, tracking 1.5px */
@media (max-width: 991px) { .cta-items_list .cta-buttons li a { text-shadow: none; } }
.cta-items_list .cta-buttons li a span { word-break: break-word; }
.cta-items_list .cta-buttons li a .global-icons, .cta-items_list .cta-buttons li a span { transition: 0.3s ease-in-out; }
.cta-items_list .cta-buttons li a .global-icons { display: block; font-size: 0.9375rem; line-height: 1.3; opacity: 0.7; padding-right: 0.3125rem; }
html.no-touch .cta-items_list .cta-buttons li a:hover { color: rgb(122, 160, 204); }
@media (min-width: 992px) { .js_open-nav .cta-items_list .cta-buttons li a { color: rgb(84, 84, 84); text-shadow: none; }
  .js_open-nav .cta-items_list .cta-buttons li a:hover .global-icons, .js_open-nav .cta-items_list .cta-buttons li a:hover span { color: rgb(214, 38, 45); opacity: 1; } }
.js_open-nav .cta-items_list .cta-buttons li a .global-icons { color: rgb(84, 84, 84); opacity: 1; }

/* ===== 8. MENU button .btn-open-nav (live L980-L1022) ===== */
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav { background: transparent; border: none; padding: 0; margin: 0; margin-top: -0.625rem; min-height: 7.1875rem; position: relative; width: clamp(4.5rem, 3.57692rem + 1.92308vw, 5.5rem); color: #fff; display: block; gap: 0; }   /* 84.92 x 115 px; live: cursor default here, only .burger-menu_item is pointer */
@media (min-width: 992px) { .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav { align-items: center; display: flex; flex-direction: column; justify-content: flex-end; } }
@media (max-width: 1250px) { .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav { margin-top: 0; min-height: 6.25rem; } }
@media (max-width: 991px) { .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav { margin-top: 0; min-height: 4.6875rem; } }
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item { align-items: center; background-color: rgb(214, 38, 45); border-radius: 50%; box-shadow: rgba(0, 0, 0, 0.16) 0 3px 16px; cursor: pointer; display: flex; flex-direction: column; height: clamp(4.5rem, 3.57692rem + 1.92308vw, 5.5rem); justify-content: center; overflow: hidden; position: absolute; right: 0; top: 0; width: clamp(4.5rem, 3.57692rem + 1.92308vw, 5.5rem); transform: none; transition: none; }
body.js_sticky-nav .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item { position: fixed; right: clamp(0.9375rem, -0.0432692rem + 2.04327vw, 2rem); top: 1.375rem; }   /* right 28.7px, top 22px at 1440 */
@media (min-width: 992px) { html.increase-padding body.js_sticky-nav .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item { margin-right: 0.825rem; } }
@media (max-width: 991px) { .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item { background-color: rgb(244, 151, 59); }
  body.js_sticky-nav .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item { top: 4.375rem; } }
/* hover ripple: fills grow circle(0) → circle(100%): white .5s, peach +.01s, blue +.02s, red +.1s on top; leave: shrink .4s ease-out */
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item::after { background-color: rgb(214, 38, 45); inset: 0; clip-path: circle(0px); content: ""; position: absolute; transition: 0.4s ease-out; z-index: 0; }
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .mask { background-color: rgb(255, 255, 255); inset: 0; clip-path: circle(0px); overflow: hidden; position: absolute; transition: 0.4s ease-out 0.06s; z-index: 0; }
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .mask::before { background-color: rgb(255, 181, 108); inset: 0; clip-path: circle(0px); content: ""; position: absolute; transition: 0.4s ease-out 0.05s; }
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .mask::after { background-color: rgb(96, 124, 157); inset: 0; clip-path: circle(0px); content: ""; position: absolute; transition: 0.4s ease-out 0.08s; }
html.no-touch .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item:hover::after { clip-path: circle(100%); transition: 0.5s ease-in 0.1s; }
html.no-touch .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item:hover .mask { clip-path: circle(100%); transition: 0.5s ease-in; }
html.no-touch .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item:hover .mask::before { clip-path: circle(100%); transition: 0.5s ease-in 0.01s; }
html.no-touch .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item:hover .mask::after { clip-path: circle(100%); transition: 0.5s ease-in 0.02s; }
/* bars: 36.6 x 4 px, ±11px */
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .lines { background: rgb(255, 255, 255); display: inline-block; height: 4px; position: relative; transition: 0.3s ease-in-out; width: clamp(2.1875rem, 2.07212rem + 0.240385vw, 2.3125rem); z-index: 1; border-radius: 0; box-shadow: none; transform: none; }
@media (max-width: 991px) { .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .lines { height: 3px; } }
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .lines::after, .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .lines::before { background: rgb(255, 255, 255); content: ""; display: block; height: 100%; left: 0; position: absolute; top: -0.6875rem; transition: 0.3s ease-in-out; width: 100%; inset: -0.6875rem auto auto 0; transform: none; border-radius: 0; }
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .lines::after { bottom: -0.6875rem; top: auto; inset: auto auto -0.6875rem 0; }
html.js_open-nav .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .lines { display: none; }
html.js_open-nav .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item::before { content: ""; display: block; width: 1em; height: 1em; background-color: rgb(255, 255, 255); font-size: clamp(1.3125rem, 0.908654rem + 0.841346vw, 1.75rem); position: relative; z-index: 2; -webkit-mask: var(--icon-close) center / contain no-repeat; mask: var(--icon-close) center / contain no-repeat; }   /* 26.65px X, instant */
.header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav > span { color: rgb(255, 255, 255); display: block; font-family: var(--font-ui, "brandon-grotesque", sans-serif); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.0875rem; line-height: 1.4; padding-top: 0.3125rem; text-transform: uppercase; transition: 0.2s ease-in-out; }   /* "MENU" label */
.js_open-nav .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav > span { display: none; visibility: hidden; }
@media (max-width: 991px) { .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav > span { display: none; } }

/* ===== 9. Full-screen menu panel (live L1108-L1406) ===== */
.module--menu-nav { background-color: rgb(240, 239, 231); inset: 0; display: block; opacity: 0; position: fixed; transition: 0.6s ease-in-out; visibility: hidden; z-index: 50; color: rgb(84, 84, 84); font-size: 1.25rem; line-height: 1.15; }   /* live: the panel inherits body 20px / 1.15 (styles.css body is 19.71px / 1.25) — sets every plain li row: key links 38px, social 23px */
.module--menu-nav ul { list-style: none; margin: 0; padding: 0; }
.module--menu-nav a { text-decoration: none; }
/* decorative silhouette bottom-right (live: their mask.svg; here an NDC-style college building with trees, #e8e6dc on cream) */
.module--menu-nav::after { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 480'%3E%3Cg fill='%23e8e6dc'%3E%3Ccircle cx='90' cy='300' r='72'/%3E%3Crect x='82' y='340' width='16' height='140'/%3E%3Ccircle cx='190' cy='345' r='46'/%3E%3Crect x='185' y='372' width='10' height='108'/%3E%3Crect x='150' y='322' width='104' height='158'/%3E%3Crect x='546' y='322' width='104' height='158'/%3E%3Crect x='250' y='262' width='300' height='218'/%3E%3Crect x='228' y='238' width='344' height='26'/%3E%3Cpolygon points='326,240 400,168 474,240'/%3E%3Crect x='386' y='118' width='28' height='62'/%3E%3Ccircle cx='400' cy='116' r='32'/%3E%3Crect x='396' y='70' width='8' height='24'/%3E%3Ccircle cx='702' cy='318' r='62'/%3E%3Crect x='695' y='358' width='14' height='122'/%3E%3Ccircle cx='770' cy='362' r='40'/%3E%3Crect x='765' y='390' width='10' height='90'/%3E%3Crect x='0' y='470' width='800' height='10'/%3E%3C/g%3E%3Cg fill='%23f0efe7'%3E%3Crect x='276' y='292' width='30' height='46'/%3E%3Crect x='336' y='292' width='30' height='46'/%3E%3Crect x='434' y='292' width='30' height='46'/%3E%3Crect x='494' y='292' width='30' height='46'/%3E%3Crect x='276' y='366' width='30' height='46'/%3E%3Crect x='336' y='366' width='30' height='46'/%3E%3Crect x='434' y='366' width='30' height='46'/%3E%3Crect x='494' y='366' width='30' height='46'/%3E%3Crect x='384' y='396' width='32' height='74'/%3E%3Crect x='172' y='350' width='24' height='40'/%3E%3Crect x='210' y='350' width='24' height='40'/%3E%3Crect x='172' y='412' width='24' height='40'/%3E%3Crect x='210' y='412' width='24' height='40'/%3E%3Crect x='566' y='350' width='24' height='40'/%3E%3Crect x='604' y='350' width='24' height='40'/%3E%3Crect x='566' y='412' width='24' height='40'/%3E%3Crect x='604' y='412' width='24' height='40'/%3E%3C/g%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: cover; bottom: 0; content: ""; height: 30rem; position: absolute; right: 0; transform: translateX(50%); transition: 0.7s ease-in-out; width: 50rem; pointer-events: none; }
@media (max-width: 1850px) { .module--menu-nav::after { height: 21.875rem; width: 37.5rem; } }   /* 600x350 at 1440 */
@media (max-width: 1200px) { .module--menu-nav::after { height: 25.125rem; width: 27.6875rem; } }
@media (max-width: 991px) { .module--menu-nav::after { display: none; } }
.js_open-nav .module--menu-nav { opacity: 1; visibility: visible; }
.js_open-nav .module--menu-nav::after { transform: translateX(0); }
.module--menu-nav .grid-colomn_menu { display: flex; height: 100%; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu { flex-wrap: wrap; overflow-y: auto; } }

/* --- left column: red, slides in from -50% --- */
.module--menu-nav .grid-colomn_menu .module--left-menu { background-color: rgb(191, 29, 36); flex: 0 0 23%; max-width: 23%; transform: translateX(-50%); transition: 0.7s ease-in-out; position: relative; }   /* 331.2px, -165.6px closed */
.js_open-nav .module--menu-nav .grid-colomn_menu .module--left-menu { transform: translateX(0); }
@media (min-width: 992px) { .module--menu-nav .grid-colomn_menu .module--left-menu { order: 1; } }
@media (max-width: 1300px) { .module--menu-nav .grid-colomn_menu .module--left-menu { flex: 0 0 30%; max-width: 30%; } }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--left-menu { flex: 0 0 100%; height: auto; max-width: 100%; }  .js_open-nav .module--menu-nav .grid-colomn_menu .module--left-menu, .module--menu-nav .grid-colomn_menu .module--left-menu { transform: none; } }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu { display: flex; flex-direction: column; height: 100%; overflow-y: auto; padding-top: 3.125rem; pointer-events: all; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu::-webkit-scrollbar-track { background-color: rgb(250, 250, 247); }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu::-webkit-scrollbar { width: 0.3125rem; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu::-webkit-scrollbar-thumb { background-color: rgb(96, 124, 157); }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu { overflow-y: unset; padding-bottom: 3.4375rem; padding-top: 0; } }
/* search (red input, white magnifier) */
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap { left: 0; position: absolute; top: 0; width: 100%; z-index: 5; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap { bottom: 0; left: 0; position: fixed; top: auto; width: 100%; } }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form { align-items: center; display: flex; justify-content: flex-start; position: relative; margin: 0; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form .submit-wrap { cursor: pointer; left: 0; padding: 0.9375rem 1.25rem; position: absolute; top: 0; z-index: 1; line-height: 0; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form .submit-wrap::before { background-image: var(--customSearch); background-repeat: no-repeat; background-size: cover; content: ""; display: inline-block; height: clamp(1.1875rem, 1.01442rem + 0.360577vw, 1.375rem); width: clamp(1.1875rem, 1.01442rem + 0.360577vw, 1.375rem); }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form .submit-wrap input { background-color: transparent; border: 0; font-size: 0; position: absolute; inset: 0; width: 100%; height: 100%; cursor: pointer; padding: 0; color: transparent; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form .submit-wrap { padding: 1.0625rem 1.5625rem; } }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form #search-input { background-color: rgb(214, 38, 45); border: none; border-radius: 0; color: rgb(255, 255, 255); font-family: var(--font-ui, "brandon-grotesque", sans-serif); font-size: clamp(0.875rem, 0.817308rem + 0.120192vw, 0.9375rem); font-weight: 700; letter-spacing: clamp(0.0875rem, 0.0817308rem + 0.0120192vw, 0.09375rem); line-height: 1.45; padding: 0.9375rem 1.5625rem 0.9375rem 3.75rem; text-transform: uppercase; transition: 0.3s ease-in-out; width: 100%; -webkit-appearance: none; appearance: none; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form #search-input::placeholder { color: rgb(255, 255, 255); opacity: 0.66; transition: 0.3s ease-in-out; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form #search-input:focus-visible { outline: none; }
html.no-touch .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form #search-input:hover { background-color: rgb(222, 43, 50); }
html.no-touch .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form #search-input:hover::placeholder { opacity: 1; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form #search-input { background: rgb(96, 124, 157); box-shadow: rgba(0, 0, 0, 0.14) 0 -3px 15px; min-height: 3.4375rem; }
  .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--search-wrap form #search-input::placeholder { opacity: 1; } }
/* bottom block: key links / address / social (order 1) above the promo slider (order 2) */
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom { display: flex; flex-direction: column; justify-content: space-between; }
@media (min-width: 992px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom { margin-top: auto; } }
@media (min-width: 992px) and (min-height: 1000px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom { height: 100%; } }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos { width: 100%; }
@media (min-width: 992px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos { order: 2; } }
.module--menu-nav .items--menu-promos:not(.swiper-initialized) .swiper-wrapper { display: flex; overflow: hidden; }   /* before/without Swiper: one slide visible */
.module--menu-nav .items--menu-promos:not(.swiper-initialized) .swiper-slide { flex: 0 0 100%; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo { height: clamp(14.375rem, 13.5096rem + 1.80288vw, 15.3125rem); position: relative; }   /* 242.1px */
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-link { inset: 0; position: absolute; z-index: 3; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-image { height: 100%; overflow: hidden; position: relative; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-image picture { display: block; height: 100%; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-image img { transition: 0.3s ease-in-out; height: 100%; object-fit: cover; width: 100%; max-width: none; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-image::before { background: linear-gradient(182deg, transparent, rgb(0, 0, 0)) transparent; bottom: 0; content: ""; height: 100%; left: 0; opacity: 0.82; position: absolute; width: 100%; z-index: 1; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-content { bottom: 0; left: 0; padding: 1.5625rem 1.25rem; position: absolute; z-index: 1; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-content { padding-bottom: 2.8125rem; } }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-content .item-title { color: rgb(255, 255, 255); font-family: var(--font-display, "EB Garamond", serif); font-size: clamp(1.625rem, 1.33654rem + 0.600962vw, 1.9375rem); font-weight: 600; line-height: 1; max-width: max-content; padding-bottom: 0.1875rem; padding-right: 1.4375rem; position: relative; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-content .item-title .global-icons { display: block; font-size: clamp(0.8125rem, 0.697115rem + 0.240385vw, 0.9375rem); position: absolute; right: -0.125rem; top: 50%; transform: translateY(-30%); transition: 0.3s ease-in-out; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-content .item-description { color: rgb(255, 255, 255); font-size: clamp(0.9375rem, 0.879808rem + 0.120192vw, 1rem); font-weight: 500; line-height: 1.3; max-width: 75%; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo .item-content .item-description { max-width: 100%; } }
html.no-touch .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo:hover .item-image img { transform: scale(1.05); }
html.no-touch .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .item-promo:hover .item-content .item-title .global-icons { right: -0.3125rem; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .swiper-pagination { bottom: 0; padding: 0.625rem 0.9375rem; text-align: right; position: absolute; left: 0; width: 100%; z-index: 10; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .swiper-pagination { padding: 1.0625rem 1.5625rem; text-align: left; } }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .swiper-pagination-bullet { background-color: rgb(255, 255, 255); cursor: pointer; height: 0.5625rem; margin-right: 0.4375rem; opacity: 0.35; width: 0.5625rem; display: inline-block; border-radius: 50%; margin-left: 0; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .swiper-pagination-bullet:last-child { margin-right: 0; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .items--menu-promos .swiper-pagination-bullet-active { opacity: 1; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .middle--left-menu { padding: 5rem 3.75rem; }
@media (min-width: 992px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .middle--left-menu { min-height: 34.0625rem; order: 1; } }   /* 545px */
@media (min-width: 992px) and (max-height: 999px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .middle--left-menu { min-height: auto; } }
@media (max-width: 1200px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .middle--left-menu { padding: 4.0625rem 2.8125rem; } }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .items--menu-bottom .middle--left-menu { padding: 1.875rem; } }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .key-links_items ul li { padding-bottom: 0.9375rem; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .key-links_items ul li a { color: rgb(255, 255, 255); font-family: var(--font-ui, "brandon-grotesque", sans-serif); font-size: clamp(0.875rem, 0.817308rem + 0.120192vw, 0.9375rem); font-weight: 700; letter-spacing: 0.075rem; line-height: 1.3; text-transform: uppercase; transition: 0.3s ease-in-out; }   /* 14.8px */
html.no-touch .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .key-links_items ul li a:hover { color: rgb(255, 181, 108); }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .menu--info-address { border-bottom: 0.125rem solid rgba(239, 238, 230, 0.18); border-top: 0.125rem solid rgba(239, 238, 230, 0.18); margin: 0.625rem 0 1.5625rem; padding: 1.5625rem 0; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .menu--info-address .address { padding-bottom: 0.9375rem; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .menu--info-address .address a { align-items: baseline; color: rgb(255, 255, 255); display: flex; font-family: var(--font-ui, "brandon-grotesque", sans-serif); font-size: clamp(0.875rem, 0.817308rem + 0.120192vw, 0.9375rem); font-weight: 700; justify-content: flex-start; letter-spacing: 0.075rem; line-height: 1.3; text-transform: uppercase; transition: 0.3s ease-in-out; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .menu--info-address .address a .global-icons, .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .menu--info-address .menu-contact a .global-icons { color: rgb(255, 181, 108); display: block; font-size: 0.875rem; padding-right: 0.4375rem; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .menu--info-address .menu-contact a { align-items: center; color: rgb(255, 255, 255); display: flex; font-family: var(--font-ui, "brandon-grotesque", sans-serif); font-size: clamp(0.875rem, 0.817308rem + 0.120192vw, 0.9375rem); font-weight: 700; justify-content: flex-start; letter-spacing: 0.075rem; line-height: 1.3; text-transform: uppercase; transition: 0.3s ease-in-out; }
html.no-touch .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .menu--info-address .address a:hover, html.no-touch .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .menu--info-address .menu-contact a:hover { color: rgb(255, 181, 108); }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--social-items ul { display: flex; }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--social-items ul li { padding-right: 0.9375rem; }   /* 23px row: body 20px / 1.15 inherited through .module--menu-nav */
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--social-items ul li:last-child { padding-right: 0; }
@media (max-width: 767px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--social-items ul li { padding-right: 1.375rem; } }
.module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--social-items ul li a { color: rgb(255, 255, 255); font-size: 0.875rem; transition: 0.3s ease-in-out; display: inline; line-height: 1.15; }   /* live L1233: inline, 16.1px line */
@media (max-width: 767px) { .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--social-items ul li a { font-size: 1rem; } }
html.no-touch .module--menu-nav .grid-colomn_menu .module--left-menu .module--content-menu .module--social-items ul li a:hover { color: rgb(255, 181, 108); }

/* --- right column: cream, the link list slides in from -10% --- */
.module--menu-nav .grid-colomn_menu .module--right-menu { flex: 0 0 77%; max-width: 77%; }   /* 1108.8px */
@media (min-width: 992px) { .module--menu-nav .grid-colomn_menu .module--right-menu { order: 2; } }
@media (max-width: 1300px) { .module--menu-nav .grid-colomn_menu .module--right-menu { flex: 0 0 70%; max-width: 70%; } }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu { flex: 0 0 100%; height: auto; max-width: 100%; transform: none; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu { background-color: rgb(240, 239, 231); height: 100%; padding: 0 0 0 7.1875rem; position: relative; transition: 0.6s ease-in-out; }   /* links start at x 446 */
@media (max-width: 1300px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu { padding-left: 4.0625rem; } }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu { padding: 0 2.5rem; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu::before { background: rgb(240, 239, 231); content: ""; height: 5.9375rem; left: 0; position: absolute; top: -0.9375rem; transition: 0.6s ease-in-out; width: 50%; z-index: 6; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu::after { background: linear-gradient(0deg, rgba(240, 239, 231, 0), rgb(240, 239, 231)) transparent; content: ""; height: 7.5rem; left: 0; opacity: 0.98; position: absolute; top: 4.375rem; width: 50%; z-index: 6; pointer-events: none; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu::before, .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu::after { display: none; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list { align-items: unset; display: flex; flex-direction: column; height: 100%; justify-content: start; position: relative; z-index: 5; }
@media (min-width: 992px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list { justify-content: center; transform: translateX(-10%); transition: 0.7s ease-in-out; height: 100% !important; }   /* -99.4px closed */
  html.js_open-nav .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list { transform: translateX(0); } }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list { flex-flow: row; margin-bottom: 2.8125rem; margin-top: 8.75rem; position: relative; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list::after { background: linear-gradient(rgba(240, 239, 231, 0), rgb(240, 239, 231)) transparent; bottom: 0; content: ""; height: 7.5rem; left: 0; opacity: 0; pointer-events: none; position: absolute; transition: 0.3s ease-in-out; width: 50%; z-index: 1; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list::after { display: none; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list #scrollNav { align-items: center; bottom: 2.8125rem; cursor: pointer; display: flex; justify-content: center; left: -2.8125rem; opacity: 0; pointer-events: all; position: absolute; transition: 0.3s ease-in-out; visibility: hidden; z-index: 5; }
@media (max-width: 1250px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list #scrollNav { left: 1.875rem; } }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list #scrollNav { left: auto; opacity: 1; right: 1.25rem; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list #scrollNav::before { color: rgb(84, 84, 84); font-size: 1.5625rem; width: 1.5625rem; height: 1.5625rem; transform: rotate(90deg); transition: 0.3s ease-in-out; }
html.no-touch .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list #scrollNav:hover::before { color: rgb(191, 29, 36); }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list.js--menu-down #scrollNav, .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list.js--menu-down::after { opacity: 1; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list.js--menu-down #scrollNav { visibility: visible; }
/* first level: EB Garamond 43.3px charcoal, rows 69.3px */
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level { max-width: 50%; overflow-y: auto; padding-top: 9.0625rem; transition: 0.7s ease-in-out; scrollbar-width: none; }   /* 496.9px wide, 145px top */
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level { flex: 0 0 100%; max-width: 100%; padding-top: 0; transform: translateX(0); transition: ease-in-out; width: 100%; }
  body.js-active-levels .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level { opacity: 0; visibility: hidden; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level::-webkit-scrollbar { display: none; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li { pointer-events: none; transition: opacity 0.3s; }
@media (max-width: 1300px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li { padding-right: 1.25rem; } }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li { padding-right: 0; } }
@media (min-width: 992px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li:last-child { margin-bottom: 1.875rem; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li > a { color: rgb(84, 84, 84); display: inline-block; font-family: var(--font-display, "EB Garamond", serif); font-size: clamp(2rem, 1.19231rem + 1.68269vw, 2.875rem); font-weight: 600; line-height: 1; padding: 0.8125rem 0; pointer-events: all; position: relative; text-transform: capitalize; transition: 0.3s ease-in-out; word-break: break-word; }
@media (min-width: 992px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li > a { max-width: 25rem; } }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li > a { display: block; padding-right: 3.125rem; width: 100%; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li > a.current, html.no-touch .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li > a:hover { color: rgb(214, 38, 45); }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.has-children > a span { padding-right: 1.25rem; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.has-children > a::after { color: rgb(149, 137, 125); content: ""; display: inline-block; width: 1em; height: 1em; background-color: currentColor; -webkit-mask: var(--icon-chevron) center / contain no-repeat; mask: var(--icon-chevron) center / contain no-repeat; font-size: clamp(0.875rem, 0.528846rem + 0.721154vw, 1.25rem); font-weight: 400; transform: rotate(0deg); transition: 0.3s ease-in-out; vertical-align: middle; }   /* chevron, 20px */
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.has-children > a::after { position: absolute; right: 0; top: 50%; transform: translateY(-50%); } }
html.no-touch .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.has-children > a:hover::after { color: rgb(214, 38, 45); margin-left: 0.3125rem; }   /* live: padding-left .3125rem on the glyph */
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.js-secondLevel-active > a { color: rgb(214, 38, 45); margin-left: 0.9375rem; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.js-secondLevel-active > a { margin-left: 0; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.js-secondLevel-active > a::after { color: rgb(214, 38, 45); right: -0.3125rem; }
/* second level: cream-dark panel, left 40% → 50%, fades in .5s */
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li .second-level { background: rgb(235, 233, 225); height: 100%; left: 40%; max-width: 50%; opacity: 0; overflow-y: auto; padding: 9.375rem 4.375rem 4.375rem; pointer-events: none; position: absolute; top: 0; transition: left 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0.5s ease-in-out, z-index 0.3s ease-in-out; visibility: hidden; width: 50%; z-index: -1; scrollbar-width: none; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li .second-level { display: none; height: auto; max-width: 100%; padding: 0; width: 100%; } }
html.js_open-nav .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li .second-level { pointer-events: auto; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li .second-level::before { background: linear-gradient(0deg, rgba(240, 239, 231, 0), rgb(235, 233, 225) 40%) transparent; content: ""; height: 11.25rem; pointer-events: none; position: fixed; right: 0; top: 0; width: 50%; z-index: 6; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li .second-level::after { background: linear-gradient(rgba(240, 239, 231, 0), rgb(235, 233, 225)) transparent; bottom: 0; content: ""; height: 5.3125rem; position: fixed; right: 0; width: 50%; pointer-events: none; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li .second-level::-webkit-scrollbar { display: none; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li { padding: 0.75rem 0; transition: opacity 0.3s; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.parent_title { display: none; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu { opacity: 1; padding-bottom: 2.1875rem; pointer-events: all; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button { align-items: center; background: transparent; border: none; padding: 0; color: rgb(149, 137, 125); cursor: pointer; display: flex; font-family: var(--font-ui, "brandon-grotesque", sans-serif); font-size: clamp(0.875rem, 0.701923rem + 0.360577vw, 1.0625rem); font-weight: 700; justify-content: flex-start; letter-spacing: clamp(0.0875rem, 0.0701923rem + 0.0360577vw, 0.10625rem); line-height: 1.4; position: relative; text-transform: uppercase; transition: 0.3s ease-in-out; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button { color: rgb(84, 84, 84); } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button .global-icons { cursor: pointer; display: none; pointer-events: all; position: relative; z-index: 5; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button .global-icons::before { color: rgb(149, 137, 125); font-size: 1rem; width: 1rem; height: 1rem; transition: 0.3s ease-in-out; }
@media (min-width: 992px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button .global-icons.item--desktop, .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button span.item--desktop { display: inline-block; } }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button .global-icons.item--mobile, .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button span.item--mobile { display: inline-block; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button span { display: none; padding-left: 0.75rem; padding-top: 0.125rem; }
html.no-touch .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button:hover, html.no-touch .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.back_main-menu button:hover .global-icons::before { color: rgb(214, 38, 45); }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li a { color: rgb(84, 84, 84); font-family: var(--font-ui, "brandon-grotesque", sans-serif); font-size: clamp(1.125rem, 0.951923rem + 0.360577vw, 1.3125rem); font-weight: 500; line-height: 1.2; pointer-events: all; transition: 0.3s ease-in-out; }   /* 20.4px */
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li a.current, html.no-touch .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li a:hover { color: rgb(214, 38, 45); }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.has-children > a { position: relative; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.has-children > a::after { color: rgb(214, 38, 45); content: ""; display: inline-block; width: 0.5625rem; height: 0.5625rem; background-color: currentColor; -webkit-mask: var(--icon-plus) center / contain no-repeat; mask: var(--icon-plus) center / contain no-repeat; font-size: 0.5625rem; opacity: 1; margin-left: 0.375rem; vertical-align: 0.125rem; }   /* plus, 9px */
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.js-active > a { color: rgb(214, 38, 45); }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.js-active > a::after { -webkit-mask-image: var(--icon-minus); mask-image: var(--icon-minus); height: 0.125rem; font-size: 0.125rem; vertical-align: 0.3125rem; }   /* live: minus glyph at .125rem */
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .second-level li.js-active .third-level { opacity: 1; visibility: visible; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li .third-level { border-left: 0.125rem solid rgba(149, 138, 126, 0.43); display: none; margin-top: 0.625rem; opacity: 0; padding-left: 0.9375rem; transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out; visibility: hidden; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li .third-level { display: block; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .third-level li { padding: 0.3125rem 0; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .third-level li:last-child { padding-bottom: 0; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .third-level li a { color: rgb(126, 126, 126); font-size: clamp(1rem, 0.884615rem + 0.240385vw, 1.125rem); font-weight: 500; pointer-events: none; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.js-secondLevel-active .second-level { left: 50%; }
html.js_open-nav .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.js-secondLevel-active .second-level { opacity: 1; transition: left 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0.5s ease-in-out, z-index 0.3s ease-in-out 0.3s; visibility: visible; }   /* live: z-index stays -1 (inside the z 5 list context) */
html.js_open-nav .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.js-secondLevel-active .third-level li a { pointer-events: all; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li.no-animation .second-level { left: 50%; }   /* siblings sit at 50% so switching cross-fades */
/* mobile navigation clone (≤991): the active second level is copied here and slides over the first level */
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation { display: none; flex: 0 0 100%; height: 100%; max-width: 100%; opacity: 0; transform: translateX(-100%); transition: ease-in-out; visibility: hidden; width: 100%; z-index: -1; }
html.js_open-nav body.js-active-levels .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation { opacity: 1; visibility: visible; z-index: 51; }
@media (max-width: 991px) { html.js_open-nav .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation { display: block; } }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation .second-level { box-shadow: none; display: block; opacity: 1; position: static; visibility: visible; width: 100%; max-width: 100%; padding: 0; height: auto; pointer-events: auto; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation .second-level::before, .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation .second-level::after { display: none; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation .second-level li { opacity: 1; padding: 0.625rem 0; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation .second-level li.back_main-menu { left: -2.5rem; opacity: 1; padding: 0; pointer-events: all; position: absolute; top: -3.125rem; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation .second-level li.back_main-menu button { align-items: center; background: rgba(149, 138, 126, 0.1); border: none; color: rgb(84, 84, 84); cursor: pointer; display: flex; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.0875rem; line-height: 1.4; padding: 0.5rem 1.0625rem; text-transform: uppercase; transition: 0.3s ease-in-out; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation .second-level li.parent_title { color: rgb(214, 38, 45); display: block; font-family: var(--font-display, "EB Garamond", serif); font-size: 1.9375rem; font-weight: 600; line-height: 1.1; padding: 1.25rem 0; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation .third-level { border-left: 0.125rem solid rgba(149, 138, 126, 0.43); display: none; margin-top: 0.9375rem; opacity: 0; padding-left: 0.9375rem; transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out; visibility: hidden; }
.module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .module--mobile-navigation .second-level li.js-active .third-level { display: block; opacity: 1; visibility: visible; }
@media (max-width: 991px) { .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list li[data-title] { display: none; opacity: 0; position: absolute; right: 4.6875rem; top: -2.6875rem; transition: 0.3s ease-in-out; }
  html.js_open-nav .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list li[data-title] { display: block; opacity: 1; } }

/* ===== 11. Reduced motion, opt-in only: the live site has no prefers-reduced-motion rule, so these apply only when <html>
   carries class="respect-reduced-motion" (hero-header.js reads the same class). Off by default, like the live. ===== */
@media (prefers-reduced-motion: reduce) {
  html.respect-reduced-motion .landing-screen { display: none; }
  html.respect-reduced-motion .hero-pin > .welcome, html.respect-reduced-motion .hero-pin > .module--sections-contaner { position: relative; transform: none !important; inset: auto; }
  html.respect-reduced-motion .hero-pin .welcome-inner_content--title h2, html.respect-reduced-motion .hero-pin .welcome__title { line-height: 1 !important; transform: none !important; }
  html.respect-reduced-motion .hero-pin .welcome-inner_content--description p, html.respect-reduced-motion .hero-pin .welcome__text { line-height: 1.35 !important; transform: none !important; }
  html.respect-reduced-motion .section--hero .item--scroll-down .global-icons { animation: none; }
  html.respect-reduced-motion .module--menu-nav, html.respect-reduced-motion .module--menu-nav::after, html.respect-reduced-motion .module--menu-nav .grid-colomn_menu .module--left-menu, html.respect-reduced-motion .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list, html.respect-reduced-motion .module--menu-nav .grid-colomn_menu .module--right-menu .module--content-menu .menu_links-list .first-level > li .second-level, html.respect-reduced-motion .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item::after, html.respect-reduced-motion .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .mask, html.respect-reduced-motion .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .mask::before, html.respect-reduced-motion .header .module--header .grid-colomn .module--nav-btn .menu-bar--items .btn-open-nav .burger-menu_item .mask::after { transition: none !important; }
}
