/* ══════════════════════════════════════════
   HOME PAGE
   Styles specific to index.html only.
   Hero, prayer, events strip, about strip,
   connect/bento, donate — all home-only.
══════════════════════════════════════════ */

/* ── New hero ── */
.hero-next {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background: #000;
  color: #faf9fb;
}
.hero-video-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  /* Ken Burns: a slow breathing zoom + drift so the still hero reads as alive
     until a real montage lands. object-fit:cover + the >1 scale keep the frame
     covered while it pans. Reduced-motion reset (animations.css) neutralises it
     to a static frame. Desktop + mobile. */
  transform-origin: 65% 35%;
  animation: hero-kenburns 22s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes hero-kenburns {
  from {
    transform: scale(1.02) translate3d(0, 0, 0);
  }
  to {
    transform: scale(1.16) translate3d(-3%, -2.6%, 0);
  }
}
.hero-next::after {
  content: '';
  position: absolute;
  inset: 0;
  /* Ambient legibility scrim (video-agnostic): darker at bottom for the
     identity anchor, a lighter band mid so the footage breathes, and a
     top wash so nav/logo stay readable. Forest-toned to stay on-brand.
     Tune the alphas to taste once the real hero video lands. */
  background: linear-gradient(
    to top,
    rgba(10, 30, 36, .62) 0%,
    rgba(10, 30, 36, .22) 38%,
    rgba(10, 30, 36, .12) 62%,
    rgba(10, 30, 36, .40) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.hero-next::before {
  content: '';
  position: absolute;
  top: 38.5px;
  left: var(--hero-side-offset);
  right: var(--hero-nav-bar-right, calc(var(--hero-nav-edge) + var(--hero-logo-size)));
  height: 40px;
  border: 0;
  border-radius: .5rem;
  background: color-mix(in srgb, var(--forest-deep) 15%, transparent);
  backdrop-filter: blur(16px);
  box-shadow: 0 4px 12px rgb(0 0 0 / .16);
  pointer-events: none;
  z-index: 2;
}
.hero-next-logo {
  position: absolute;
  top: 26.5px;
  right: var(--hero-nav-edge);
  width: var(--hero-logo-size);
  height: var(--hero-logo-size);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.hero-next-logo img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

/* ── Horizontal top nav — full-word bracketed nodes, left of the logo ── */
.hero-next-nav {
  position: absolute;
  top: 26.5px;
  left: var(--hero-side-offset);
  right: calc(var(--hero-nav-edge) + var(--hero-logo-size));
  height: var(--hero-logo-size);
  display: flex;
  align-items: center;
  gap: 1.5rem;
  z-index: 2;
}
.hero-next-links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.hero-nav-menu-trigger {
  display: flex;
  align-items: center;
  gap: .55rem;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.hero-nav-menu-dots {
  position: relative;
  width: 13px;
  height: 13px;
  flex: 0 0 auto;
}
.hero-nav-menu-dot {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--frost-pure);
  opacity: .4;
  transition: opacity .2s ease, background .2s ease;
}
.hero-nav-menu-dot--tl {
  top: 0;
  left: 0;
}
.hero-nav-menu-dot--tr {
  top: 0;
  right: 0;
}
.hero-nav-menu-dot--bl {
  bottom: 0;
  left: 0;
}
.hero-nav-menu-dot--br {
  bottom: 0;
  right: 0;
}
.hero-nav-menu-dot--mid {
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  background: var(--gold-bright, var(--navy-deep));
}
.hero-nav-menu-trigger:hover .hero-nav-menu-dot {
  opacity: .8;
}
.hero-nav-menu-label {
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .03em;
  text-transform: lowercase;
  color: var(--frost);
  white-space: nowrap;
}
.hero-nav-menu-links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-width .35s ease, opacity .25s ease, margin-left .35s ease;
}
.hero-next-links.is-open .hero-nav-menu-links {
  max-width: 900px;
  opacity: 1;
  margin-left: 1.5rem;
}
.hero-next-links.is-open .hero-nav-menu-dot {
  opacity: .7;
}
.hero-next-links.is-open .hero-nav-menu-dot--mid {
  opacity: 1;
}
.hero-next-nav .site-nav-lang {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-left: 1.4rem;
}
.hero-next-nav .site-nav-lang .lang-btn {
  font-family: var(--sans);
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .03em;
  color: var(--frost);
  white-space: nowrap;
  appearance: none;
  -webkit-appearance: none;
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
  height: auto;
  min-width: unset;
  cursor: pointer;
  transition: font-weight .15s ease;
}
.hero-next-nav .site-nav-lang .lang-btn::after {
  content: '';
  margin-left: 4px;
  opacity: .4;
  transition: opacity .2s ease;
}
.hero-next-nav .site-nav-lang .lang-btn:hover::after {
  opacity: 1;
}
.hero-next-nav [data-i18n="nav.about"] {
  min-width: 95px;
  text-align: center;
}
.hero-next-nav [data-i18n="nav.node.programs"],
.hero-next-nav [data-i18n="nav.node.services"] {
  min-width: 104px;
  text-align: center;
}
.hero-next-nav [data-i18n="nav.events"] {
  min-width: 84px;
  text-align: center;
}
.hero-next-nav [data-i18n="nav.building"] {
  min-width: 137px;
  text-align: center;
}
.hero-next-nav [data-i18n="nav.contact"] {
  min-width: 94px;
  text-align: center;
}
.hero-nav-node {
  font-family: var(--sans);
  font-size: .9rem;
  font-weight: 400;
  letter-spacing: .03em;
  text-transform: lowercase;
  color: var(--frost);
  cursor: pointer;
  white-space: nowrap;
  transition: font-weight .15s ease;
}
.hero-nav-node::before {
  content: '>';
  margin-right: 4px;
  opacity: .4;
  transition: opacity .2s ease;
}
.hero-nav-node::after {
  content: '';
  margin-left:  4px;
  opacity: .4;
  transition: opacity .2s ease;
}
.hero-nav-node:hover::before,
.hero-nav-node:hover::after {
  opacity: 1;
}
.hero-nav-node.active {
  font-weight: 700;
}
.hero-nav-node.active::before,
.hero-nav-node.active::after {
  opacity: 1;
}
/* ── Hero tagline — center-left, sits over the dark scrim ── */
.hero-next-tagline {
  position: absolute;
  left: var(--hero-side-offset);
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  max-width: 34rem;
  text-shadow: 0 2px 14px rgb(10 30 36 / .55);
}
.hero-next-tagline-kicker {
  font-family: var(--jura);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgb(242 237 227 / .72);
  margin-bottom: .6rem;
}
.hero-next-tagline-main {
  margin: 0;
  font-family: var(--cond);
  font-size: clamp(1.6rem, 3.4vw, 2.6rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: .01em;
  color: var(--frost, #faf9fb);
}

.site-topbar-title {
  position: fixed;
  right: 4rem;
  height: auto;
  z-index: 826;
  font-family: 'Poppins', sans-serif;
  font-size: 5vw;
  font-weight: 800;
  font-stretch: condensed;
  line-height: .7;
  color: rgb(239 244 236 / .3);
  white-space: nowrap;
  transform: scaleX(.518);
  transform-origin: right bottom;
  pointer-events: none;
}
.site-topbar-title--1 {
  top: calc(var(--nav-push, 0px) - 100px - 10.5vw);
}
.site-topbar-title--2 {
  top: calc(var(--nav-push, 0px) - 100px - 7vw);
}
.site-topbar-title--3 {
  top: calc(var(--nav-push, 0px) - 100px - 3.5vw);
}

.site-topbar {
  top: calc(var(--nav-push, 0px) - 35px);
}


/* ── Hero quick-actions — quieted to recede as chrome (was a "clothing tag"
   with dashed border, punched hole + folded corner; those gimmicks removed).
   No panel: relies on the dark hero image + text-shadow for legibility. ── */
.hero-cloth-tag {
  position: fixed;
  left: var(--hero-side-offset);
  top: calc(var(--hero-rail-top) - var(--hero-cloth-gap));
  transform: translateY(-100%);
  display: flex;
  flex-direction: row;
  align-items: center;
  z-index: 828;
  background: transparent;
  border: 0;
  box-shadow: none;
  min-height: 44px;
}
.hero-cloth-tag {
  transition: opacity .3s ease;
}
.hero-cloth-tag.prayer-open {
  opacity: 0;
  pointer-events: none;
}
.hct-sec {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .42rem;
  padding: .5rem 1.1rem;
  appearance: none;
  border: 0;
  background: transparent;
  text-decoration: none;
  color: rgb(242 237 227 / .6);
  text-shadow: 0 1px 6px rgb(10 30 36 / .55);
  cursor: pointer;
  transition: color .2s;
}
.hct-sec:hover {
  color: rgb(242 237 227 / .95);
}
.hct-sec svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}
.hct-broadcast svg {
  color: var(--yt-red, #f00);
}
.hct-give svg {
  color: var(--gold);
}
.hct-calendar svg {
  color: rgb(242 237 227 / .65);
}
.hct-label {
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  writing-mode: horizontal-tb;
  white-space: nowrap;
  line-height: 1;
}
.hct-div {
  width: 1px;
  height: 46%;
  align-self: center;
  border-left: 1px solid rgb(242 237 227 / .14);
}

/* ── Calendar full panel ── */
.cal-panel {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: rgb(17 21 20 / .64);
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
}
.cal-panel.is-open {
  opacity: 1;
  pointer-events: auto;
}
.cal-panel-shell {
  width: 390px;
  max-width: 100vw;
  height: 100vh;
  background: var(--frost-lt);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow: -24px 0 80px rgb(17 21 20 / .32);
}
.cal-panel.is-open .cal-panel-shell {
  transform: translateX(0);
}

/* ── mobile: full-screen takeover, slides in from the left for
   site-wide motion consistency (desktop keeps its right-drawer feel) ── */
@media (max-width: 720px) {
  /* full-screen takeover from the left — anchor the drawer to the left edge
     (desktop is a right-hand drawer) so its close/nav controls sit at the
     visible right edge instead of being pushed off-screen. */
  .cal-panel {
    justify-content: flex-start;
  }
  .cal-panel-shell {
    width: 100%;
    max-width: 100%;
    transform: translateX(-100%);
  }
}
.cal-panel-hdr {
  display: flex;
  align-items: center;
  padding: 1.4rem 1.15rem 1rem;
  border-bottom: 1px solid rgb(65 78 86 / .16);
  background: var(--steel-slate);
  gap: .4rem;
}
.cal-panel-title {
  flex: 1;
  font-family: var(--jura);
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--frost);
}
.cal-panel-btn {
  background: rgb(255 255 255 / .08);
  border: 1px solid rgb(255 255 255 / .12);
  color: rgb(228 235 246 / .72);
  font-size: 1rem;
  cursor: pointer;
  padding: .35rem .6rem;
  transition: color .2s, background .2s, border-color .2s;
}
.cal-panel-btn:hover {
  color: #fff;
  background: rgb(255 255 255 / .14);
  border-color: rgb(255 255 255 / .24);
}
.cal-panel-close {
  margin-left: .4rem;
  font-size: 1.3rem;
}
.cal-panel-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding: 1rem .9rem .5rem;
  gap: 4px;
}
.cal-grid-hdr {
  text-align: center;
  font-family: var(--jura);
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgb(65 78 86 / .48);
  padding: .35rem 0;
}
.cal-grid-day {
  text-align: center;
  font-family: var(--jura);
  font-size: .8rem;
  min-height: 34px;
  padding: .45rem .2rem;
  border: 1px solid rgb(65 78 86 / .1);
  color: rgb(65 78 86 / .78);
  line-height: 1;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.cal-grid-day:not(.empty):hover {
  background: var(--frost-md);
  border-color: rgb(65 78 86 / .2);
}
.cal-grid-day.today {
  background: var(--steel-slate);
  color: var(--frost);
  font-weight: 700;
}
.cal-grid-day.today:hover {
  background: var(--steel-slate);
}
.cal-grid-day.has-event {
  color: var(--steel-slate);
  font-weight: 700;
}
.cal-grid-day.has-event::after {
  content: ''; display: block;
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--gold-bright);
  margin: 2px auto 0;
}
.cal-grid-day.today.has-event::after {
  background: var(--frost);
}
.cal-grid-day.selected {
  background: var(--frost-md);
  color: var(--steel-slate);
  outline: 1px solid rgb(65 78 86 / .36);
}
.cal-grid-day.selected.today {
  background: var(--steel-slate);
  color: var(--frost);
  outline: 2px solid var(--gold-bright);
}
.cal-grid-day.empty {
  color: transparent;
  pointer-events: none;
  cursor: default;
}
.cal-panel-events {
  padding: .75rem 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .7rem;
}
.cal-event-item {
  padding: .8rem .9rem;
  background: var(--frost);
  border-left: 3px solid var(--gold-bright);
  border-bottom: 1px solid rgb(65 78 86 / .12);
  cursor: pointer;
  transition: background .15s, transform .15s;
}
.cal-event-item:hover {
  background: var(--frost-md);
  transform: translateX(2px);
}
.cal-event-summary {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.cal-event-name {
  font-family: var(--jura);
  font-size: 1rem;
  font-weight: 700;
  color: var(--steel-slate);
  line-height: 1.3;
}
.cal-event-time {
  font-family: var(--jura);
  font-size: .82rem;
  color: #7a5000;
  letter-spacing: .04em;
}
.cal-event-date {
  font-family: var(--jura);
  font-size: .78rem;
  color: #2e3d48;
  letter-spacing: .04em;
}
.cal-event-details {
  margin-top: .6rem;
  display: none;
  flex-direction: column;
  gap: .4rem;
  padding-top: .6rem;
  border-top: 1px solid rgb(65 78 86 / .14);
}
.cal-event-item.is-expanded .cal-event-details {
  display: flex;
}
.cal-event-field {
  font-family: var(--jura);
  font-size: .85rem;
  color: rgb(65 78 86 / .82);
  line-height: 1.5;
  display: flex;
  gap: .5rem;
  align-items: flex-start;
}
.cal-field-label {
  flex-shrink: 0;
}
.cal-no-events {
  font-family: var(--jura);
  font-size: .78rem;
  color: rgb(65 78 86 / .52);
  text-align: center;
  padding: 1rem;
}
.cal-no-events--tight {
  padding: .4rem 0;
}

/* Jura trial — hero nav nodes + topbar */
.site-topbar,
.site-topbar * {
  font-family: var(--jura);
}

/* ── Lang toggle short labels — hidden on desktop ── */
.lang-btn-short {
  display: none;
}

/* ══════════════════════════════════════════
   MOBILE HERO (<=720px)
══════════════════════════════════════════ */
@media (max-width: 720px) {
  /* shrink the layout vars so logo/nav/cloth-tag fit a narrow viewport */
  .hero-next {
    --hero-side-offset: .9rem;
    --hero-nav-edge: .9rem;
    --hero-logo-size: 40px;
  }
  .hero-next::before {
    top: 22px;
    height: 32px;
  }
  .hero-next-logo,
  .hero-next-nav {
    top: 16px;
  }
  .hero-next-logo img {
    width: 34px;
    height: 34px;
  }
  /* mobile identity ghost: larger (7vw) + right-aligned to the logo edge
     (.9rem = the mobile --hero-nav-edge the logo uses; the ghost isn't inside
     .hero-next so it can't read that var directly). Line offsets scale with
     the font (×1.4) so the stack stays clean. Desktop keeps 5vw / base offsets. */
  .site-topbar-title {
    right: .9rem;
    font-size: 7vw;
  }
  .site-topbar-title--1 {
    top: calc(var(--nav-push, 0px) - 100px - 14.7vw);
  }
  .site-topbar-title--2 {
    top: calc(var(--nav-push, 0px) - 100px - 9.8vw);
  }
  .site-topbar-title--3 {
    top: calc(var(--nav-push, 0px) - 100px - 4.9vw);
  }
  /* rehal/Quran sits mid-lower-frame on mobile crops — park the tagline
     above it instead of dead-center so it doesn't overlap the subject. */
  .hero-next-tagline {
    left: var(--hero-side-offset);
    right: var(--hero-side-offset);
    top: 34%;
    max-width: none;
  }
  .hero-next-tagline-kicker {
    font-size: .68rem;
    margin-bottom: .5rem;
  }
  .hero-next-tagline-main {
    font-size: clamp(2.2rem, 11.8vw, 3rem);
  }

  .hero-next-nav,
  .hero-next-links {
    gap: .6rem;
  }
  .hero-next-nav .site-nav-lang {
    gap: .55rem;
    padding-left: .6rem;
  }
  .hero-nav-menu-label {
    font-size: 1rem;
  }
  .hero-next-nav .site-nav-lang .lang-btn {
    font-size: .68rem;
  }

  /* ── mobile cloth tag → original HORIZONTAL row, Poppins-bold labels.
     Cheap experiment to fill the placeholder hero: a grounded horizontal band
     centered in the empty frame instead of the vertical rail.
     position:fixed + the SAME --nav-push var the ghost watermark uses (set
     live by JS in masjid.js pushNav()) — NOT a hardcoded px guess off one
     device's viewport height. .hero-cloth-tag lives at the body root (a
     sibling well after </section.hero-next>, not nested inside it), so
     position:absolute had no positioned ancestor and was silently anchored
     to the document's static layout position — it only LOOKED aligned to
     the ghost in a fixed 375x812 test canvas at scroll 0; on a real phone
     (different viewport height/URL-bar behavior) that coincidence breaks.
     Tying both to --nav-push guarantees they move together on any device
     and at any scroll position. Revert: restore the vertical block. ── */
  .hero-cloth-tag {
    position: fixed;
    left: 1.7rem;          /* left edge aligned with the lang-toggle flag (x≈27px) */
    right: auto;
    top: calc(var(--nav-push, 0px) - 100px); /* bottom edge (via translateY) lands on the ghost watermark's bottom line */
    bottom: auto;
    transform: translateY(-100%);
    flex-direction: row;
    align-items: center;
    width: max-content;
    max-width: calc(100vw - 1.6rem);
  }
  .hct-sec {
    flex-direction: column;
    align-items: center;
    gap: .46rem;
    padding: .58rem .86rem;
  }
  .hct-sec svg {
    display: block;
    width: 1.55rem;
    height: 1.55rem;
    fill: currentColor;   /* restore original colored icons */
    stroke: none;
  }
  .hct-label {
    font-size: .83rem;
    letter-spacing: .05em;
    color: rgb(242 237 227 / .8);
  }
  .hct-give .hct-label { color: rgb(242 237 227 / .92); } /* Give leads */
  .hct-div {
    display: block;
  }

  /* lang toggle: flag + short code only */
  .lang-btn-full {
    display: none;
  }
  .lang-btn-short {
    display: inline;
  }

  /* dropdown nav nodes: drop the desktop fixed min-widths, let them size naturally */
  .hero-next-nav [data-i18n="nav.about"],
  .hero-next-nav [data-i18n="nav.node.programs"],
  .hero-next-nav [data-i18n="nav.node.services"],
  .hero-next-nav [data-i18n="nav.events"],
  .hero-next-nav [data-i18n="nav.building"],
  .hero-next-nav [data-i18n="nav.contact"] {
    min-width: 0;
    text-align: right;
  }

  /* nav menu links: slide down as an overlay panel instead of horizontal expand */
  .hero-nav-menu-links {
    position: absolute;
    top: calc(100% + .9rem);
    right: 0;
    left: auto;
    max-width: none;
    width: max-content;
    max-height: 0;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.1rem;
    margin-left: 0;
    padding: 0 1rem;
    background: color-mix(in srgb, var(--forest-ink) 82%, transparent);
    backdrop-filter: blur(16px);
    border: 1px solid rgb(242 237 227 / .14);
    border-radius: .5rem;
    overflow: hidden;
    transition: max-height .35s ease, opacity .25s ease, padding .35s ease;
  }
  .hero-next-links.is-open .hero-nav-menu-links {
    max-width: none !important;
    max-height: 70vh !important;
    padding: 1.1rem 1.4rem;
    margin-left: 0;
  }
}


/* ══ BÉTON BRUT MOBILE MENU — full-screen takeover ═══════════════════════
   Replaces the small dropdown on mobile with a full-viewport night panel:
   monumental numbered links (01-06), hairline seams, staggered entrance,
   hollow MAE ghost. Desktop (>720px) untouched. Delete block to revert. */
@media (max-width: 720px) {
  .hero-next-nav:has(.hero-next-links.is-open) {
    z-index: 9500;
  }
  .hero-next-links.is-open .hero-nav-menu-trigger {
    position: relative;
    z-index: 2;
    color: #f0ebe2;
  }
  /* When the full-screen menu is open the trigger IS the close control — make
     that unmistakable: swap the dot cluster + "menu" label for "✕ close" so
     there's a clearly visible way out (was reported as "no X close"). */
  .hero-next-links.is-open .hero-nav-menu-dots {
    display: none;
  }
  .hero-next-links.is-open .hero-nav-menu-label {
    font-size: 0;
  }
  .hero-next-links.is-open .hero-nav-menu-label::after {
    content: "\2715  CLOSE";
    font-family: var(--cond);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .16em;
    color: #f0ebe2;
  }
  .hero-nav-menu-links {
    position: fixed;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    padding: 5rem 1.5rem 4.5rem;
    background: rgb(12 13 14 / .97);
    backdrop-filter: blur(18px);
    border: 0;
    border-radius: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden auto;
    transition: opacity .28s ease, visibility 0s linear .28s;
    counter-reset: mnav;
    z-index: 1;
  }
  .hero-next-links.is-open .hero-nav-menu-links {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    max-height: none !important;
    padding: 5rem 1.5rem 4.5rem;
    margin: 0;
    transition: opacity .28s ease;
  }
  .hero-nav-menu-links::after {
    content: "MAE";
    position: fixed;
    right: .4rem;
    bottom: .55rem;
    font-family: var(--cond);
    font-weight: 800;
    font-size: 5.6rem;
    line-height: .8;
    letter-spacing: .02em;
    color: transparent;
    -webkit-text-stroke: 1px rgb(240 235 226 / .12);
    pointer-events: none;
  }
  .hero-nav-menu-links .hero-nav-node {
    display: block;
    width: 100%;
    padding: 1.15rem 0;
    border-top: 1px solid rgb(240 235 226 / .08);
    font-family: var(--cond);
    font-size: clamp(2.3rem, 10.5vw, 3.4rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: .015em;
    text-transform: uppercase;
    text-align: left;
    color: #f0ebe2;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .3s ease, transform .3s ease;
  }
  .hero-nav-menu-links .hero-nav-node:last-child {
    border-bottom: 1px solid rgb(240 235 226 / .08);
  }
  .hero-nav-menu-links .hero-nav-node::before,
  .hero-nav-menu-links .hero-nav-node::after {
    content: none;
  }
  .hero-nav-menu-links .hero-nav-node:active {
    color: #c9a040;
  }
  .hero-next-links.is-open .hero-nav-node {
    opacity: 1;
    transform: none;
  }
  .hero-next-links.is-open .hero-nav-node:nth-child(1) {
    transition-delay: .05s;
  }
  .hero-next-links.is-open .hero-nav-node:nth-child(2) {
    transition-delay: .1s;
  }
  .hero-next-links.is-open .hero-nav-node:nth-child(3) {
    transition-delay: .15s;
  }
  .hero-next-links.is-open .hero-nav-node:nth-child(4) {
    transition-delay: .2s;
  }
  .hero-next-links.is-open .hero-nav-node:nth-child(5) {
    transition-delay: .25s;
  }
  .hero-next-links.is-open .hero-nav-node:nth-child(6) {
    transition-delay: .3s;
  }
}
/* ══ END BÉTON BRUT MOBILE MENU ══════════════════════════════════════ */
