/* Tulumbra+ v22 - piedra nocturna, selva contenida y hospitalidad premium. */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("/fonts/montserrat-latin-400-normal.woff2") format("woff2");
}

/* Operativa comercial 13500: mesas, cupo y acceso 18–20 */
.club-access-operations{position:relative;padding:clamp(72px,9vw,150px) max(5vw,28px);background:linear-gradient(180deg,rgba(4,7,5,.98),rgba(9,12,9,.96));border-block:1px solid rgba(205,177,119,.22);overflow:hidden}.club-access-operations:before{content:"13500";position:absolute;right:-.03em;top:-.18em;font:500 clamp(150px,28vw,520px)/1 var(--font-display,serif);color:rgba(205,177,119,.035);pointer-events:none}.club-access-operations>header{position:relative;max-width:780px;margin-bottom:48px}.club-access-operations>header>span,.club-access-grid small{font-size:11px;letter-spacing:.22em;color:#cdb177}.club-access-operations h2{margin:12px 0 18px;font:500 clamp(52px,7vw,120px)/.84 var(--font-display,serif);letter-spacing:-.055em;color:#f1ece1}.club-access-operations>header p{max-width:620px;color:rgba(241,236,225,.7);font-size:17px;line-height:1.65}.club-access-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(205,177,119,.24)}.club-access-grid article{min-height:410px;padding:clamp(28px,4vw,64px);display:flex;flex-direction:column;justify-content:space-between;background:rgba(3,5,4,.72)}.club-access-grid article+article{border-left:1px solid rgba(205,177,119,.24)}.club-access-grid strong{display:block;margin:14px 0;font:500 clamp(34px,4vw,66px)/.95 var(--font-display,serif);color:#f1ece1}.club-access-grid p{max-width:470px;color:rgba(241,236,225,.66);line-height:1.55}.club-access-grid dl{margin:30px 0;border-top:1px solid rgba(205,177,119,.2)}.club-access-grid dl div{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(205,177,119,.14)}.club-access-grid dt{font-size:10px;letter-spacing:.17em;color:#cdb177}.club-access-grid dd{margin:0;color:#f1ece1}.club-access-grid button{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border:1px solid rgba(205,177,119,.5);background:#cdb177;color:#070908;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.operation-cap{display:flex;align-items:end;gap:16px;margin:24px 0}.operation-cap b{font-size:78px;line-height:.8}.operation-cap span{font-size:12px;line-height:1.35;letter-spacing:.1em;color:rgba(241,236,225,.65);text-transform:uppercase}.club-operation-form .information-box{background:rgba(205,177,119,.08);border-color:rgba(205,177,119,.35)}.under21-pass-card{position:relative;padding:28px;color:#f1ece1;background:radial-gradient(circle at 80% 10%,rgba(205,177,119,.2),transparent 30%),linear-gradient(145deg,#141712,#050706);border:1px solid rgba(205,177,119,.55);overflow:hidden}.under21-pass-card:before{content:"18—20";position:absolute;right:-10px;bottom:-28px;font:700 92px/1 sans-serif;color:rgba(205,177,119,.06)}.under21-pass-card>div{position:relative}.under21-pass-card small{letter-spacing:.18em;color:#cdb177}.under21-pass-card strong{display:block;margin:28px 0 4px;font:500 34px/1 var(--font-display,serif)}.under21-pass-card span{font-size:11px;letter-spacing:.13em}.under21-pass-card img{position:relative;display:block;width:min(270px,80%);margin:28px auto;padding:12px;background:#fff}.under21-pass-card p{position:relative;color:rgba(241,236,225,.66);font-size:12px;line-height:1.5}.member-under21-stamp{width:max-content;max-width:100%;padding:8px 12px;border:1px solid rgba(205,177,119,.45);color:#d6ba7e;font-size:9px;font-weight:800;letter-spacing:.16em}.member-night-actions .operation-priority{border-color:#d6ba7e;box-shadow:inset 3px 0 #d6ba7e}.member-night-actions .operation-active{border-color:rgba(205,177,119,.55)}
@media(max-width:760px){.club-access-operations{padding:72px 18px}.club-access-grid{grid-template-columns:1fr}.club-access-grid article{min-height:340px;padding:28px 22px}.club-access-grid article+article{border-left:0;border-top:1px solid rgba(205,177,119,.24)}.club-access-operations h2{font-size:54px}.operation-cap b{font-size:62px}}

/* 13500 · wordmark oficial. El archivo se referencia desde BRAND.logoUrl en app.js. */
body .brand-symbol {
  display: block;
  width: 128px;
  height: 42px;
  object-fit: contain;
  object-position: center;
  background: #000;
  mix-blend-mode: screen;
  filter: brightness(1.04) contrast(1.06) drop-shadow(0 8px 18px rgba(0, 0, 0, .48));
}

body .brand {
  gap: 11px;
}

body .brand-lockup {
  max-width: 170px;
}

body .brand-lockup > small {
  color: rgba(239, 234, 224, .58);
  font-size: 6px;
  line-height: 1.35;
  letter-spacing: .16em;
  white-space: normal;
}

body .public-header .brand-symbol,
body .club-footer-v16 .brand-symbol {
  width: 132px;
  height: 44px;
}

body .door-brand-symbol,
body .door-reader-symbol,
body .bar-brand-symbol {
  width: 112px;
  height: 36px;
}

body .member-pass-symbol,
body .member-section-logo .brand-symbol,
body .account-brandmark .brand-symbol {
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
}

@media (max-width: 700px) {
  body .public-header .brand-symbol,
  body:has(.member-club-v16) .mobile-header .brand-symbol {
    width: 92px;
    height: 31px;
  }

  body .public-header .brand-lockup > small,
  body:has(.member-club-v16) .mobile-header .brand-lockup > small {
    display: none;
  }
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("/fonts/montserrat-latin-500-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("/fonts/montserrat-latin-600-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("/fonts/montserrat-latin-700-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("/fonts/barlow-condensed-latin-400-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("/fonts/barlow-condensed-latin-500-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("/fonts/barlow-condensed-latin-600-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("/fonts/barlow-condensed-latin-700-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("/fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("/fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("/fonts/cormorant-garamond-latin-700-normal.woff2") format("woff2");
}

:root {
  --maya-night: #060705;
  --maya-night-soft: #0b0c09;
  --maya-stone: #151511;
  --maya-stone-light: #24231d;
  --maya-bone: #e9e0d0;
  --maya-muted: #a39b8d;
  --maya-bronze: #b88a4a;
  --maya-bronze-light: #d6b777;
  --maya-ember: #74342f;
  --maya-leaf: #142119;
  --maya-line: rgba(214, 183, 119, .2);
  --maya-serif: "Montserrat", "Segoe UI", sans-serif;
  --maya-sans: "Montserrat", "Segoe UI", sans-serif;
  --maya-ease: cubic-bezier(.16, 1, .3, 1);
  --maya-step: polygon(0 0, calc(100% - 18px) 0, calc(100% - 18px) 6px, 100% 6px, 100% 100%, 18px 100%, 18px calc(100% - 6px), 0 calc(100% - 6px));
}

/* Tulumbra+ v45 — una entrada cinematográfica al club, no una landing. */
.tulumbra-maya-v22 {
  --maya-ember: #74342f;
  --maya-bronze: #a9824d;
  --maya-bronze-light: #d0b784;
  --maya-bone: #e7dfd1;
  --maya-line: rgba(208, 183, 132, .2);
  --hero-scene-y: 0px;
  --hero-copy-scroll-y: 0px;
  --hero-card-scroll-y: 0px;
  background:
    radial-gradient(circle at 48% 0%, rgba(65, 81, 55, .1), transparent 28%),
    #050604;
}

.tulumbra-maya-v22 .scroll-progress span {
  background: linear-gradient(90deg, #6f332e, #a9824d 54%, #d0b784);
  box-shadow: 0 0 16px rgba(169, 130, 77, .24);
}

/* The vine illustration hangs beyond the navigation instead of being cropped. */
.tulumbra-maya-v22 .public-header {
  z-index: 70;
  min-height: 78px;
  border-color: rgba(208, 183, 132, .17);
  background:
    linear-gradient(90deg, rgba(5, 6, 4, .96), rgba(7, 8, 6, .88)),
    url("/media/tulumbra-maya-stone-v1.webp") center 41% / 660px auto;
  box-shadow: 0 18px 58px rgba(0, 0, 0, .22);
}

.tulumbra-maya-v22 .public-header::after {
  top: 0;
  height: clamp(240px, 22vw, 410px);
  background-position: top center;
  background-size: 100% 100%;
  opacity: .72;
  filter: drop-shadow(0 22px 28px rgba(0, 0, 0, .48));
  -webkit-mask-image: linear-gradient(#000 0 46%, rgba(0, 0, 0, .88) 70%, transparent 100%);
  mask-image: linear-gradient(#000 0 46%, rgba(0, 0, 0, .88) 70%, transparent 100%);
  transform: translate3d(0, -2px, 0);
  transform-origin: top center;
}

.tulumbra-maya-v22 .public-header.scrolled::after {
  opacity: .38;
  transform: translate3d(0, -34px, 0) scale(1.015);
}

.tulumbra-maya-v22 .header-login {
  border-color: rgba(208, 183, 132, .48);
  background: rgba(5, 6, 4, .52);
  box-shadow: inset 0 0 0 1px rgba(208, 183, 132, .04);
}

.tulumbra-maya-v22 .public-header .brand-symbol,
.tulumbra-maya-v22 .club-footer-v16 .brand-symbol {
  display: block;
  width: 70px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .6));
}

.tulumbra-maya-v22 .brand {
  gap: 11px;
}

.tulumbra-maya-v22 .brand-name {
  color: var(--maya-bone);
  font-family: var(--maya-sans);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: .055em;
}

.tulumbra-maya-v22 .brand-name sup {
  color: var(--maya-bronze-light);
}

/* Immersive entrance. The scene, haze, light and copy move at different depths. */
.tulumbra-maya-v22 .club-cover {
  position: relative;
  min-height: max(920px, 100svh);
  isolation: isolate;
  overflow: hidden;
  background: #050604;
  background-image: none;
}

.maya-hero-scene {
  position: absolute;
  z-index: 0;
  inset: -5%;
  background: url("/media/tulumbra-maya-hero-v2.webp") center 48% / cover no-repeat;
  filter: saturate(.76) contrast(1.05) brightness(.78);
  transform: translate3d(0, var(--hero-scene-y), 0) scale(1.08);
  transform-origin: 52% 48%;
  transition: transform 180ms linear, filter 900ms ease, opacity 900ms ease;
  will-change: transform;
}

.maya-hero-scene::after {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 51%, rgba(194, 151, 89, .19), transparent 15%),
    radial-gradient(ellipse at 50% 58%, transparent 18%, rgba(2, 3, 2, .2) 56%, rgba(2, 3, 2, .68) 100%);
  content: "";
}

.tulumbra-maya-v22 .club-cover::before {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(3, 4, 3, .88) 0%, rgba(3, 4, 3, .68) 26%, rgba(3, 4, 3, .12) 54%, rgba(3, 4, 3, .18) 100%),
    linear-gradient(0deg, rgba(3, 4, 3, .97) 0%, rgba(3, 4, 3, .32) 31%, rgba(3, 4, 3, .14) 64%, rgba(3, 4, 3, .58) 100%);
}

.tulumbra-maya-v22 .club-cover::after {
  z-index: 2;
  top: 135px;
  bottom: 110px;
  left: clamp(24px, 5.8vw, 92px);
  background: linear-gradient(transparent, rgba(208, 183, 132, .5) 18%, rgba(208, 183, 132, .12) 82%, transparent);
  opacity: .68;
}

.tulumbra-maya-v22 .club-cover-shade {
  z-index: 1;
  background:
    radial-gradient(circle at 50% 48%, rgba(169, 130, 77, .1), transparent 18%),
    linear-gradient(0deg, rgba(4, 5, 3, .84), transparent 42%);
}

.maya-hero-light {
  position: absolute;
  z-index: 2;
  top: 20%;
  left: 50%;
  width: min(30vw, 430px);
  height: 58%;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(215, 177, 112, .12), rgba(125, 71, 47, .08) 46%, transparent 86%);
  filter: blur(34px);
  mix-blend-mode: screen;
  opacity: .64;
  pointer-events: none;
  transform: translate3d(-50%, calc(var(--hero-scene-y) * .45), 0);
}

.maya-hero-mist {
  position: absolute;
  z-index: 2;
  width: 44vw;
  height: 14vw;
  border-radius: 50%;
  background: rgba(174, 177, 148, .09);
  filter: blur(42px);
  opacity: .38;
  pointer-events: none;
  will-change: transform;
}

.maya-hero-mist-one {
  right: -8%;
  bottom: 28%;
  transform: translate3d(calc(var(--product-x, 0px) * -1), var(--hero-card-scroll-y), 0) rotate(-8deg);
}

.maya-hero-mist-two {
  bottom: 17%;
  left: -14%;
  opacity: .2;
  transform: translate3d(var(--product-x, 0px), calc(var(--hero-scene-y) * .6), 0) rotate(8deg);
}

.maya-hero-geometry { display: none; }

.maya-hero-index {
  top: 142px;
  right: clamp(24px, 4vw, 70px);
  opacity: .78;
  transform: translate3d(0, calc(var(--hero-card-scroll-y) * .55), 0);
}

.maya-hero-index span {
  color: var(--maya-bronze-light);
  font-size: 48px;
}

.tulumbra-maya-v22 .club-cover-main {
  z-index: 4;
  width: min(100%, 630px);
  max-width: 630px;
  padding: 32px 0 104px 24px;
  transform: translate3d(var(--copy-x, 0px), calc(var(--copy-y, 0px) - var(--hero-copy-scroll-y)), 0);
  transition: transform 180ms linear;
  will-change: transform;
}

.tulumbra-maya-v22 .club-cover-place {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--maya-bronze-light);
  font-family: var(--maya-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .28em;
}

.tulumbra-maya-v22 .club-cover-place::before {
  width: 34px;
  height: 1px;
  background: var(--maya-bronze);
  content: "";
}

.tulumbra-maya-v22 .club-cover-main h1 {
  margin: 34px 0 30px;
  gap: 3px;
  font-size: clamp(70px, 7.2vw, 118px);
  font-weight: 500;
  letter-spacing: -.07em;
  line-height: .78;
  text-shadow: 0 28px 80px rgba(0, 0, 0, .72);
}

.tulumbra-maya-v22 .club-cover-main h1 span {
  display: block;
  color: var(--maya-bone);
  -webkit-text-stroke: 0;
}

.tulumbra-maya-v22 .club-cover-main h1 i {
  width: max-content;
  margin: .4em 0 .35em .22em;
  color: var(--maya-bronze-light);
  font-family: var(--maya-sans);
  font-size: .13em;
  font-weight: 600;
  letter-spacing: .32em;
}

.tulumbra-maya-v22 .club-cover-main h1 span:last-child {
  color: rgba(231, 223, 209, .88);
  -webkit-text-stroke: 0;
}

.tulumbra-maya-v22 .club-cover-main > p {
  max-width: 510px;
  color: rgba(231, 223, 209, .72);
  font-size: 15px;
  line-height: 1.78;
  text-wrap: balance;
}

.tulumbra-maya-v22 .club-cover-actions a,
.tulumbra-maya-v22 .membership-tier-v16 > button,
.tulumbra-maya-v22 .club-last-call-v16 > button {
  border-color: var(--maya-bronze);
  background: var(--maya-bronze);
  color: #080806;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .26);
}

.tulumbra-maya-v22 .club-cover-actions button {
  border-color: rgba(208, 183, 132, .43);
  background: rgba(5, 6, 4, .38);
  backdrop-filter: blur(12px);
}

.tulumbra-maya-v22 .club-cover-actions a:hover,
.tulumbra-maya-v22 .club-cover-actions button:hover {
  border-color: var(--maya-bronze-light);
  box-shadow: 0 22px 58px rgba(0, 0, 0, .42), 0 0 0 1px rgba(208, 183, 132, .08) inset;
}

.tulumbra-maya-v22 .club-cover-event {
  z-index: 4;
  align-self: center;
  margin: 82px 0 94px;
  border: 1px solid rgba(208, 183, 132, .24);
  border-right-color: rgba(208, 183, 132, .08);
  padding: 24px;
  background: linear-gradient(125deg, rgba(9, 10, 7, .78), rgba(8, 9, 7, .46));
  box-shadow: 0 32px 92px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .025);
  backdrop-filter: blur(18px) saturate(.72);
  clip-path: none;
  transform: translate3d(var(--product-x, 0px), var(--hero-card-scroll-y), 0);
  transition: transform 200ms linear, border-color 350ms ease, background 350ms ease;
  will-change: transform;
}

.tulumbra-maya-v22 .club-cover-event:hover {
  border-color: rgba(208, 183, 132, .42);
  background: linear-gradient(125deg, rgba(13, 14, 10, .88), rgba(8, 9, 7, .58));
}

.tulumbra-maya-v22 .club-cover-members {
  z-index: 5;
  min-height: 92px;
  border-top: 1px solid rgba(208, 183, 132, .22);
  background: linear-gradient(90deg, rgba(4, 5, 3, .94), rgba(7, 8, 6, .8));
  box-shadow: 0 -26px 70px rgba(0, 0, 0, .24);
  backdrop-filter: blur(18px);
}

.club-cover-proof {
  display: grid;
  gap: 7px;
}

.club-cover-proof strong {
  font-family: var(--maya-serif);
  font-size: 19px;
  font-weight: 500;
}

.club-cover-proof small {
  color: rgba(231, 223, 209, .46);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.maya-hero-scroll {
  position: absolute;
  z-index: 5;
  right: clamp(24px, 4vw, 70px);
  bottom: 118px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: rgba(231, 223, 209, .42);
  font-size: 7px;
  font-weight: 600;
  letter-spacing: .22em;
  pointer-events: none;
  transform: rotate(-90deg) translateX(100%);
  transform-origin: right bottom;
}

.maya-hero-scroll i {
  position: relative;
  display: block;
  width: 52px;
  height: 1px;
  overflow: hidden;
  background: rgba(208, 183, 132, .22);
}

.maya-hero-scroll i::after {
  position: absolute;
  inset: 0;
  background: var(--maya-bronze-light);
  content: "";
  transform: translateX(-100%);
}

/* Sections feel carved from the same place instead of stacked cards. */
.tulumbra-maya-v22 .club-calendar {
  border-top: 1px solid rgba(208, 183, 132, .16);
  background:
    radial-gradient(circle at 84% 16%, rgba(45, 68, 47, .16), transparent 28%),
    linear-gradient(105deg, rgba(7, 8, 6, .96), rgba(12, 12, 9, .88)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 850px auto;
}

.tulumbra-maya-v22 .club-calendar::after {
  top: auto;
  right: -5%;
  bottom: -20%;
  width: 46vw;
  border: 0;
  background: radial-gradient(ellipse, rgba(53, 79, 55, .13), transparent 66%);
  filter: blur(20px);
  transform: none;
}

.tulumbra-maya-v22 .club-section-head {
  z-index: 2;
}

.tulumbra-maya-v22 .club-section-head h2,
.tulumbra-maya-v22 .tulumbra-gallery-heading h2,
.tulumbra-maya-v22 .club-shop-head h2,
.tulumbra-maya-v22 .membership-gate-v16 h2,
.tulumbra-maya-v22 .club-last-call-v16 h2,
.tulumbra-maya-v22 .song-request-copy h2 {
  color: var(--maya-bone);
  font-weight: 500;
  letter-spacing: -.055em;
}

.tulumbra-maya-v22 .club-program-card {
  border-color: rgba(208, 183, 132, .18);
  background: rgba(6, 7, 5, .74);
  box-shadow: 0 28px 90px rgba(0, 0, 0, .25);
  clip-path: none;
  transition: border-color 500ms ease, box-shadow 700ms var(--maya-ease), transform 700ms var(--maya-ease);
}

.tulumbra-maya-v22 .club-program-card:hover {
  border-color: rgba(208, 183, 132, .36);
  box-shadow: 0 42px 110px rgba(0, 0, 0, .4);
  transform: translateY(-8px);
}

.tulumbra-maya-v22 .club-program-poster {
  overflow: hidden;
}

.tulumbra-maya-v22 .club-program-poster img,
.tulumbra-maya-v22 .tulumbra-gallery-card img,
.tulumbra-maya-v22 .club-shop-card img {
  transition: filter 900ms ease, transform 1100ms var(--maya-ease);
}

.tulumbra-maya-v22 .club-program-card:hover .club-program-poster img,
.tulumbra-maya-v22 .tulumbra-gallery-card:hover img,
.tulumbra-maya-v22 .club-shop-card:hover img {
  filter: saturate(1.05) contrast(1.03);
  transform: scale(1.045);
}

.tulumbra-maya-v22 .tulumbra-gallery-section {
  border-top: 1px solid rgba(208, 183, 132, .14);
  background:
    radial-gradient(circle at 7% 80%, rgba(42, 70, 48, .28), transparent 31%),
    radial-gradient(circle at 88% 12%, rgba(113, 52, 47, .08), transparent 24%),
    linear-gradient(145deg, #080a07, #040503 74%);
}

.tulumbra-maya-v22 .tulumbra-gallery-card {
  border-color: rgba(208, 183, 132, .14);
  clip-path: none;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
  transition: border-color 500ms ease, box-shadow 700ms var(--maya-ease), transform 700ms var(--maya-ease);
}

.tulumbra-maya-v22 .tulumbra-gallery-card:hover {
  border-color: rgba(208, 183, 132, .32);
  box-shadow: 0 38px 96px rgba(0, 0, 0, .42);
  transform: translateY(-7px);
}

.tulumbra-maya-v22 .club-song-request {
  background:
    radial-gradient(circle at 26% 46%, rgba(68, 95, 66, .18), transparent 30%),
    linear-gradient(105deg, rgba(5, 6, 4, .98), rgba(12, 13, 9, .88)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 760px auto;
}

.tulumbra-maya-v22 .song-request-art {
  background:
    radial-gradient(circle at 50% 48%, rgba(169, 130, 77, .16), transparent 32%),
    linear-gradient(145deg, rgba(20, 35, 24, .8), rgba(4, 5, 3, .98));
}

.tulumbra-maya-v22 .club-shop-v19 {
  background:
    radial-gradient(circle at 86% 16%, rgba(113, 52, 47, .06), transparent 28%),
    linear-gradient(180deg, #070806, #050604);
}

.tulumbra-maya-v22 .club-shop-card {
  border-color: rgba(208, 183, 132, .16);
  background: linear-gradient(145deg, rgba(18, 18, 14, .96), rgba(6, 7, 5, .98));
  clip-path: none;
  transition: border-color 500ms ease, box-shadow 700ms var(--maya-ease), transform 700ms var(--maya-ease);
}

.tulumbra-maya-v22 .club-shop-card:hover {
  border-color: rgba(208, 183, 132, .34);
  box-shadow: 0 38px 96px rgba(0, 0, 0, .4);
  transform: translateY(-7px);
}

.tulumbra-maya-v22 .membership-gate-v16 {
  border-top: 1px solid rgba(208, 183, 132, .15);
  background:
    linear-gradient(90deg, rgba(4, 5, 3, .98) 0%, rgba(4, 5, 3, .88) 44%, rgba(4, 5, 3, .3) 100%),
    url("/media/tulumbra-maya-gate-v1.webp") 78% center / min(66vw, 940px) auto no-repeat,
    #050604;
}

.tulumbra-maya-v22 .membership-tier-v16 {
  border-color: rgba(208, 183, 132, .3);
  background: linear-gradient(125deg, rgba(17, 17, 13, .9), rgba(6, 7, 5, .96));
  clip-path: none;
  backdrop-filter: blur(16px);
}

.tulumbra-maya-v22 .club-last-call-v16 {
  border-top: 1px solid rgba(208, 183, 132, .14);
  background:
    radial-gradient(circle at 76% 44%, rgba(53, 76, 54, .16), transparent 30%),
    linear-gradient(100deg, rgba(7, 8, 6, .98), rgba(13, 13, 10, .88)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 720px auto;
}

/* Hero parallax steps are independent from the full-page progress bar. */
.tulumbra-maya-v22[data-hero-step="0"] { --hero-scene-y: 0px; --hero-copy-scroll-y: 0px; --hero-card-scroll-y: 0px; }
.tulumbra-maya-v22[data-hero-step="1"] { --hero-scene-y: 7px; --hero-copy-scroll-y: 5px; --hero-card-scroll-y: 3px; }
.tulumbra-maya-v22[data-hero-step="2"] { --hero-scene-y: 14px; --hero-copy-scroll-y: 10px; --hero-card-scroll-y: 6px; }
.tulumbra-maya-v22[data-hero-step="3"] { --hero-scene-y: 21px; --hero-copy-scroll-y: 16px; --hero-card-scroll-y: 9px; }
.tulumbra-maya-v22[data-hero-step="4"] { --hero-scene-y: 28px; --hero-copy-scroll-y: 22px; --hero-card-scroll-y: 12px; }
.tulumbra-maya-v22[data-hero-step="5"] { --hero-scene-y: 35px; --hero-copy-scroll-y: 28px; --hero-card-scroll-y: 15px; }
.tulumbra-maya-v22[data-hero-step="6"] { --hero-scene-y: 42px; --hero-copy-scroll-y: 34px; --hero-card-scroll-y: 18px; }
.tulumbra-maya-v22[data-hero-step="7"] { --hero-scene-y: 49px; --hero-copy-scroll-y: 40px; --hero-card-scroll-y: 21px; }
.tulumbra-maya-v22[data-hero-step="8"] { --hero-scene-y: 56px; --hero-copy-scroll-y: 46px; --hero-card-scroll-y: 24px; }
.tulumbra-maya-v22[data-hero-step="9"] { --hero-scene-y: 63px; --hero-copy-scroll-y: 52px; --hero-card-scroll-y: 27px; }
.tulumbra-maya-v22[data-hero-step="10"] { --hero-scene-y: 70px; --hero-copy-scroll-y: 58px; --hero-card-scroll-y: 30px; }

/* Entrance and section reveals. */
.tulumbra-maya-v22.motion-ready .maya-hero-scene {
  opacity: 0;
  filter: saturate(.68) contrast(1.03) brightness(.55);
  transform: translate3d(0, var(--hero-scene-y), 0) scale(1.14);
}

.tulumbra-maya-v22.motion-entered .maya-hero-scene {
  opacity: 1;
  filter: saturate(.76) contrast(1.05) brightness(.78);
  transform: translate3d(0, var(--hero-scene-y), 0) scale(1.08);
  transition: opacity 1400ms var(--maya-ease), filter 1800ms ease, transform 2000ms var(--maya-ease);
}

.tulumbra-maya-v22.motion-ready .club-cover-main,
.tulumbra-maya-v22.motion-ready .club-cover-event,
.tulumbra-maya-v22.motion-ready .club-cover-members,
.tulumbra-maya-v22.motion-ready .maya-hero-index,
.tulumbra-maya-v22.motion-ready .maya-hero-scroll {
  opacity: 0;
}

.tulumbra-maya-v22.motion-ready .club-cover-main {
  transform: translate3d(var(--copy-x, 0px), calc(46px - var(--hero-copy-scroll-y)), 0);
}

.tulumbra-maya-v22.motion-ready .club-cover-event {
  transform: translate3d(var(--product-x, 0px), calc(38px + var(--hero-card-scroll-y)), 0);
}

.tulumbra-maya-v22.motion-entered .club-cover-main,
.tulumbra-maya-v22.motion-entered .club-cover-event,
.tulumbra-maya-v22.motion-entered .club-cover-members,
.tulumbra-maya-v22.motion-entered .maya-hero-index,
.tulumbra-maya-v22.motion-entered .maya-hero-scroll {
  opacity: 1;
}

.tulumbra-maya-v22.motion-entered .club-cover-main {
  transform: translate3d(var(--copy-x, 0px), calc(var(--copy-y, 0px) - var(--hero-copy-scroll-y)), 0);
  transition: opacity 1000ms var(--maya-ease) 280ms, transform 1300ms var(--maya-ease) 280ms;
}

.tulumbra-maya-v22.motion-entered .club-cover-event {
  transform: translate3d(var(--product-x, 0px), var(--hero-card-scroll-y), 0);
  transition: opacity 1000ms var(--maya-ease) 620ms, transform 1400ms var(--maya-ease) 620ms, border-color 350ms ease, background 350ms ease;
}

.tulumbra-maya-v22.motion-entered .club-cover-members {
  transition: opacity 1000ms var(--maya-ease) 820ms;
}

.tulumbra-maya-v22.motion-entered .maya-hero-index,
.tulumbra-maya-v22.motion-entered .maya-hero-scroll {
  transition: opacity 1000ms var(--maya-ease) 900ms;
}

.tulumbra-maya-v22 .motion-reveal {
  opacity: 0;
  filter: blur(7px);
  transform: translate3d(0, 58px, 0) scale(.985);
  transition:
    opacity 900ms var(--maya-ease) var(--reveal-delay, 0ms),
    filter 1100ms ease var(--reveal-delay, 0ms),
    transform 1200ms var(--maya-ease) var(--reveal-delay, 0ms);
}

.tulumbra-maya-v22 .motion-reveal.is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) scale(1);
}

.tulumbra-maya-v22 .tulumbra-gallery-card:nth-child(even).motion-reveal {
  transform: translate3d(0, 78px, 0) scale(.98);
}

.tulumbra-maya-v22 .tulumbra-gallery-card:nth-child(even).motion-reveal.is-visible {
  transform: translate3d(0, 0, 0) scale(1);
}

@media (prefers-reduced-motion: no-preference) {
  .tulumbra-maya-v22 .club-cover { animation: none; }
  .tulumbra-maya-v22.motion-entered .maya-hero-light { animation: tulumbra-light-breathe 7s ease-in-out 1.2s infinite alternate; }
  .tulumbra-maya-v22.motion-entered .maya-hero-mist-one { animation: tulumbra-mist-one 16s ease-in-out 1s infinite alternate; }
  .tulumbra-maya-v22.motion-entered .maya-hero-mist-two { animation: tulumbra-mist-two 20s ease-in-out 2s infinite alternate; }
  .tulumbra-maya-v22.motion-entered .maya-hero-scroll i::after { animation: tulumbra-scroll-line 2.6s var(--maya-ease) 1.4s infinite; }
}

@keyframes tulumbra-light-breathe {
  from { opacity: .46; transform: translate3d(-50%, calc(var(--hero-scene-y) * .45), 0) scale(.92); }
  to { opacity: .78; transform: translate3d(-50%, calc(var(--hero-scene-y) * .45), 0) scale(1.08); }
}

@keyframes tulumbra-mist-one {
  from { transform: translate3d(-5%, var(--hero-card-scroll-y), 0) rotate(-8deg) scale(.94); }
  to { transform: translate3d(5%, calc(var(--hero-card-scroll-y) + 9px), 0) rotate(-4deg) scale(1.08); }
}

@keyframes tulumbra-mist-two {
  from { transform: translate3d(-3%, calc(var(--hero-scene-y) * .6), 0) rotate(8deg) scale(.94); }
  to { transform: translate3d(8%, calc(var(--hero-scene-y) * .6 + 7px), 0) rotate(4deg) scale(1.06); }
}

@keyframes tulumbra-scroll-line {
  0% { transform: translateX(-105%); }
  55%, 100% { transform: translateX(105%); }
}

@media (min-width: 961px) {
  .tulumbra-maya-v22 .club-cover {
    min-height: max(940px, 100svh);
    grid-template-columns: minmax(0, .96fr) minmax(300px, .4fr);
    background: #050604;
  }

  .maya-hero-scene { background-position: 50% 48%; }
}

@media (max-width: 960px) {
  .tulumbra-maya-v22 .public-header::after {
    height: clamp(190px, 29vw, 280px);
  }

  .tulumbra-maya-v22 .club-cover-main {
    max-width: 560px;
  }

  .tulumbra-maya-v22 .club-cover-event {
    margin-right: 0;
  }
}

@media (max-width: 700px) {
  .tulumbra-maya-v22 .public-header {
    min-height: calc(72px + var(--pwa-safe-top));
  }

  .tulumbra-maya-v22 .public-header::after {
    top: var(--pwa-safe-top);
    height: 188px;
    background-size: 100% 188px;
    opacity: .58;
  }

  .tulumbra-maya-v22 .public-header.scrolled::after {
    opacity: .3;
    transform: translate3d(0, -22px, 0) scale(1.01);
  }

  .tulumbra-maya-v22 .public-header .brand-symbol,
  .tulumbra-maya-v22 .club-footer-v16 .brand-symbol {
    width: 55px;
    height: 39px;
  }

  .tulumbra-maya-v22 .brand-name { font-size: 18px; }

  .tulumbra-maya-v22 .club-cover {
    min-height: max(860px, 100svh);
    grid-template-rows: 1fr auto auto;
    padding-top: calc(104px + var(--pwa-safe-top));
    background: #050604;
  }

  .maya-hero-scene {
    inset: -3%;
    background-position: 51% 44%;
    filter: saturate(.72) contrast(1.06) brightness(.74);
    transform: translate3d(0, calc(var(--hero-scene-y) * .55), 0) scale(1.09);
  }

  .tulumbra-maya-v22.motion-entered .maya-hero-scene {
    filter: saturate(.72) contrast(1.06) brightness(.74);
    transform: translate3d(0, calc(var(--hero-scene-y) * .55), 0) scale(1.09);
  }

  .tulumbra-maya-v22 .club-cover::before {
    background:
      linear-gradient(0deg, rgba(3, 4, 3, .98) 0%, rgba(3, 4, 3, .82) 39%, rgba(3, 4, 3, .18) 70%, rgba(3, 4, 3, .48) 100%),
      linear-gradient(90deg, rgba(3, 4, 3, .5), transparent 82%);
  }

  .maya-hero-light {
    top: 19%;
    width: 62vw;
    height: 44%;
  }

  .maya-hero-mist { width: 78vw; height: 30vw; }
  .maya-hero-index { display: none; }
  .maya-hero-scroll { display: none; }

  .tulumbra-maya-v22 .club-cover-main {
    align-self: end;
    width: 100%;
    max-width: 520px;
    padding: 96px 0 34px;
  }

  .tulumbra-maya-v22 .club-cover-main h1 {
    margin: 22px 0 22px;
    font-size: clamp(54px, 16.2vw, 78px);
    line-height: .8;
  }

  .tulumbra-maya-v22 .club-cover-main > p {
    max-width: 95%;
    font-size: 13px;
    line-height: 1.64;
  }

  .tulumbra-maya-v22 .club-cover-actions {
    margin-top: 26px;
  }

  .tulumbra-maya-v22 .club-cover-event {
    margin: 0 -18px;
    border-right: 0;
    border-left: 0;
    padding: 18px;
    background: rgba(5, 6, 4, .72);
    backdrop-filter: blur(16px);
  }

  .tulumbra-maya-v22 .club-cover-members {
    min-height: 78px;
  }

  .club-cover-proof { gap: 3px; }
  .club-cover-proof strong { font-size: 13px; }
  .club-cover-proof small { display: none; }

  .tulumbra-maya-v22 .club-program-card,
  .tulumbra-maya-v22 .tulumbra-gallery-card,
  .tulumbra-maya-v22 .club-shop-card {
    box-shadow: 0 22px 64px rgba(0, 0, 0, .24);
  }

  .tulumbra-maya-v22 .membership-gate-v16 {
    background:
      linear-gradient(0deg, rgba(4, 5, 3, .98) 0%, rgba(4, 5, 3, .82) 48%, rgba(4, 5, 3, .28) 100%),
      url("/media/tulumbra-maya-gate-v1.webp") center top / auto 60% no-repeat,
      #050604;
  }
}

/* v57 — el club privado comparte el mismo universo de marca que la portada. */
.member-page.member-maya-v22 {
  position: relative;
  isolation: isolate;
  padding-bottom: clamp(100px, 12vw, 180px);
  background:
    radial-gradient(circle at 86% 18%, rgba(104, 67, 43, .14), transparent 25%),
    radial-gradient(circle at 8% 58%, rgba(46, 78, 51, .16), transparent 28%),
    linear-gradient(180deg, rgba(4, 5, 4, .12), rgba(4, 5, 4, .92)),
    url("/media/tulumbra-maya-depth-texture-v2.webp") center top / 1180px auto repeat;
}

.member-page.member-maya-v22::before,
.member-page.member-maya-v22::after {
  position: fixed;
  z-index: -1;
  top: 72px;
  bottom: 0;
  width: min(23vw, 310px);
  background: url("/media/tulumbra-navbar-vines-v1.webp") top center / 690px auto no-repeat;
  content: "";
  opacity: .16;
  filter: saturate(.7) contrast(1.08);
  pointer-events: none;
}

.member-page.member-maya-v22::before { left: 0; background-position: 8% top; }
.member-page.member-maya-v22::after { right: 0; background-position: 92% top; transform: scaleX(-1); }

.member-maya-v22 .member-door-brandmark {
  position: absolute;
  z-index: 2;
  top: 86px;
  right: clamp(32px, 6vw, 92px);
  display: grid;
  width: clamp(92px, 10vw, 156px);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(208, 183, 132, .18);
  opacity: .2;
  transform: rotate(45deg);
}

.member-maya-v22 .member-door-brandmark::before,
.member-maya-v22 .member-door-brandmark::after {
  position: absolute;
  inset: 13px;
  border: 1px solid rgba(208, 183, 132, .2);
  content: "";
}

.member-maya-v22 .member-door-brandmark::after { inset: 27px; }
.member-maya-v22 .member-door-brand-symbol { width: 64%; transform: rotate(-45deg); filter: sepia(.25) brightness(1.25); }

.member-maya-v22 .member-next-date {
  position: relative;
  overflow: hidden;
  border-color: rgba(208, 183, 132, .25);
  background:
    linear-gradient(90deg, rgba(7, 8, 6, .98), rgba(10, 12, 9, .82)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 680px auto;
}

.member-maya-v22 .member-next-date::after {
  position: absolute;
  top: 50%;
  right: 4%;
  width: 120px;
  height: 120px;
  border: 1px solid rgba(208, 183, 132, .09);
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.member-maya-v22 .member-personalized {
  position: relative;
  overflow: hidden;
  border-color: rgba(208, 183, 132, .22);
  background:
    linear-gradient(110deg, rgba(7, 9, 7, .97), rgba(13, 18, 13, .88)),
    url("/media/tulumbra-maya-depth-texture-v2.webp") center / 920px auto;
}

.member-maya-v22 .member-personalized::before {
  position: absolute;
  top: -180px;
  right: -130px;
  width: 430px;
  aspect-ratio: 1;
  border: 1px solid rgba(208, 183, 132, .08);
  box-shadow: inset 0 0 0 42px rgba(208, 183, 132, .018), inset 0 0 0 86px rgba(208, 183, 132, .012);
  content: "";
  transform: rotate(45deg);
  pointer-events: none;
}

.member-maya-v22 .member-personalized > * { position: relative; z-index: 1; }

.member-maya-v22 .member-personal-empty,
.member-maya-v22 .member-current-bookings article,
.member-maya-v22 .member-recommended-products article {
  border-color: rgba(208, 183, 132, .17);
  background: rgba(5, 7, 5, .55);
}

.member-maya-v22 .member-night-actions button {
  position: relative;
  overflow: hidden;
  border-color: rgba(208, 183, 132, .18);
  background: linear-gradient(135deg, rgba(20, 22, 17, .92), rgba(7, 8, 6, .96));
}

.member-maya-v22 .member-night-actions button::after {
  position: absolute;
  right: -22px;
  bottom: -32px;
  width: 72px;
  height: 72px;
  border: 1px solid rgba(208, 183, 132, .08);
  content: "";
  transform: rotate(45deg);
}

.member-maya-v22 .member-main-grid { gap: clamp(28px, 4vw, 68px); }

.member-maya-v22 .member-pass-command {
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 28%, rgba(208, 183, 132, .1), transparent 25%),
    linear-gradient(135deg, rgba(28, 29, 24, .97), rgba(5, 6, 5, .99) 70%),
    url("/media/tulumbra-maya-stone-v1.webp") center / 660px auto;
}

.member-maya-v22 .member-pass-command::after {
  top: auto;
  right: -82px;
  bottom: -125px;
  width: 310px;
  border-color: rgba(208, 183, 132, .14);
}

.member-maya-v22 .member-pass-seal {
  position: absolute;
  z-index: 1;
  top: 80px;
  right: clamp(22px, 4vw, 54px);
  display: grid;
  width: clamp(104px, 14vw, 180px);
  justify-items: center;
  gap: 12px;
  opacity: .16;
}

.member-maya-v22 .member-pass-symbol {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  filter: sepia(.3) brightness(1.35);
}
.member-maya-v22 .member-pass-seal span { font-size: 10px; font-weight: 700; letter-spacing: .2em; }
.member-maya-v22 .member-pass-identity,
.member-maya-v22 .member-pass-wordmark,
.member-maya-v22 .member-pass-command > footer { position: relative; z-index: 2; }

.member-maya-v22 .member-benefits {
  counter-reset: member-benefit;
  border-top: 1px solid rgba(208, 183, 132, .16);
}

.member-maya-v22 .member-benefits > article {
  position: relative;
  min-height: 150px;
  overflow: hidden;
  border-color: rgba(208, 183, 132, .13);
  background:
    linear-gradient(145deg, rgba(18, 19, 15, .9), rgba(7, 8, 6, .95)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 520px auto;
  counter-increment: member-benefit;
}

.member-maya-v22 .member-benefits > article::after {
  position: absolute;
  right: 14px;
  bottom: 6px;
  color: rgba(208, 183, 132, .08);
  content: "0" counter(member-benefit);
  font-family: var(--maya-serif);
  font-size: 70px;
  line-height: 1;
}

.member-maya-v22 .benefit-type {
  border-color: rgba(208, 183, 132, .4);
  color: var(--maya-bronze-light);
  transform: rotate(45deg);
}

.member-maya-v22 .benefit-type > * { transform: rotate(-45deg); }

.member-maya-v22 .member-venues article {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  border-color: rgba(208, 183, 132, .22);
  background-position: center;
  background-size: cover;
  isolation: isolate;
}

.member-maya-v22 .member-venues article::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(0deg, rgba(4, 5, 4, .98), rgba(4, 5, 4, .3) 76%);
  content: "";
}

.member-maya-v22 .member-venues .tulum-card { background-image: url("/media/tulumbra-maya-hero-v2.webp"); }
.member-maya-v22 .member-venues .epoca-card { background-image: url("/tulumbra-night-v2.webp"); }
.member-maya-v22 .member-venues article > * { position: relative; z-index: 1; }
.member-maya-v22 .member-venues h3 { margin-top: auto; font-family: var(--maya-serif); font-size: clamp(46px, 5vw, 74px); font-weight: 500; letter-spacing: -.06em; }
.member-maya-v22 .member-venues article.is-active-profile { box-shadow: inset 0 0 0 1px var(--maya-bronze), 0 32px 80px rgba(0, 0, 0, .34); }

.member-maya-v22 .member-orders-panel {
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(5, 7, 5, .54), rgba(5, 6, 5, .97) 30%),
    url("/tulumbra-shisha-v1.webp") center top / 100% auto no-repeat,
    url("/media/tulumbra-maya-depth-texture-v2.webp") center / 900px auto;
}

.member-maya-v22 .member-shisha-hero { min-height: 330px; align-items: end; }
.member-maya-v22 .member-shisha-hero > div { max-width: 680px; }

.member-maya-v22 .member-order-summary {
  border-color: rgba(208, 183, 132, .3);
  background: rgba(4, 5, 4, .94);
  box-shadow: 0 22px 72px rgba(0, 0, 0, .4);
}

.member-shell .member-shop-page,
.member-shell .account-grid {
  position: relative;
  background:
    radial-gradient(circle at 85% 12%, rgba(54, 82, 57, .14), transparent 28%),
    url("/media/tulumbra-maya-depth-texture-v2.webp") center top / 1080px auto repeat;
}

.member-shell .member-shop-page .club-shop-card,
.member-shell .account-grid .panel,
.member-shell .membership-settings {
  border-color: rgba(208, 183, 132, .17);
  background: linear-gradient(145deg, rgba(18, 19, 15, .94), rgba(6, 7, 5, .97));
}

@media (max-width: 700px) {
  .member-page.member-maya-v22 {
    background-size: auto, auto, auto, 660px auto;
  }

  .member-page.member-maya-v22::before,
  .member-page.member-maya-v22::after { display: none; }

  .member-maya-v22 .member-door-brandmark {
    top: 78px;
    right: 27px;
    width: 82px;
    opacity: .14;
  }

  .member-maya-v22 .member-personalized { padding: 24px 18px; }
  .member-maya-v22 .member-pass-seal { top: 82px; right: 20px; width: 92px; opacity: .12; }
  .member-maya-v22 .member-pass-command { min-height: 440px; }
  .member-maya-v22 .member-benefits { grid-template-columns: 1fr; }
  .member-maya-v22 .member-benefits > article { min-height: 126px; }
  .member-maya-v22 .member-benefits > article::after { font-size: 56px; }
  .member-maya-v22 .member-venues { grid-template-columns: 1fr; }
  .member-maya-v22 .member-venues article { min-height: 260px; }
  .member-maya-v22 .member-orders-panel { background-size: auto 470px, auto, 700px auto; }
  .member-maya-v22 .member-shisha-hero { min-height: 310px; }
}

@media (max-width: 420px) {
  .tulumbra-maya-v22 .club-cover-main h1 { font-size: clamp(50px, 15.4vw, 66px); }
  .tulumbra-maya-v22 .club-cover-place { font-size: 7px; letter-spacing: .21em; }
  .tulumbra-maya-v22 .club-cover-actions a,
  .tulumbra-maya-v22 .club-cover-actions button { padding-inline: 11px; font-size: 7px; }
  .tulumbra-maya-v22 .club-cover-members { grid-template-columns: minmax(0, 1fr) auto; }
  .tulumbra-maya-v22 .club-cover-members > span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .tulumbra-maya-v22 { --hero-scene-y: 0px !important; --hero-copy-scroll-y: 0px !important; --hero-card-scroll-y: 0px !important; }
  .tulumbra-maya-v22 .maya-hero-scene,
  .tulumbra-maya-v22 .club-cover-main,
  .tulumbra-maya-v22 .club-cover-event,
  .tulumbra-maya-v22 .motion-reveal {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }
}

body:has(.tulumbra-maya-v22),
body:has(.tulumbra-app-v22),
body:has(.tulumbra-door-v22) {
  background: var(--maya-night);
  color: var(--maya-bone);
}

.tulumbra-maya-v22,
.tulumbra-app-v22,
.tulumbra-door-v22 {
  --club-orange: var(--maya-ember);
  --club-paper: var(--maya-bone);
  --panel: var(--maya-stone);
  --panel-2: #1b1a15;
  --panel-3: var(--maya-stone-light);
  --line: rgba(214, 183, 119, .2);
  --line-soft: rgba(214, 183, 119, .11);
  --text: var(--maya-bone);
  --muted: var(--maya-muted);
  --club-display: var(--maya-sans);
}

/* Public navigation and hero */
.tulumbra-maya-v22 {
  background:
    radial-gradient(circle at 86% 6%, rgba(76, 103, 67, .08), transparent 24%),
    var(--maya-night);
}

.tulumbra-maya-v22 .scroll-progress span {
  background: linear-gradient(90deg, var(--maya-ember), var(--maya-bronze-light));
  box-shadow: 0 0 18px rgba(184, 70, 50, .28);
}

.tulumbra-maya-v22 .public-header {
  overflow: visible;
  border-bottom: 1px solid rgba(214, 183, 119, .14);
  background:
    linear-gradient(90deg, rgba(6, 7, 5, .96), rgba(8, 9, 7, .8)),
    url("/media/tulumbra-maya-stone-v1.webp") center 41% / 660px auto;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .14);
  backdrop-filter: blur(22px) saturate(.9);
}

.tulumbra-maya-v22 .public-header::after {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  height: 158px;
  background: url("/media/tulumbra-navbar-vines-v1.webp") top center / 100% auto no-repeat;
  content: "";
  opacity: .48;
  pointer-events: none;
  transform: translateY(-3px);
  transition: opacity 500ms ease, transform 700ms var(--maya-ease);
}

.tulumbra-maya-v22 .public-header > * {
  position: relative;
  z-index: 2;
}

.tulumbra-maya-v22 .public-header.scrolled {
  border-color: rgba(214, 183, 119, .23);
  background-color: rgba(6, 7, 5, .94);
  box-shadow: 0 20px 70px rgba(0, 0, 0, .44);
}

.tulumbra-maya-v22 .public-header.scrolled::after {
  opacity: .3;
  transform: translateY(-20px) scale(1.01);
}

.tulumbra-maya-v22 .brand-lockup strong,
.tulumbra-app-v22 .brand-lockup strong {
  font-family: var(--maya-sans);
  font-weight: 700;
  letter-spacing: -.035em;
}

.tulumbra-maya-v22 .brand-lockup small,
.tulumbra-app-v22 .brand-lockup small {
  color: rgba(214, 183, 119, .72);
  letter-spacing: .2em;
}

.tulumbra-maya-v22 .public-actions a {
  position: relative;
  color: rgba(233, 224, 208, .58);
  font-size: 9px;
  letter-spacing: .13em;
  font-family: var(--maya-sans);
  font-weight: 600;
}

.tulumbra-maya-v22 .public-actions a::after {
  position: absolute;
  right: 0;
  bottom: -10px;
  left: 0;
  height: 1px;
  background: var(--maya-bronze);
  content: "";
  opacity: 0;
  transform: scaleX(.25);
  transition: opacity 250ms ease, transform 450ms var(--maya-ease);
}

.tulumbra-maya-v22 .public-actions a:hover,
.tulumbra-maya-v22 .public-actions a.is-current {
  color: var(--maya-bone);
}

.tulumbra-maya-v22 .public-actions a.is-current::after,
.tulumbra-maya-v22 .public-actions a:hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.tulumbra-maya-v22 .header-login {
  border-color: rgba(214, 183, 119, .55);
  background: rgba(184, 138, 74, .08);
  color: var(--maya-bone);
  clip-path: var(--maya-step);
}

.tulumbra-maya-v22 .club-cover {
  min-height: max(820px, 100svh);
  overflow: hidden;
  background-image: url("/media/tulumbra-maya-hero-v1.webp");
  background-position: 58% center;
  background-size: cover;
}

.tulumbra-maya-v22 .club-cover::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 5, 4, .97) 0%, rgba(4, 5, 4, .86) 29%, rgba(4, 5, 4, .38) 59%, rgba(4, 5, 4, .2) 100%),
    linear-gradient(0deg, rgba(4, 5, 4, .94) 0%, transparent 48%, rgba(4, 5, 4, .42) 100%);
  content: "";
}

.tulumbra-maya-v22 .club-cover::after {
  position: absolute;
  z-index: 2;
  top: 120px;
  bottom: 78px;
  left: clamp(22px, 5.8vw, 92px);
  width: 1px;
  background: linear-gradient(transparent, rgba(214, 183, 119, .45) 20%, rgba(214, 183, 119, .1) 88%, transparent);
  content: "";
}

.tulumbra-maya-v22 .club-cover-shade {
  z-index: 1;
  background:
    radial-gradient(circle at 72% 44%, rgba(184, 70, 50, .09), transparent 28%),
    linear-gradient(0deg, rgba(6, 7, 5, .78), transparent 38%);
}

.maya-hero-geometry {
  position: absolute;
  z-index: 2;
  top: 18%;
  left: 46%;
  width: min(30vw, 460px);
  aspect-ratio: 1;
  opacity: .22;
  pointer-events: none;
  transform: rotate(45deg);
}

.maya-hero-geometry i {
  position: absolute;
  inset: calc(var(--ring, 0) * 13%);
  border: 1px solid rgba(214, 183, 119, .52);
}

.maya-hero-geometry i:nth-child(2) { --ring: 1; }
.maya-hero-geometry i:nth-child(3) { --ring: 2; }

.maya-hero-index {
  position: absolute;
  z-index: 3;
  top: 145px;
  right: clamp(24px, 4vw, 68px);
  display: grid;
  justify-items: end;
  color: rgba(233, 224, 208, .62);
  pointer-events: none;
}

.maya-hero-index span {
  color: var(--maya-bronze-light);
  font-family: var(--maya-serif);
  font-size: 44px;
  font-weight: 400;
  line-height: 1;
}

.maya-hero-index b,
.maya-hero-index small {
  margin-top: 7px;
  font-size: 7px;
  letter-spacing: .22em;
}

.maya-hero-index small { color: rgba(233, 224, 208, .34); }

.tulumbra-maya-v22 .club-cover-main,
.tulumbra-maya-v22 .club-cover-event,
.tulumbra-maya-v22 .club-cover-members {
  z-index: 4;
}

.tulumbra-maya-v22 .club-cover-main {
  max-width: 820px;
  padding-left: 22px;
}

.tulumbra-maya-v22 .club-cover-place {
  color: var(--maya-bronze-light);
  font-size: 8px;
  letter-spacing: .24em;
}

.tulumbra-maya-v22 .club-cover-main h1 {
  margin: 38px 0 32px;
  gap: 0;
  font-family: var(--maya-serif);
  font-size: clamp(82px, 9.6vw, 166px);
  font-weight: 400;
  letter-spacing: -.075em;
  line-height: .72;
  text-shadow: 0 20px 70px rgba(0, 0, 0, .62);
}

.tulumbra-maya-v22 .club-cover-main h1 i {
  margin: .15em 0 .1em .12em;
  color: var(--maya-ember);
  font-family: var(--maya-sans);
  font-size: .32em;
  font-weight: 400;
  -webkit-text-stroke: 0;
}

.tulumbra-maya-v22 .club-cover-main h1 span:last-child {
  color: rgba(233, 224, 208, .08);
  -webkit-text-stroke: 1px rgba(233, 224, 208, .74);
}

.tulumbra-maya-v22 .club-cover-main > p {
  max-width: 470px;
  color: rgba(233, 224, 208, .72);
  font-size: 15px;
  line-height: 1.75;
}

.tulumbra-maya-v22 .club-cover-actions {
  margin-top: 38px;
}

.tulumbra-maya-v22 .club-cover-actions a,
.tulumbra-maya-v22 .club-cover-actions button,
.tulumbra-maya-v22 .club-cover-event > button,
.tulumbra-maya-v22 .membership-tier-v16 > button,
.tulumbra-maya-v22 .club-last-call-v16 > button {
  border-color: rgba(214, 183, 119, .55);
  clip-path: var(--maya-step);
  transition: color 300ms ease, background 300ms ease, transform 500ms var(--maya-ease);
}

.tulumbra-maya-v22 .club-cover-actions a {
  background: var(--maya-ember);
  color: #0a0806;
}

.tulumbra-maya-v22 .club-cover-actions a:hover,
.tulumbra-maya-v22 .club-cover-actions button:hover {
  transform: translateY(-3px);
}

.tulumbra-maya-v22 .club-cover-event {
  border: 1px solid rgba(214, 183, 119, .24);
  padding: 22px;
  background:
    linear-gradient(115deg, rgba(11, 12, 9, .95), rgba(18, 17, 13, .78)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 620px auto;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .42);
  clip-path: var(--maya-step);
}

.tulumbra-maya-v22 .cover-event-date strong {
  color: var(--maya-bronze-light);
  font-family: var(--maya-serif);
  font-weight: 400;
}

.tulumbra-maya-v22 .club-cover-members {
  border-top-color: rgba(214, 183, 119, .22);
  background: linear-gradient(90deg, rgba(6, 7, 5, .94), rgba(6, 7, 5, .74));
}

/* Editorial sections */
.tulumbra-maya-v22 .club-calendar,
.tulumbra-maya-v22 .tulumbra-gallery-section,
.tulumbra-maya-v22 .club-song-request,
.tulumbra-maya-v22 .club-shop-v19,
.tulumbra-maya-v22 .membership-gate-v16,
.tulumbra-maya-v22 .club-last-call-v16 {
  position: relative;
  isolation: isolate;
}

.tulumbra-maya-v22 .club-calendar {
  overflow: hidden;
  background:
    linear-gradient(100deg, rgba(10, 11, 8, .94), rgba(10, 11, 8, .78)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 820px auto;
}

.tulumbra-maya-v22 .club-calendar::after {
  position: absolute;
  z-index: -1;
  top: -30%;
  right: -12%;
  width: 48vw;
  aspect-ratio: 1;
  border: 1px solid rgba(214, 183, 119, .13);
  content: "";
  transform: rotate(45deg);
}

.tulumbra-maya-v22 .club-section-head > span,
.tulumbra-maya-v22 .tulumbra-gallery-heading span,
.tulumbra-maya-v22 .club-shop-head span,
.tulumbra-maya-v22 .membership-gate-v16 > header > span,
.tulumbra-maya-v22 .club-last-call-v16 > span {
  color: var(--maya-bronze-light);
  letter-spacing: .24em;
}

.tulumbra-maya-v22 .club-section-head h2,
.tulumbra-maya-v22 .tulumbra-gallery-heading h2,
.tulumbra-maya-v22 .club-shop-head h2,
.tulumbra-maya-v22 .membership-gate-v16 h2,
.tulumbra-maya-v22 .club-last-call-v16 h2,
.tulumbra-maya-v22 .song-request-copy h2 {
  font-family: var(--maya-serif);
  font-weight: 400;
  letter-spacing: -.065em;
  text-transform: none;
}

.tulumbra-maya-v22 .club-program-card {
  gap: 0;
  border: 1px solid rgba(214, 183, 119, .16);
  background: rgba(8, 9, 7, .84);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .26);
  clip-path: var(--maya-step);
}

.tulumbra-maya-v22 .club-program-poster {
  min-height: 430px;
  border-right: 1px solid rgba(214, 183, 119, .14);
}

.tulumbra-maya-v22 .club-program-poster::after {
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(214, 183, 119, .22);
  content: "";
  pointer-events: none;
}

.tulumbra-maya-v22 .club-program-copy {
  min-height: 100%;
  padding: clamp(25px, 3.3vw, 52px);
  background:
    linear-gradient(125deg, rgba(16, 16, 12, .97), rgba(11, 12, 9, .9)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 620px auto;
}

.tulumbra-maya-v22 .club-program-copy h3 {
  font-family: var(--maya-serif);
  font-size: clamp(34px, 4vw, 62px);
  font-weight: 400;
  text-transform: none;
}

.tulumbra-maya-v22 .club-program-copy footer > button {
  color: var(--maya-bronze-light);
}

.tulumbra-maya-v22 .tulumbra-gallery-section {
  background:
    radial-gradient(circle at 8% 88%, rgba(33, 57, 41, .28), transparent 30%),
    linear-gradient(145deg, #090b08, #050604 72%);
}

.tulumbra-maya-v22 .tulumbra-gallery-heading {
  border-top: 1px solid rgba(214, 183, 119, .19);
  padding-top: 28px;
}

.tulumbra-maya-v22 .tulumbra-gallery-card {
  border: 1px solid rgba(214, 183, 119, .14);
  background: #0b0c09;
  clip-path: var(--maya-step);
}

.tulumbra-maya-v22 .tulumbra-gallery-card > span {
  background:
    linear-gradient(0deg, rgba(5, 6, 4, .9), transparent 62%),
    linear-gradient(90deg, rgba(11, 23, 15, .24), transparent);
}

.tulumbra-maya-v22 .club-song-request {
  border-top: 1px solid rgba(214, 183, 119, .14);
  border-bottom: 1px solid rgba(214, 183, 119, .14);
  background:
    linear-gradient(105deg, rgba(6, 7, 5, .96), rgba(12, 13, 10, .86)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 760px auto;
}

.tulumbra-maya-v22 .song-request-art {
  border-right: 1px solid rgba(214, 183, 119, .17);
  background:
    radial-gradient(circle at 50% 48%, rgba(184, 70, 50, .14), transparent 33%),
    linear-gradient(145deg, rgba(22, 34, 24, .74), rgba(5, 6, 4, .96));
}

.tulumbra-maya-v22 .song-request-art::before,
.tulumbra-maya-v22 .song-request-art::after {
  border-color: rgba(214, 183, 119, .28);
}

.tulumbra-maya-v22 .song-request-form {
  border: 1px solid rgba(214, 183, 119, .16);
  border-radius: 0;
  background: rgba(8, 9, 7, .72);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .22);
  clip-path: var(--maya-step);
}

.tulumbra-maya-v22 input,
.tulumbra-maya-v22 select,
.tulumbra-maya-v22 textarea,
.tulumbra-app-v22 input,
.tulumbra-app-v22 select,
.tulumbra-app-v22 textarea {
  border-color: rgba(214, 183, 119, .2);
  border-radius: 2px;
  background: rgba(6, 7, 5, .76);
}

.tulumbra-maya-v22 input:focus,
.tulumbra-maya-v22 select:focus,
.tulumbra-maya-v22 textarea:focus,
.tulumbra-app-v22 input:focus,
.tulumbra-app-v22 select:focus,
.tulumbra-app-v22 textarea:focus {
  border-color: var(--maya-bronze);
  box-shadow: 0 0 0 3px rgba(184, 138, 74, .1);
}

.tulumbra-maya-v22 .club-shop-v19 {
  background:
    radial-gradient(circle at 85% 18%, rgba(184, 70, 50, .07), transparent 27%),
    #080907;
}

.tulumbra-maya-v22 .club-shop-head {
  border-top: 1px solid rgba(214, 183, 119, .18);
}

.tulumbra-maya-v22 .club-shop-card {
  border: 1px solid rgba(214, 183, 119, .15);
  border-radius: 0;
  background:
    linear-gradient(145deg, rgba(21, 21, 17, .94), rgba(8, 9, 7, .96)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 690px auto;
  box-shadow: 0 28px 78px rgba(0, 0, 0, .22);
  clip-path: var(--maya-step);
}

.tulumbra-maya-v22 .club-shop-card-image {
  background: radial-gradient(circle at 50% 38%, rgba(184, 138, 74, .11), transparent 47%);
}

.tulumbra-maya-v22 .membership-gate-v16 {
  min-height: 860px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(5, 6, 4, .97) 0%, rgba(5, 6, 4, .88) 46%, rgba(5, 6, 4, .42) 100%),
    url("/media/tulumbra-maya-gate-v1.webp") 82% center / min(62vw, 860px) auto no-repeat,
    #060705;
}

.tulumbra-maya-v22 .membership-gate-v16::before {
  position: absolute;
  top: 74px;
  bottom: 74px;
  left: clamp(22px, 5.8vw, 92px);
  width: 1px;
  background: rgba(214, 183, 119, .25);
  content: "";
}

.tulumbra-maya-v22 .membership-gate-v16 > header,
.tulumbra-maya-v22 .membership-tiers-v16,
.tulumbra-maya-v22 .membership-legal-v16 {
  position: relative;
  z-index: 2;
}

.tulumbra-maya-v22 .membership-tier-v16 {
  border: 1px solid rgba(214, 183, 119, .28);
  border-radius: 0;
  background:
    linear-gradient(125deg, rgba(18, 18, 14, .94), rgba(7, 8, 6, .97)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 620px auto;
  box-shadow: 0 34px 100px rgba(0, 0, 0, .46);
  color: var(--maya-bone);
  clip-path: var(--maya-step);
}

.tulumbra-maya-v22 .membership-tier-v16 h3 {
  font-family: var(--maya-serif);
  font-weight: 400;
}

.tulumbra-maya-v22 .membership-tier-v16 > strong,
.tulumbra-maya-v22 .membership-tier-v16 > div small {
  color: var(--maya-bronze-light);
}

.tulumbra-maya-v22 .membership-tier-v16 ul,
.tulumbra-maya-v22 .membership-tier-v16 li {
  border-color: rgba(214, 183, 119, .15);
}

.tulumbra-maya-v22 .club-last-call-v16 {
  background:
    linear-gradient(100deg, rgba(9, 10, 7, .96), rgba(15, 15, 11, .8)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 720px auto;
}

.tulumbra-maya-v22 .club-footer-v16 {
  border-color: rgba(214, 183, 119, .16);
  background: #050604;
}

/* Logged-in product shell */
.tulumbra-app-v22 {
  min-height: 100svh;
  background:
    linear-gradient(115deg, rgba(6, 7, 5, .97), rgba(8, 9, 7, .9)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 900px auto;
}

.tulumbra-app-v22 .sidebar,
.tulumbra-app-v22 .mobile-header,
.tulumbra-app-v22 .mobile-bottom-nav {
  border-color: rgba(214, 183, 119, .15);
  background:
    linear-gradient(90deg, rgba(7, 8, 6, .97), rgba(12, 12, 9, .94)),
    url("/media/tulumbra-maya-stone-v1.webp") center 60% / 760px auto;
  backdrop-filter: blur(24px) saturate(.85);
}

.tulumbra-app-v22 .side-nav button {
  border-radius: 0;
  color: rgba(233, 224, 208, .54);
  font-family: var(--maya-sans);
  font-weight: 600;
}

.tulumbra-app-v22 .side-nav button:hover,
.tulumbra-app-v22 .side-nav button.active {
  background: rgba(184, 138, 74, .08);
  color: var(--maya-bone);
}

.tulumbra-app-v22 .side-nav button.active {
  box-shadow: inset 2px 0 0 var(--maya-bronze);
}

.tulumbra-app-v22 .desktop-nav-more em {
  display: grid;
  min-width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid rgba(214, 183, 119, .25);
  border-radius: 50%;
  color: var(--maya-bronze-light);
  font-size: 8px;
  font-style: normal;
}

.tulumbra-app-v22 .desktop-nav-popover {
  display: none;
}

.tulumbra-app-v22 .view {
  color: var(--maya-bone);
}

.tulumbra-app-v22 .view-header,
.tulumbra-app-v22 .section-header {
  border-color: rgba(214, 183, 119, .15);
}

.member-maya-v22 .member-door-hero {
  min-height: min(760px, calc(100svh - 92px));
  border: 1px solid rgba(214, 183, 119, .16);
  background-image: url("/media/tulumbra-maya-gate-v1.webp");
  background-position: 78% 48%;
  background-size: cover;
  box-shadow: 0 42px 120px rgba(0, 0, 0, .46);
  clip-path: var(--maya-step);
}

.member-maya-v22 .member-door-shade {
  background:
    linear-gradient(90deg, rgba(4, 5, 4, .98) 0%, rgba(4, 5, 4, .9) 39%, rgba(4, 5, 4, .34) 76%, rgba(4, 5, 4, .2) 100%),
    linear-gradient(0deg, rgba(4, 5, 4, .91), transparent 52%);
}

.member-maya-v22 .member-door-hero::after {
  position: absolute;
  z-index: 1;
  inset: 17px;
  border: 1px solid rgba(214, 183, 119, .18);
  content: "";
  pointer-events: none;
}

.member-maya-v22 .member-door-hero > header {
  border-color: rgba(214, 183, 119, .23);
}

.member-maya-v22 .member-door-hero > header b,
.member-maya-v22 .member-door-copy small {
  color: var(--maya-bronze-light);
}

.member-maya-v22 .member-door-copy h1 {
  max-width: 720px;
  font-family: var(--maya-serif);
  font-size: clamp(78px, 9vw, 144px);
  font-weight: 400;
  letter-spacing: -.065em;
  line-height: .74;
  text-transform: none;
  text-shadow: 0 18px 60px rgba(0, 0, 0, .6);
}

.member-maya-v22 .member-door-cta button {
  border-color: rgba(214, 183, 119, .44);
  border-radius: 0;
  background: rgba(7, 8, 6, .78);
  clip-path: var(--maya-step);
}

.member-maya-v22 .member-door-cta button:first-child {
  border-color: var(--maya-ember);
  background: var(--maya-ember);
}

.member-maya-v22 .member-door-facts,
.member-maya-v22 .member-door-facts > span {
  border-color: rgba(214, 183, 119, .18);
}

.member-maya-v22 .member-next-date,
.member-maya-v22 .member-ticket-highlight,
.member-maya-v22 .member-personalized,
.member-maya-v22 .member-orders-panel,
.member-maya-v22 .member-order-history {
  border: 1px solid rgba(214, 183, 119, .14);
  background:
    linear-gradient(125deg, rgba(18, 18, 14, .94), rgba(8, 9, 7, .96)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 760px auto;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .18);
}

.member-maya-v22 .member-personal-offers article,
.member-maya-v22 .member-night-actions button,
.member-maya-v22 .member-benefits > article,
.member-maya-v22 .member-venues article,
.member-maya-v22 .member-products article,
.tulumbra-app-v22 .metric-card,
.tulumbra-app-v22 .dashboard-card,
.tulumbra-app-v22 .stat-card {
  border-color: rgba(214, 183, 119, .14);
  border-radius: 2px;
  background: rgba(17, 17, 13, .86);
  box-shadow: 0 22px 64px rgba(0, 0, 0, .16);
}

.member-maya-v22 .member-pass-command {
  min-height: 470px;
  border: 1px solid rgba(214, 183, 119, .34);
  border-radius: 2px;
  background:
    linear-gradient(135deg, rgba(27, 27, 22, .94), rgba(8, 9, 7, .98)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 660px auto;
  color: var(--maya-bone);
  box-shadow:
    inset 0 1px rgba(255, 255, 255, .05),
    0 38px 100px rgba(0, 0, 0, .46);
  clip-path: var(--maya-step);
}

.member-maya-v22 .member-pass-command::before {
  width: 4px;
  background: linear-gradient(var(--maya-bronze-light), var(--maya-ember));
}

.member-maya-v22 .member-pass-command::after {
  position: absolute;
  top: -70px;
  right: -55px;
  width: 230px;
  aspect-ratio: 1;
  border: 1px solid rgba(214, 183, 119, .18);
  box-shadow: inset 0 0 0 28px rgba(214, 183, 119, .025), inset 0 0 0 55px rgba(214, 183, 119, .018);
  content: "";
  transform: rotate(45deg);
}

.member-maya-v22 .member-pass-command > header,
.member-maya-v22 .member-pass-command > footer {
  z-index: 2;
  border-color: rgba(214, 183, 119, .24);
}

.member-maya-v22 .member-pass-command > header b,
.member-maya-v22 .member-pass-identity small,
.member-maya-v22 .member-pass-wordmark i {
  color: var(--maya-bronze-light);
}

.member-maya-v22 .member-pass-identity strong,
.member-maya-v22 .member-pass-wordmark {
  font-family: var(--maya-serif);
  font-weight: 400;
  text-transform: none;
}

.member-maya-v22 .member-pass-command > footer > span {
  color: rgba(233, 224, 208, .48);
}

.member-maya-v22 .member-pass-command > footer button {
  border-color: var(--maya-bronze);
  border-radius: 0;
  background: var(--maya-bronze);
  color: #0b0906;
  clip-path: var(--maya-step);
}

.member-maya-v22 .member-section-title h2,
.member-maya-v22 .member-shisha-hero h2,
.member-maya-v22 .order-category-head h3,
.tulumbra-app-v22 .view h1,
.tulumbra-app-v22 .view h2 {
  font-family: var(--maya-serif);
  font-weight: 400;
}

.member-maya-v22 .eyebrow,
.member-maya-v22 .member-section-title > span,
.member-maya-v22 .order-category-head span {
  color: var(--maya-bronze-light);
  letter-spacing: .19em;
}

.tulumbra-app-v22 .mobile-bottom-nav button.active {
  background: rgba(184, 138, 74, .1);
  color: var(--maya-bronze-light);
}

/* Modals follow the same material language. */
body:has(.tulumbra-maya-v22) .modal,
body:has(.tulumbra-app-v22) .modal {
  border-color: rgba(214, 183, 119, .24);
  border-radius: 2px;
  background:
    linear-gradient(130deg, rgba(17, 17, 13, .98), rgba(7, 8, 6, .99)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 690px auto;
  box-shadow: 0 46px 140px rgba(0, 0, 0, .7);
  clip-path: none;
}

body:has(.tulumbra-maya-v22) .modal-header,
body:has(.tulumbra-app-v22) .modal-header {
  border-color: rgba(214, 183, 119, .17);
  background: rgba(6, 7, 5, .35);
}

body:has(.tulumbra-maya-v22) .modal-header > div > span,
body:has(.tulumbra-app-v22) .modal-header > div > span {
  color: var(--maya-bronze-light);
}

/* Login and transactional modals use the final bronze system, never the
 * orange accent inherited from the neutral product shell. */
body:has(.tulumbra-maya-v22) .modal .eyebrow,
body:has(.tulumbra-app-v22) .modal .eyebrow {
  color: #d0b784;
}

body:has(.tulumbra-maya-v22) .modal .primary,
body:has(.tulumbra-app-v22) .modal .primary {
  border: 1px solid #b9965d;
  background: linear-gradient(180deg, #c8aa73, #a9824d);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .28);
  color: #080806;
}

body:has(.tulumbra-maya-v22) .modal .primary:hover,
body:has(.tulumbra-app-v22) .modal .primary:hover {
  border-color: #d0b784;
  background: linear-gradient(180deg, #d0b784, #b08c55);
}

body:has(.tulumbra-maya-v22) .modal input:focus,
body:has(.tulumbra-maya-v22) .modal select:focus,
body:has(.tulumbra-maya-v22) .modal textarea:focus,
body:has(.tulumbra-app-v22) .modal input:focus,
body:has(.tulumbra-app-v22) .modal select:focus,
body:has(.tulumbra-app-v22) .modal textarea:focus {
  border-color: #b88a4a;
  box-shadow: 0 0 0 3px rgba(184, 138, 74, .16);
}

body:has(.tulumbra-maya-v22) .modal input[type="checkbox"],
body:has(.tulumbra-app-v22) .modal input[type="checkbox"] {
  accent-color: #b88a4a;
}

/* Door and bar keep the atmosphere without sacrificing speed. */
.tulumbra-door-v22 {
  background:
    linear-gradient(120deg, rgba(6, 7, 5, .96), rgba(7, 8, 6, .84)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 850px auto;
}

.tulumbra-door-v22 .door-reader-head,
.tulumbra-door-v22 .door-reader-foot {
  border-color: rgba(214, 183, 119, .18);
}

.tulumbra-door-v22 .door-reader-copy h1 {
  font-family: var(--maya-serif);
  font-weight: 400;
  letter-spacing: -.06em;
  text-transform: none;
}

.tulumbra-door-v22 .door-reader-camera {
  position: relative;
}

.tulumbra-door-v22 .camera-box {
  border-color: rgba(214, 183, 119, .35);
  background:
    linear-gradient(rgba(5, 6, 4, .62), rgba(5, 6, 4, .72)),
    url("/media/tulumbra-maya-gate-v1.webp") center / cover;
  box-shadow: 0 34px 100px rgba(0, 0, 0, .42);
  clip-path: var(--maya-step);
}

.tulumbra-door-v22 .scan-frame span {
  border-color: var(--maya-bronze-light);
}

.tulumbra-door-v22 .door-reader-start {
  border-color: var(--maya-bronze);
  border-radius: 0;
  background: var(--maya-bronze);
  color: #0b0906;
  clip-path: var(--maya-step);
}

.tulumbra-app-v22 .bar-terminal {
  background:
    linear-gradient(110deg, rgba(7, 8, 6, .96), rgba(10, 11, 8, .9)),
    url("/media/tulumbra-maya-stone-v1.webp") center / 880px auto;
}

.tulumbra-app-v22 .bar-command-bar {
  border-color: rgba(214, 183, 119, .18);
  background: rgba(7, 8, 6, .94);
}

.tulumbra-app-v22 .bar-metrics article,
.tulumbra-app-v22 .bar-stage,
.tulumbra-app-v22 .bar-order-card {
  border-color: rgba(214, 183, 119, .15);
  border-radius: 2px;
  background: rgba(18, 18, 14, .9);
}

/* CSP-safe motion, accents and charts. */
.motion-delay-0 { --reveal-delay: 0ms; }
.motion-delay-1 { --reveal-delay: 75ms; }
.motion-delay-2 { --reveal-delay: 150ms; }
.motion-delay-3 { --reveal-delay: 225ms; }
.motion-delay-4 { --reveal-delay: 300ms; }
.view-delay-0 { --view-delay: 0ms; }
.view-delay-1 { --view-delay: 55ms; }
.view-delay-2 { --view-delay: 110ms; }
.view-delay-3 { --view-delay: 165ms; }

.shisha-accent-ember { --shisha-accent: #b84632; }
.shisha-accent-tropic { --shisha-accent: #ff7a2f; }
.shisha-accent-mango { --shisha-accent: #f14c28; }
.shisha-accent-mint { --shisha-accent: #9ee44d; }
.shisha-accent-citrus { --shisha-accent: #ffd15c; }
.shisha-accent-grape { --shisha-accent: #b66cff; }
.shisha-accent-melon { --shisha-accent: #36d6d0; }
.shisha-accent-rose { --shisha-accent: #f37aa2; }
.shisha-accent-vanilla { --shisha-accent: #dca86a; }

.pct-w-0 { width: 0%; }
.pct-w-5 { width: 5%; }
.pct-w-10 { width: 10%; }
.pct-w-15 { width: 15%; }
.pct-w-20 { width: 20%; }
.pct-w-25 { width: 25%; }
.pct-w-30 { width: 30%; }
.pct-w-35 { width: 35%; }
.pct-w-40 { width: 40%; }
.pct-w-45 { width: 45%; }
.pct-w-50 { width: 50%; }
.pct-w-55 { width: 55%; }
.pct-w-60 { width: 60%; }
.pct-w-65 { width: 65%; }
.pct-w-70 { width: 70%; }
.pct-w-75 { width: 75%; }
.pct-w-80 { width: 80%; }
.pct-w-85 { width: 85%; }
.pct-w-90 { width: 90%; }
.pct-w-95 { width: 95%; }
.pct-w-100 { width: 100%; }
.pct-h-0 { height: 0%; }
.pct-h-5 { height: 5%; }
.pct-h-10 { height: 10%; }
.pct-h-15 { height: 15%; }
.pct-h-20 { height: 20%; }
.pct-h-25 { height: 25%; }
.pct-h-30 { height: 30%; }
.pct-h-35 { height: 35%; }
.pct-h-40 { height: 40%; }
.pct-h-45 { height: 45%; }
.pct-h-50 { height: 50%; }
.pct-h-55 { height: 55%; }
.pct-h-60 { height: 60%; }
.pct-h-65 { height: 65%; }
.pct-h-70 { height: 70%; }
.pct-h-75 { height: 75%; }
.pct-h-80 { height: 80%; }
.pct-h-85 { height: 85%; }
.pct-h-90 { height: 90%; }
.pct-h-95 { height: 95%; }
.pct-h-100 { height: 100%; }

.tulumbra-maya-v22[data-scroll-step="0"] { --scroll-progress: 0%; --hero-copy-scroll-y: 0px; --hero-product-scroll-y: 0px; --hero-bg-y: 0px; }
.tulumbra-maya-v22[data-scroll-step="1"] { --scroll-progress: 10%; --hero-copy-scroll-y: 4px; --hero-product-scroll-y: 7px; --hero-bg-y: 4px; }
.tulumbra-maya-v22[data-scroll-step="2"] { --scroll-progress: 20%; --hero-copy-scroll-y: 7px; --hero-product-scroll-y: 13px; --hero-bg-y: 9px; }
.tulumbra-maya-v22[data-scroll-step="3"] { --scroll-progress: 30%; --hero-copy-scroll-y: 11px; --hero-product-scroll-y: 20px; --hero-bg-y: 13px; }
.tulumbra-maya-v22[data-scroll-step="4"] { --scroll-progress: 40%; --hero-copy-scroll-y: 14px; --hero-product-scroll-y: 26px; --hero-bg-y: 18px; }
.tulumbra-maya-v22[data-scroll-step="5"] { --scroll-progress: 50%; --hero-copy-scroll-y: 18px; --hero-product-scroll-y: 33px; --hero-bg-y: 22px; }
.tulumbra-maya-v22[data-scroll-step="6"] { --scroll-progress: 60%; --hero-copy-scroll-y: 21px; --hero-product-scroll-y: 39px; --hero-bg-y: 26px; }
.tulumbra-maya-v22[data-scroll-step="7"] { --scroll-progress: 70%; --hero-copy-scroll-y: 25px; --hero-product-scroll-y: 46px; --hero-bg-y: 31px; }
.tulumbra-maya-v22[data-scroll-step="8"] { --scroll-progress: 80%; --hero-copy-scroll-y: 28px; --hero-product-scroll-y: 52px; --hero-bg-y: 35px; }
.tulumbra-maya-v22[data-scroll-step="9"] { --scroll-progress: 90%; --hero-copy-scroll-y: 32px; --hero-product-scroll-y: 59px; --hero-bg-y: 40px; }
.tulumbra-maya-v22[data-scroll-step="10"] { --scroll-progress: 100%; --hero-copy-scroll-y: 35px; --hero-product-scroll-y: 65px; --hero-bg-y: 44px; }

.club-cover[data-pointer-depth^="left-"] { --copy-x: 4px; --product-x: -9px; --glare-x: 25%; }
.club-cover[data-pointer-depth^="right-"] { --copy-x: -4px; --product-x: 9px; --glare-x: 77%; }
.club-cover[data-pointer-depth^="center-"] { --copy-x: 0px; --product-x: 0px; --glare-x: 50%; }
.club-cover[data-pointer-depth$="-top"] { --copy-y: 3px; --product-y: -6px; --glare-y: 24%; }
.club-cover[data-pointer-depth$="-bottom"] { --copy-y: -3px; --product-y: 6px; --glare-y: 72%; }
.club-cover[data-pointer-depth$="-middle"] { --copy-y: 0px; --product-y: 0px; --glare-y: 48%; }

@media (min-width: 961px) {
  .app-shell.tulumbra-app-v22 {
    display: block;
  }

  .tulumbra-app-v22 .sidebar {
    position: sticky;
    z-index: 55;
    inset: auto;
    top: 0;
    display: grid;
    width: 100%;
    height: 78px;
    grid-template-columns: 178px minmax(0, 1fr) minmax(190px, 224px);
    align-items: center;
    border-right: 0;
    border-bottom: 1px solid rgba(214, 183, 119, .17);
    overflow: visible;
    padding: 0 clamp(14px, 2vw, 32px);
    box-shadow: 0 18px 62px rgba(0, 0, 0, .28);
  }

  .tulumbra-app-v22 .sidebar::after {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    left: 0;
    height: 148px;
    background: url("/media/tulumbra-navbar-vines-v1.webp") top center / 100% auto no-repeat;
    content: "";
    opacity: .34;
    pointer-events: none;
  }

  .tulumbra-app-v22 .sidebar > * {
    position: relative;
    z-index: 2;
  }

  .tulumbra-app-v22 .sidebar-brand {
    display: flex;
    height: 100%;
    align-items: center;
    border: 0;
    padding: 0 24px 0 0;
  }

  .tulumbra-app-v22 .group-label { display: none; }

  .tulumbra-app-v22 .side-nav {
    display: flex;
    height: 100%;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    overflow-x: auto;
    padding: 0 4px;
    scrollbar-width: none;
  }

  .tulumbra-app-v22 .side-nav::-webkit-scrollbar { display: none; }

  .tulumbra-app-v22 .side-nav button {
    position: relative;
    width: auto;
    min-width: 66px;
    max-width: 126px;
    height: 100%;
    flex: 1 1 auto;
    justify-content: center;
    gap: 5px;
    padding: 0 clamp(5px, .65vw, 10px);
    font-size: 8.5px;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  .tulumbra-app-v22 .side-nav button span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tulumbra-app-v22 .side-nav button i svg {
    width: 17px;
    height: 17px;
  }

  .tulumbra-app-v22 .side-nav button::after {
    position: absolute;
    right: 12px;
    bottom: -1px;
    left: 12px;
    height: 1px;
    background: var(--maya-bronze-light);
    content: "";
    opacity: 0;
    transform: scaleX(.3);
    transition: opacity 250ms ease, transform 400ms var(--maya-ease);
  }

  .tulumbra-app-v22 .side-nav button.active {
    background: rgba(184, 138, 74, .06);
    box-shadow: none;
  }

  .tulumbra-app-v22 .side-nav button.active::after {
    opacity: 1;
    transform: scaleX(1);
  }

  .tulumbra-app-v22 .side-nav button b { display: none; }

  .tulumbra-app-v22 .desktop-nav-popover {
    position: absolute;
    z-index: 8;
    top: calc(100% + 12px);
    right: clamp(24px, 5vw, 72px);
    display: block;
    width: min(660px, calc(100vw - 48px));
    border: 1px solid rgba(214, 183, 119, .24);
    background:
      linear-gradient(120deg, rgba(8, 9, 7, .98), rgba(17, 17, 13, .97)),
      url("/media/tulumbra-maya-stone-v1.webp") center / 700px auto;
    box-shadow: 0 36px 110px rgba(0, 0, 0, .72);
    opacity: 0;
    padding: 20px;
    pointer-events: none;
    transform: translateY(-10px) scale(.985);
    transform-origin: top right;
    transition: opacity 220ms ease, transform 420ms var(--maya-ease), visibility 0s linear 420ms;
    visibility: hidden;
  }

  .tulumbra-app-v22 .desktop-nav-popover.open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    transition-delay: 0s;
    visibility: visible;
  }

  .tulumbra-app-v22 .desktop-nav-popover header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(214, 183, 119, .16);
    padding: 0 2px 15px;
  }

  .tulumbra-app-v22 .desktop-nav-popover header span {
    color: var(--maya-ember);
    font-family: var(--maya-sans);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .16em;
  }

  .tulumbra-app-v22 .desktop-nav-popover header strong {
    color: var(--maya-bone);
    font-family: var(--maya-serif);
    font-size: 29px;
    font-weight: 600;
    line-height: .9;
  }

  .tulumbra-app-v22 .desktop-nav-popover > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .tulumbra-app-v22 .desktop-nav-popover button {
    display: grid;
    min-height: 62px;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(214, 183, 119, .1);
    background: rgba(255, 255, 255, .018);
    padding: 10px 12px;
    color: rgba(233, 224, 208, .62);
    font-family: var(--maya-sans);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .055em;
    text-align: left;
    text-transform: uppercase;
    transition: border-color 220ms ease, background 220ms ease, color 220ms ease;
  }

  .tulumbra-app-v22 .desktop-nav-popover button:hover,
  .tulumbra-app-v22 .desktop-nav-popover button.active {
    border-color: rgba(214, 183, 119, .36);
    background: rgba(184, 138, 74, .09);
    color: var(--maya-bone);
  }

  .tulumbra-app-v22 .desktop-nav-popover button i {
    display: grid;
    place-items: center;
    color: var(--maya-bronze);
  }

  .tulumbra-app-v22 .desktop-nav-popover button i svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .tulumbra-app-v22 .desktop-nav-popover button b {
    color: var(--maya-bronze-light);
    font-size: 16px;
    font-weight: 400;
  }

  .tulumbra-app-v22 .sidebar-user {
    height: 100%;
    justify-self: end;
    border: 0;
    min-width: 0;
    padding: 0 0 0 12px;
  }

  .tulumbra-app-v22 .app-main { grid-column: auto; }

  .tulumbra-app-v22 .view {
    width: min(1720px, 100%);
    padding-top: clamp(30px, 3.5vw, 58px);
  }
}

@media (max-width: 960px) {
  .tulumbra-app-v22 .desktop-nav-more { display: none; }

  .tulumbra-app-v22 .desktop-nav-popover {
    display: block;
    max-height: 44vh;
    overflow-y: auto;
    border-top: 1px solid rgba(214, 183, 119, .13);
    padding: 8px 11px 14px;
  }

  .tulumbra-app-v22 .desktop-nav-popover header { display: none; }

  .tulumbra-app-v22 .desktop-nav-popover > div {
    display: grid;
    gap: 3px;
  }

  .tulumbra-app-v22 .desktop-nav-popover button {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 12px;
    border: 0;
    background: transparent;
    padding: 10px 11px;
    color: rgba(233, 224, 208, .56);
    font-family: var(--maya-sans);
    font-size: 13px;
    font-weight: 600;
    text-align: left;
  }

  .tulumbra-app-v22 .desktop-nav-popover button.active {
    background: rgba(184, 138, 74, .09);
    color: var(--maya-bone);
  }

  .tulumbra-app-v22 .desktop-nav-popover button i {
    display: grid;
    width: 21px;
    place-items: center;
    color: var(--maya-bronze);
  }

  .tulumbra-app-v22 .desktop-nav-popover button i svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .tulumbra-app-v22 .desktop-nav-popover button b {
    margin-left: auto;
    color: var(--maya-bronze-light);
    font-size: 17px;
  }

  .tulumbra-maya-v22 .club-cover {
    min-height: 900px;
    background-position: 67% center;
  }

  .maya-hero-index { display: none; }

  .maya-hero-geometry {
    top: 19%;
    left: 55%;
    width: 360px;
  }

  .member-maya-v22 .member-door-hero {
    background-position: 64% center;
  }
}

@media (max-width: 700px) {
  .tulumbra-maya-v22 .public-header {
    background:
      linear-gradient(90deg, rgba(6, 7, 5, .97), rgba(9, 10, 7, .94)),
      url("/media/tulumbra-maya-stone-v1.webp") center / 560px auto;
  }

  .tulumbra-maya-v22 .public-header::after {
    height: 116px;
    background-size: 560px auto;
    opacity: .4;
  }

  .tulumbra-app-v22 .mobile-header {
    overflow: visible;
  }

  .tulumbra-app-v22 .mobile-header::after {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    left: 0;
    height: 104px;
    background: url("/media/tulumbra-navbar-vines-v1.webp") top center / 520px auto no-repeat;
    content: "";
    opacity: .3;
    pointer-events: none;
  }

  .tulumbra-app-v22 .mobile-header > * {
    position: relative;
    z-index: 2;
  }

  .tulumbra-maya-v22 .club-cover {
    min-height: max(760px, 100svh);
    grid-template-rows: 1fr auto;
    padding-top: calc(100px + var(--pwa-safe-top));
    background-position: 69% center;
  }

  .tulumbra-maya-v22 .club-cover::before {
    background:
      linear-gradient(0deg, rgba(4, 5, 4, .97) 0%, rgba(4, 5, 4, .72) 47%, rgba(4, 5, 4, .34) 100%),
      linear-gradient(90deg, rgba(4, 5, 4, .8), transparent 72%);
  }

  .tulumbra-maya-v22 .club-cover::after { display: none; }

  .tulumbra-maya-v22 .club-cover-main {
    align-self: end;
    padding: 50px 0 38px;
  }

  .tulumbra-maya-v22 .club-cover-main h1 {
    margin: 26px 0 24px;
    font-size: clamp(68px, 23vw, 104px);
    line-height: .76;
  }

  .tulumbra-maya-v22 .club-cover-main > p {
    max-width: 92%;
    font-size: 13px;
    line-height: 1.65;
  }

  .tulumbra-maya-v22 .club-cover-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .tulumbra-maya-v22 .club-cover-event {
    margin: 0 -18px;
    border-right: 0;
    border-left: 0;
    padding: 17px 19px;
    clip-path: none;
  }

  .maya-hero-geometry {
    top: 20%;
    left: 57%;
    width: 260px;
    opacity: .16;
  }

  .tulumbra-maya-v22 .club-program-v20 .club-program-grid {
    grid-template-columns: 1fr;
  }

  .tulumbra-maya-v22 .club-program-card {
    grid-template-columns: minmax(118px, 42%) minmax(0, 1fr);
  }

  .tulumbra-maya-v22 .club-program-poster {
    min-height: 310px;
  }

  .tulumbra-maya-v22 .club-program-copy {
    min-height: 310px;
    padding: 18px 15px;
  }

  .tulumbra-maya-v22 .club-program-copy h3 {
    font-size: clamp(25px, 8vw, 36px);
  }

  .tulumbra-maya-v22 .membership-gate-v16 {
    min-height: 980px;
    background:
      linear-gradient(0deg, rgba(5, 6, 4, .98) 0%, rgba(5, 6, 4, .86) 62%, rgba(5, 6, 4, .35) 100%),
      url("/media/tulumbra-maya-gate-v1.webp") center top / auto 610px no-repeat,
      #060705;
  }

  .tulumbra-maya-v22 .membership-gate-v16::before { display: none; }

  .member-maya-v22 .member-door-hero {
    min-height: 740px;
    padding: 22px 18px;
    background-position: 61% center;
    clip-path: none;
  }

  .member-maya-v22 .member-door-hero::after { inset: 10px; }

  .member-maya-v22 .member-door-copy {
    padding: 118px 0 32px;
  }

  .member-maya-v22 .member-door-copy h1 {
    font-size: clamp(60px, 18vw, 84px);
    line-height: .76;
  }

  .member-maya-v22 .member-door-copy p {
    max-width: 92%;
    font-size: 12px;
  }

  .member-maya-v22 .member-door-facts {
    grid-template-columns: 1fr 1fr;
  }

  .member-maya-v22 .member-door-facts > span:last-child { display: none; }

  .member-maya-v22 .member-pass-command {
    min-height: 420px;
    padding: 23px;
  }

  .tulumbra-app-v22 .mobile-bottom-nav {
    border-top-color: rgba(214, 183, 119, .2);
    box-shadow: 0 -20px 50px rgba(0, 0, 0, .42);
  }

  .tulumbra-door-v22 .door-reader {
    background:
      linear-gradient(rgba(6, 7, 5, .72), rgba(6, 7, 5, .94)),
      url("/media/tulumbra-maya-gate-v1.webp") center / cover;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .tulumbra-maya-v22 .club-cover {
    animation: maya-hero-breathe 18s ease-in-out infinite alternate;
  }

  .maya-hero-geometry {
    animation: maya-geometry-drift 18s linear infinite;
  }

  .member-maya-v22 .member-door-hero {
    animation: maya-gate-breathe 16s ease-in-out infinite alternate;
  }
}

@keyframes maya-hero-breathe {
  from { background-size: 100% auto; }
  to { background-size: 104% auto; }
}

@keyframes maya-gate-breathe {
  from { background-size: cover; }
  to { background-size: auto 106%; }
}

@keyframes maya-geometry-drift {
  from { transform: rotate(45deg); }
  to { transform: rotate(405deg); }
}

@media (max-aspect-ratio: 4 / 5) {
  @keyframes maya-hero-breathe {
    from { background-size: auto 100%; }
    to { background-size: auto 104%; }
  }
}

@media (prefers-reduced-motion: reduce) {
  .tulumbra-maya-v22 *,
  .member-maya-v22 * {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* v45 final cascade: immersive Tulum entrance and production motion. */
.tulumbra-maya-v22 {
  --maya-ember: #74342f;
  --maya-bronze: #a9824d;
  --maya-bronze-light: #d0b784;
  --maya-bone: #e7dfd1;
  --hero-scene-y: 0px;
  --hero-copy-scroll-y: 0px;
  --hero-card-scroll-y: 0px;
  background: radial-gradient(circle at 48% 0%, rgba(65, 81, 55, .1), transparent 28%), #050604;
}

.tulumbra-maya-v22 .scroll-progress span {
  background: linear-gradient(90deg, #6f332e, #a9824d 54%, #d0b784);
  box-shadow: 0 0 16px rgba(169, 130, 77, .24);
}

.tulumbra-maya-v22 .public-header {
  z-index: 70;
  min-height: 78px;
  overflow: visible;
  border-color: rgba(208, 183, 132, .17);
  background: linear-gradient(90deg, rgba(5, 6, 4, .96), rgba(7, 8, 6, .88)), url("/media/tulumbra-maya-stone-v1.webp") center 41% / 660px auto;
  box-shadow: 0 18px 58px rgba(0, 0, 0, .22);
}

.tulumbra-maya-v22 .public-header::after {
  top: 0;
  height: clamp(240px, 22vw, 410px);
  background: url("/media/tulumbra-navbar-vines-v1.webp") top center / 100% 100% no-repeat;
  opacity: .72;
  filter: drop-shadow(0 22px 28px rgba(0, 0, 0, .48));
  -webkit-mask-image: linear-gradient(#000 0 46%, rgba(0, 0, 0, .88) 70%, transparent 100%);
  mask-image: linear-gradient(#000 0 46%, rgba(0, 0, 0, .88) 70%, transparent 100%);
  transform: translate3d(0, -2px, 0);
}

.tulumbra-maya-v22 .public-header.scrolled::after {
  opacity: .38;
  transform: translate3d(0, -34px, 0) scale(1.015);
}

.tulumbra-maya-v22 .public-header .brand-symbol,
.tulumbra-maya-v22 .club-footer-v16 .brand-symbol {
  display: block;
  width: 70px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .6));
}

.tulumbra-maya-v22 .brand { gap: 11px; }
.tulumbra-maya-v22 .brand-name {
  color: var(--maya-bone);
  font-family: var(--maya-sans);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: .055em;
}
.tulumbra-maya-v22 .brand-name sup { color: var(--maya-bronze-light); }

.tulumbra-maya-v22 .club-cover {
  position: relative;
  min-height: max(920px, 100svh);
  isolation: isolate;
  overflow: hidden;
  background: #050604;
  background-image: none;
}

.tulumbra-maya-v22 .club-cover::before {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(3, 4, 3, .88) 0%, rgba(3, 4, 3, .68) 26%, rgba(3, 4, 3, .12) 54%, rgba(3, 4, 3, .18) 100%),
    linear-gradient(0deg, rgba(3, 4, 3, .97) 0%, rgba(3, 4, 3, .32) 31%, rgba(3, 4, 3, .14) 64%, rgba(3, 4, 3, .58) 100%);
}

.tulumbra-maya-v22 .club-cover::after {
  z-index: 2;
  top: 135px;
  bottom: 110px;
  left: clamp(24px, 5.8vw, 92px);
  background: linear-gradient(transparent, rgba(208, 183, 132, .5) 18%, rgba(208, 183, 132, .12) 82%, transparent);
  opacity: .68;
}

.tulumbra-maya-v22 .club-cover-shade {
  z-index: 1;
  background: radial-gradient(circle at 50% 48%, rgba(169, 130, 77, .1), transparent 18%), linear-gradient(0deg, rgba(4, 5, 3, .84), transparent 42%);
}

.tulumbra-maya-v22 .club-cover-main {
  z-index: 4;
  width: min(100%, 630px);
  max-width: 630px;
  padding: 32px 0 104px 24px;
  transform: translate3d(var(--copy-x, 0px), calc(var(--copy-y, 0px) - var(--hero-copy-scroll-y)), 0);
  transition: transform 180ms linear;
  will-change: transform;
}

.tulumbra-maya-v22 .club-cover-place {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--maya-bronze-light);
  font-family: var(--maya-sans);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .28em;
}

.tulumbra-maya-v22 .club-cover-place::before {
  width: 34px;
  height: 1px;
  background: var(--maya-bronze);
  content: "";
}

.tulumbra-maya-v22 .club-cover-main h1 {
  margin: 34px 0 30px;
  gap: 3px;
  font-size: clamp(70px, 7.2vw, 118px);
  font-weight: 500;
  letter-spacing: -.07em;
  line-height: .78;
  text-shadow: 0 28px 80px rgba(0, 0, 0, .72);
}

.tulumbra-maya-v22 .club-cover-main h1 span,
.tulumbra-maya-v22 .club-cover-main h1 span:last-child {
  display: block;
  color: var(--maya-bone);
  -webkit-text-stroke: 0;
}

.tulumbra-maya-v22 .club-cover-main h1 span:last-child { color: rgba(231, 223, 209, .88); }

.tulumbra-maya-v22 .club-cover-main h1 i {
  width: max-content;
  margin: .4em 0 .35em .22em;
  color: var(--maya-bronze-light);
  font-family: var(--maya-sans);
  font-size: .13em;
  font-weight: 600;
  letter-spacing: .32em;
}

.tulumbra-maya-v22 .club-cover-main > p {
  max-width: 510px;
  color: rgba(231, 223, 209, .72);
  font-size: 15px;
  line-height: 1.78;
  text-wrap: balance;
}

.tulumbra-maya-v22 .club-cover-actions a,
.tulumbra-maya-v22 .membership-tier-v16 > button,
.tulumbra-maya-v22 .club-last-call-v16 > button {
  border-color: var(--maya-bronze);
  background: var(--maya-bronze);
  color: #080806;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .26);
}

.tulumbra-maya-v22 .club-cover-actions button {
  border-color: rgba(208, 183, 132, .43);
  background: rgba(5, 6, 4, .38);
  backdrop-filter: blur(12px);
}

.tulumbra-maya-v22 .club-cover-event {
  z-index: 4;
  align-self: center;
  margin: 82px 0 94px;
  border: 1px solid rgba(208, 183, 132, .24);
  border-right-color: rgba(208, 183, 132, .08);
  padding: 24px;
  background: linear-gradient(125deg, rgba(9, 10, 7, .78), rgba(8, 9, 7, .46));
  box-shadow: 0 32px 92px rgba(0, 0, 0, .38), inset 0 1px rgba(255, 255, 255, .025);
  backdrop-filter: blur(18px) saturate(.72);
  clip-path: none;
  transform: translate3d(var(--product-x, 0px), var(--hero-card-scroll-y), 0);
  transition: transform 200ms linear, border-color 350ms ease, background 350ms ease;
}

.tulumbra-maya-v22 .club-cover-members {
  z-index: 5;
  min-height: 92px;
  border-top: 1px solid rgba(208, 183, 132, .22);
  background: linear-gradient(90deg, rgba(4, 5, 3, .94), rgba(7, 8, 6, .8));
  box-shadow: 0 -26px 70px rgba(0, 0, 0, .24);
  backdrop-filter: blur(18px);
}

.club-cover-proof { display: grid; gap: 7px; }
.club-cover-proof strong { font-family: var(--maya-serif); font-size: 19px; font-weight: 500; }
.club-cover-proof small { color: rgba(231, 223, 209, .46); font-size: 8px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }

.tulumbra-maya-v22 .club-calendar {
  border-top: 1px solid rgba(208, 183, 132, .16);
  background: radial-gradient(circle at 84% 16%, rgba(45, 68, 47, .16), transparent 28%), linear-gradient(105deg, rgba(7, 8, 6, .96), rgba(12, 12, 9, .88)), url("/media/tulumbra-maya-stone-v1.webp") center / 850px auto;
}

.tulumbra-maya-v22 .club-calendar::after {
  top: auto;
  right: -5%;
  bottom: -20%;
  width: 46vw;
  border: 0;
  background: radial-gradient(ellipse, rgba(53, 79, 55, .13), transparent 66%);
  filter: blur(20px);
  transform: none;
}

.tulumbra-maya-v22 .club-section-head h2,
.tulumbra-maya-v22 .tulumbra-gallery-heading h2,
.tulumbra-maya-v22 .club-shop-head h2,
.tulumbra-maya-v22 .membership-gate-v16 h2,
.tulumbra-maya-v22 .club-last-call-v16 h2,
.tulumbra-maya-v22 .song-request-copy h2 {
  color: var(--maya-bone);
  font-weight: 500;
  letter-spacing: -.055em;
}

.tulumbra-maya-v22 .club-program-card,
.tulumbra-maya-v22 .tulumbra-gallery-card,
.tulumbra-maya-v22 .club-shop-card {
  border-color: rgba(208, 183, 132, .16);
  clip-path: none;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .25);
  transition: border-color 500ms ease, box-shadow 700ms var(--maya-ease), transform 700ms var(--maya-ease);
}

.tulumbra-maya-v22 .club-program-card:hover,
.tulumbra-maya-v22 .tulumbra-gallery-card:hover,
.tulumbra-maya-v22 .club-shop-card:hover {
  border-color: rgba(208, 183, 132, .34);
  box-shadow: 0 40px 106px rgba(0, 0, 0, .42);
  transform: translateY(-7px);
}

.tulumbra-maya-v22 .club-program-poster { overflow: hidden; }
.tulumbra-maya-v22 .club-program-poster img,
.tulumbra-maya-v22 .tulumbra-gallery-card img,
.tulumbra-maya-v22 .club-shop-card img { transition: filter 900ms ease, transform 1100ms var(--maya-ease); }
.tulumbra-maya-v22 .club-program-card:hover .club-program-poster img,
.tulumbra-maya-v22 .tulumbra-gallery-card:hover img,
.tulumbra-maya-v22 .club-shop-card:hover img { filter: saturate(1.05) contrast(1.03); transform: scale(1.045); }

.tulumbra-maya-v22 .tulumbra-gallery-section {
  border-top: 1px solid rgba(208, 183, 132, .14);
  background: radial-gradient(circle at 7% 80%, rgba(42, 70, 48, .28), transparent 31%), radial-gradient(circle at 88% 12%, rgba(113, 52, 47, .08), transparent 24%), linear-gradient(145deg, #080a07, #040503 74%);
}

.tulumbra-maya-v22 .club-song-request {
  background: radial-gradient(circle at 26% 46%, rgba(68, 95, 66, .18), transparent 30%), linear-gradient(105deg, rgba(5, 6, 4, .98), rgba(12, 13, 9, .88)), url("/media/tulumbra-maya-stone-v1.webp") center / 760px auto;
}
.tulumbra-maya-v22 .song-request-art { background: radial-gradient(circle at 50% 48%, rgba(169, 130, 77, .16), transparent 32%), linear-gradient(145deg, rgba(20, 35, 24, .8), rgba(4, 5, 3, .98)); }
.tulumbra-maya-v22 .club-shop-v19 { background: radial-gradient(circle at 86% 16%, rgba(113, 52, 47, .06), transparent 28%), linear-gradient(180deg, #070806, #050604); }
.tulumbra-maya-v22 .club-shop-card { background: linear-gradient(145deg, rgba(18, 18, 14, .96), rgba(6, 7, 5, .98)); }

.tulumbra-maya-v22 .membership-gate-v16 {
  border-top: 1px solid rgba(208, 183, 132, .15);
  background: linear-gradient(90deg, rgba(4, 5, 3, .98) 0%, rgba(4, 5, 3, .88) 44%, rgba(4, 5, 3, .3) 100%), url("/media/tulumbra-maya-gate-v1.webp") 78% center / min(66vw, 940px) auto no-repeat, #050604;
}
.tulumbra-maya-v22 .membership-tier-v16 { border-color: rgba(208, 183, 132, .3); background: linear-gradient(125deg, rgba(17, 17, 13, .9), rgba(6, 7, 5, .96)); clip-path: none; backdrop-filter: blur(16px); }
.tulumbra-maya-v22 .club-last-call-v16 { border-top: 1px solid rgba(208, 183, 132, .14); background: radial-gradient(circle at 76% 44%, rgba(53, 76, 54, .16), transparent 30%), linear-gradient(100deg, rgba(7, 8, 6, .98), rgba(13, 13, 10, .88)), url("/media/tulumbra-maya-stone-v1.webp") center / 720px auto; }

.tulumbra-maya-v22[data-hero-step="0"] { --hero-scene-y: 0px; --hero-copy-scroll-y: 0px; --hero-card-scroll-y: 0px; }
.tulumbra-maya-v22[data-hero-step="1"] { --hero-scene-y: 7px; --hero-copy-scroll-y: 5px; --hero-card-scroll-y: 3px; }
.tulumbra-maya-v22[data-hero-step="2"] { --hero-scene-y: 14px; --hero-copy-scroll-y: 10px; --hero-card-scroll-y: 6px; }
.tulumbra-maya-v22[data-hero-step="3"] { --hero-scene-y: 21px; --hero-copy-scroll-y: 16px; --hero-card-scroll-y: 9px; }
.tulumbra-maya-v22[data-hero-step="4"] { --hero-scene-y: 28px; --hero-copy-scroll-y: 22px; --hero-card-scroll-y: 12px; }
.tulumbra-maya-v22[data-hero-step="5"] { --hero-scene-y: 35px; --hero-copy-scroll-y: 28px; --hero-card-scroll-y: 15px; }
.tulumbra-maya-v22[data-hero-step="6"] { --hero-scene-y: 42px; --hero-copy-scroll-y: 34px; --hero-card-scroll-y: 18px; }
.tulumbra-maya-v22[data-hero-step="7"] { --hero-scene-y: 49px; --hero-copy-scroll-y: 40px; --hero-card-scroll-y: 21px; }
.tulumbra-maya-v22[data-hero-step="8"] { --hero-scene-y: 56px; --hero-copy-scroll-y: 46px; --hero-card-scroll-y: 24px; }
.tulumbra-maya-v22[data-hero-step="9"] { --hero-scene-y: 63px; --hero-copy-scroll-y: 52px; --hero-card-scroll-y: 27px; }
.tulumbra-maya-v22[data-hero-step="10"] { --hero-scene-y: 70px; --hero-copy-scroll-y: 58px; --hero-card-scroll-y: 30px; }

.tulumbra-maya-v22 .motion-reveal {
  opacity: 0;
  filter: blur(7px);
  transform: translate3d(0, 58px, 0) scale(.985);
  transition: opacity 900ms var(--maya-ease) var(--reveal-delay, 0ms), filter 1100ms ease var(--reveal-delay, 0ms), transform 1200ms var(--maya-ease) var(--reveal-delay, 0ms);
}
.tulumbra-maya-v22 .motion-reveal.is-visible { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1); }

@media (prefers-reduced-motion: no-preference) {
  .tulumbra-maya-v22 .club-cover { animation: none; }
  .tulumbra-maya-v22.motion-entered .maya-hero-light { animation: tulumbra-light-breathe-v45 7s ease-in-out 1.2s infinite alternate; }
  .tulumbra-maya-v22.motion-entered .maya-hero-mist-one { animation: tulumbra-mist-one-v45 16s ease-in-out 1s infinite alternate; }
  .tulumbra-maya-v22.motion-entered .maya-hero-mist-two { animation: tulumbra-mist-two-v45 20s ease-in-out 2s infinite alternate; }
}

@keyframes tulumbra-light-breathe-v45 {
  from { opacity: .46; transform: translate3d(-50%, var(--hero-card-scroll-y), 0) scale(.92); }
  to { opacity: .78; transform: translate3d(-50%, var(--hero-card-scroll-y), 0) scale(1.08); }
}
@keyframes tulumbra-mist-one-v45 {
  from { transform: translate3d(-5%, var(--hero-card-scroll-y), 0) rotate(-8deg) scale(.94); }
  to { transform: translate3d(5%, var(--hero-card-scroll-y), 0) rotate(-4deg) scale(1.08); }
}
@keyframes tulumbra-mist-two-v45 {
  from { transform: translate3d(-3%, var(--hero-scene-y), 0) rotate(8deg) scale(.94); }
  to { transform: translate3d(8%, var(--hero-scene-y), 0) rotate(4deg) scale(1.06); }
}

@media (min-width: 961px) {
  .tulumbra-maya-v22 .club-cover { min-height: max(940px, 100svh); grid-template-columns: minmax(0, .96fr) minmax(300px, .4fr); background: #050604; }
  .maya-hero-scene { background-position: 50% 48%; }
}

@media (max-width: 700px) {
  .tulumbra-maya-v22 .public-header { min-height: calc(72px + var(--pwa-safe-top)); }
  .tulumbra-maya-v22 .public-header::after { top: var(--pwa-safe-top); height: 188px; background-size: 100% 188px; opacity: .58; }
  .tulumbra-maya-v22 .public-header.scrolled::after { opacity: .3; transform: translate3d(0, -22px, 0) scale(1.01); }
  .tulumbra-maya-v22 .public-header .brand-symbol,
  .tulumbra-maya-v22 .club-footer-v16 .brand-symbol { width: 55px; height: 39px; }
  .tulumbra-maya-v22 .brand-name { font-size: 18px; }
  .tulumbra-maya-v22 .club-cover { min-height: max(860px, 100svh); grid-template-rows: 1fr auto auto; padding-top: calc(104px + var(--pwa-safe-top)); background: #050604; }
  .maya-hero-scene { inset: -3%; background-position: 51% 44%; filter: saturate(.72) contrast(1.06) brightness(.74); transform: translate3d(0, var(--hero-card-scroll-y), 0) scale(1.09); }
  .tulumbra-maya-v22.motion-entered .maya-hero-scene { filter: saturate(.72) contrast(1.06) brightness(.74); transform: translate3d(0, var(--hero-card-scroll-y), 0) scale(1.09); }
  .tulumbra-maya-v22 .club-cover::before { background: linear-gradient(0deg, rgba(3, 4, 3, .98) 0%, rgba(3, 4, 3, .82) 39%, rgba(3, 4, 3, .18) 70%, rgba(3, 4, 3, .48) 100%), linear-gradient(90deg, rgba(3, 4, 3, .5), transparent 82%); }
  .tulumbra-maya-v22 .club-cover::after { display: none; }
  .maya-hero-light { top: 19%; width: 62vw; height: 44%; }
  .maya-hero-mist { width: 78vw; height: 30vw; }
  .maya-hero-index, .maya-hero-scroll { display: none; }
  .tulumbra-maya-v22 .club-cover-main { align-self: end; width: 100%; max-width: 520px; padding: 96px 0 34px; }
  .tulumbra-maya-v22 .club-cover-main h1 { margin: 22px 0; font-size: clamp(54px, 16.2vw, 78px); line-height: .8; }
  .tulumbra-maya-v22 .club-cover-main > p { max-width: 95%; font-size: 13px; line-height: 1.64; }
  .tulumbra-maya-v22 .club-cover-actions { margin-top: 26px; }
  .tulumbra-maya-v22 .club-cover-event { margin: 0 -18px; border-right: 0; border-left: 0; padding: 18px; background: rgba(5, 6, 4, .72); backdrop-filter: blur(16px); }
  .tulumbra-maya-v22 .club-cover-members { min-height: 78px; }
  .club-cover-proof { gap: 3px; }
  .club-cover-proof strong { font-size: 13px; }
  .club-cover-proof small { display: none; }
  .tulumbra-maya-v22 .membership-gate-v16 { background: linear-gradient(0deg, rgba(4, 5, 3, .98) 0%, rgba(4, 5, 3, .82) 48%, rgba(4, 5, 3, .28) 100%), url("/media/tulumbra-maya-gate-v1.webp") center top / auto 60% no-repeat, #050604; }
  .tulumbra-maya-v22 .public-mobile-dock {
    border-color: rgba(208, 183, 132, .22);
    background: rgba(5, 6, 4, .94);
    box-shadow: 0 18px 58px rgba(0, 0, 0, .62), inset 0 1px rgba(255, 255, 255, .02);
  }
  .tulumbra-maya-v22 .public-mobile-dock a,
  .tulumbra-maya-v22 .public-mobile-dock button { color: rgba(231, 223, 209, .58); }
  .tulumbra-maya-v22 .public-mobile-dock i { color: var(--maya-bronze-light); }
  .tulumbra-maya-v22 .public-mobile-dock a.is-current,
  .tulumbra-maya-v22 .public-mobile-dock button:active {
    background: linear-gradient(145deg, rgba(169, 130, 77, .17), rgba(255, 255, 255, .025));
    color: var(--maya-bone);
  }
  .tulumbra-maya-v22 .public-mobile-dock a.is-current i { filter: drop-shadow(0 0 8px rgba(208, 183, 132, .34)); }
}

@media (max-width: 420px) {
  .tulumbra-maya-v22 .club-cover-main h1 { font-size: clamp(50px, 15.4vw, 66px); }
  .tulumbra-maya-v22 .club-cover-place { font-size: 7px; letter-spacing: .21em; }
  .tulumbra-maya-v22 .club-cover-members { grid-template-columns: minmax(0, 1fr) auto; }
  .tulumbra-maya-v22 .club-cover-members > span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .tulumbra-maya-v22 { --hero-scene-y: 0px !important; --hero-copy-scroll-y: 0px !important; --hero-card-scroll-y: 0px !important; }
  .tulumbra-maya-v22 .maya-hero-scene,
  .tulumbra-maya-v22 .club-cover-main,
  .tulumbra-maya-v22 .club-cover-event,
  .tulumbra-maya-v22 .motion-reveal { opacity: 1 !important; filter: none !important; transform: none !important; transition: none !important; }
}

/* Tulumbra+ v46 - una sola superficie, tipografia limpia y comercio compacto. */
.tulumbra-maya-v22 {
  --club-display: "Montserrat", "Segoe UI", sans-serif;
  --club-orange: #74342f;
  --maya-serif: "Montserrat", "Segoe UI", sans-serif;
  --maya-sans: "Montserrat", "Segoe UI", sans-serif;
  position: relative;
  isolation: isolate;
  font-family: var(--maya-sans);
}

.tulumbra-maya-v22::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(3, 4, 3, .42), rgba(5, 7, 5, .12) 52%, rgba(3, 4, 3, .46)),
    linear-gradient(180deg, rgba(3, 4, 3, .06), rgba(3, 4, 3, .3)),
    url("/media/tulumbra-maya-depth-texture-v2.webp") center / cover no-repeat;
  content: "";
  filter: saturate(.82) contrast(1.1) brightness(1.08);
  pointer-events: none;
}

.tulumbra-maya-v22 > main,
.tulumbra-maya-v22 > footer {
  position: relative;
  z-index: 1;
}

.tulumbra-maya-v22 > main {
  background:
    linear-gradient(105deg, rgba(3, 4, 3, .3), rgba(5, 7, 5, .06) 52%, rgba(3, 4, 3, .34)),
    url("/media/tulumbra-maya-depth-texture-v2.webp") center / cover fixed no-repeat;
}

.tulumbra-maya-v22 #agenda,
.tulumbra-maya-v22 #galeria,
.tulumbra-maya-v22 #tienda,
.tulumbra-maya-v22 #planes {
  scroll-margin-top: 92px;
}

.tulumbra-maya-v22 .club-cover-main h1,
.tulumbra-maya-v22 .club-section-head h2,
.tulumbra-maya-v22 .tulumbra-gallery-heading h2,
.tulumbra-maya-v22 .club-shop-head h2,
.tulumbra-maya-v22 .membership-gate-v16 h2,
.tulumbra-maya-v22 .club-last-call-v16 h2,
.tulumbra-maya-v22 .membership-tier-v16 h3 {
  font-family: var(--maya-sans);
  font-weight: 500;
}

.tulumbra-maya-v22 .public-actions {
  gap: clamp(14px, 1.8vw, 28px);
}

.tulumbra-maya-v22 .club-cover-actions a,
.tulumbra-maya-v22 .club-cover-actions button,
.tulumbra-maya-v22 .club-cover-event > button,
.tulumbra-maya-v22 .membership-tier-v16 > button,
.tulumbra-maya-v22 .club-last-call-v16 > button,
.tulumbra-maya-v22 .header-login {
  border-radius: 2px;
  clip-path: none !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .24);
}

/*
 * Keep the stepped Maya silhouette on scenery and editorial cards only.
 * On compact interactive controls Safari paints the clipped border as a
 * displaced second rectangle, so operational CTAs use one clean surface.
 */
.member-maya-v22 .member-door-cta button,
.member-maya-v22 .member-pass-command > footer button,
.tulumbra-door-v22 .door-reader-start {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 2px;
  clip-path: none !important;
  transform: translateZ(0);
}

@media (hover: none), (pointer: coarse) {
  .tulumbra-maya-v22 .club-cover-actions a,
  .tulumbra-maya-v22 .club-cover-actions button,
  .tulumbra-maya-v22 .club-cover-event > button,
  .tulumbra-maya-v22 .membership-tier-v16 > button,
  .tulumbra-maya-v22 .club-last-call-v16 > button,
  .tulumbra-maya-v22 .header-login,
  .member-maya-v22 .member-door-cta button,
  .member-maya-v22 .member-pass-command > footer button,
  .tulumbra-door-v22 .door-reader-start {
    transform: none;
  }

  .tulumbra-maya-v22 .club-cover-actions a:active,
  .tulumbra-maya-v22 .club-cover-actions button:active,
  .tulumbra-maya-v22 .club-cover-event > button:active,
  .tulumbra-maya-v22 .membership-tier-v16 > button:active,
  .tulumbra-maya-v22 .club-last-call-v16 > button:active,
  .tulumbra-maya-v22 .header-login:active,
  .member-maya-v22 .member-door-cta button:active,
  .member-maya-v22 .member-pass-command > footer button:active,
  .tulumbra-door-v22 .door-reader-start:active {
    opacity: .88;
    transform: scale(.985);
  }
}

.tulumbra-maya-v22 .club-cover-actions a,
.tulumbra-maya-v22 .membership-tier-v16 > button,
.tulumbra-maya-v22 .club-last-call-v16 > button {
  background: linear-gradient(180deg, #c6a46d, #a9824d);
}

.tulumbra-maya-v22 .club-calendar,
.tulumbra-maya-v22 .tulumbra-gallery-section,
.tulumbra-maya-v22 .club-shop-v19,
.tulumbra-maya-v22 .membership-gate-v16,
.tulumbra-maya-v22 .club-last-call-v16 {
  border-top-color: rgba(208, 183, 132, .1);
  background-image: none;
  background-color: transparent;
  box-shadow:
    inset 0 90px 130px rgba(3, 4, 3, .18),
    inset 0 -90px 130px rgba(3, 4, 3, .18);
}

.tulumbra-maya-v22 .club-calendar {
  background: radial-gradient(circle at 84% 18%, rgba(48, 78, 52, .15), transparent 29%), linear-gradient(180deg, rgba(4, 5, 4, .36), rgba(7, 9, 7, .14) 48%, rgba(4, 5, 4, .34));
}

.tulumbra-maya-v22 .tulumbra-gallery-section {
  background: radial-gradient(circle at 8% 70%, rgba(47, 77, 51, .16), transparent 30%), linear-gradient(180deg, rgba(4, 5, 4, .34), rgba(5, 7, 5, .12) 52%, rgba(4, 5, 4, .34));
}

.tulumbra-maya-v22 .club-shop-v19 {
  background: radial-gradient(circle at 88% 18%, rgba(116, 52, 47, .05), transparent 27%), linear-gradient(180deg, rgba(4, 5, 4, .35), rgba(7, 8, 6, .13) 55%, rgba(4, 5, 4, .35));
}

.tulumbra-maya-v22 .membership-gate-v16 {
  background: radial-gradient(ellipse at 78% 45%, rgba(66, 94, 66, .16), transparent 33%), linear-gradient(90deg, rgba(4, 5, 4, .5), rgba(4, 5, 4, .16) 62%, rgba(4, 5, 4, .4));
  color: var(--maya-bone);
}

.tulumbra-maya-v22 .membership-gate-v16 > header > p,
.tulumbra-maya-v22 .membership-legal-v16 {
  color: rgba(231, 223, 209, .68);
}

.tulumbra-maya-v22 .member-promise-lines {
  border-color: rgba(208, 183, 132, .2);
}

.tulumbra-maya-v22 .member-promise-lines > span {
  border-color: rgba(208, 183, 132, .16);
}

.tulumbra-maya-v22 .member-promise-lines b {
  color: var(--maya-bone);
}

.tulumbra-maya-v22 .member-promise-lines small {
  color: var(--maya-bronze-light);
}

.tulumbra-maya-v22 .club-last-call-v16 {
  background: linear-gradient(100deg, rgba(4, 5, 4, .46), rgba(10, 11, 8, .14), rgba(4, 5, 4, .38));
}

.tulumbra-maya-v22 .club-shop-card {
  background: linear-gradient(155deg, rgba(19, 21, 17, .9), rgba(5, 7, 5, .94));
  backdrop-filter: blur(10px);
}

@media (min-width: 1100px) {
  .tulumbra-maya-v22 .club-shop-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(14px, 1.6vw, 26px);
    align-items: stretch;
  }

  .tulumbra-maya-v22 .club-shop-card,
  .tulumbra-maya-v22 .club-shop-card:nth-child(n) {
    grid-column: auto;
    display: grid;
    grid-template-rows: auto 1fr;
  }

  .tulumbra-maya-v22 .club-shop-card-copy {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto 1fr auto;
    gap: 11px 12px;
    padding: 18px 0 28px;
  }

  .tulumbra-maya-v22 .club-shop-card-copy h3 {
    margin-top: 8px;
    font-size: clamp(17px, 1.45vw, 22px);
    letter-spacing: -.035em;
    line-height: 1.02;
  }

  .tulumbra-maya-v22 .club-shop-card-copy > strong {
    font-size: clamp(16px, 1.3vw, 20px);
  }

  .tulumbra-maya-v22 .club-shop-card-copy > p {
    min-height: 3.5em;
    font-size: 10px;
    line-height: 1.55;
  }

  .tulumbra-maya-v22 .club-shop-variants {
    flex-wrap: wrap;
  }

  .tulumbra-maya-v22 .club-shop-add {
    width: 100%;
    align-self: end;
  }
}

@media (max-width: 700px) {
  /* The editorial texture must read as stone, not as one oversized crop of
   * the whole page. Keep the mobile scale controlled and let it repeat softly
   * behind the sections while the hero keeps its own scene. */
  .tulumbra-maya-v22::before {
    background-size: auto, auto, 720px auto;
    background-repeat: no-repeat, no-repeat, repeat;
    background-position: 0 0, 0 0, center top;
    background-attachment: scroll, scroll, scroll;
  }

  .tulumbra-maya-v22 > main {
    background-size: auto, 720px auto;
    background-repeat: no-repeat, repeat;
    background-position: 0 0, center top;
    background-attachment: scroll, scroll;
  }

  .tulumbra-maya-v22 .public-mobile-dock {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tulumbra-maya-v22 .club-cover-main h1 {
    letter-spacing: -.055em;
  }

  .tulumbra-maya-v22 .club-calendar,
  .tulumbra-maya-v22 .tulumbra-gallery-section,
  .tulumbra-maya-v22 .club-shop-v19,
  .tulumbra-maya-v22 .membership-gate-v16,
  .tulumbra-maya-v22 .club-last-call-v16 {
    overflow: clip;
    box-shadow: inset 0 54px 80px rgba(3, 4, 3, .18), inset 0 -54px 80px rgba(3, 4, 3, .18);
  }

  .tulumbra-maya-v22 .membership-gate-v16 > header,
  .tulumbra-maya-v22 .membership-tiers-v16,
  .tulumbra-maya-v22 .membership-legal-v16 {
    width: 100%;
    min-width: 0;
  }

  .tulumbra-maya-v22 .membership-gate-v16 h2 {
    max-width: 100%;
    font-size: clamp(46px, 14vw, 58px);
    letter-spacing: -.055em;
  }

  .tulumbra-maya-v22 .membership-tier-v16.is-black {
    margin-left: 0;
  }

  .tulumbra-maya-v22 .tulumbra-gallery-card > div {
    min-width: 0;
    padding: 13px;
  }

  .tulumbra-maya-v22 .tulumbra-gallery-card strong {
    max-width: 100%;
    font-size: 18px;
    line-height: 1.02;
    overflow-wrap: anywhere;
  }
}

/* v47 — agenda editorial: información de cartelera, sin copy de plantilla. */
.tulumbra-maya-v22 .club-agenda-head {
  display: grid;
  gap: 0;
  padding: 23px 0 29px;
  border-top: 1px solid rgba(208, 183, 132, .3);
  text-shadow: 0 12px 36px rgba(0, 0, 0, .72);
}

.tulumbra-maya-v22 .club-agenda-head::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: clamp(56px, 22%, 104px);
  height: 2px;
  background: linear-gradient(90deg, var(--maya-bronze-light), rgba(208, 183, 132, 0));
  content: "";
}

.tulumbra-maya-v22 .club-agenda-head > span {
  color: var(--maya-bronze-light);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.4;
}

.tulumbra-maya-v22 .club-agenda-head h2 {
  max-width: none;
  margin: 31px 0 34px;
  color: var(--maya-bone);
  font-size: clamp(62px, 7vw, 104px);
  font-weight: 500;
  letter-spacing: -.075em;
  line-height: .72;
}

.tulumbra-maya-v22 .club-agenda-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 18px;
  width: min(100%, 390px);
  padding-top: 19px;
  border-top: 1px solid rgba(208, 183, 132, .24);
}

.tulumbra-maya-v22 .club-agenda-meta strong {
  grid-column: 1 / -1;
  color: var(--maya-bone);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .13em;
  line-height: 1.4;
}

.tulumbra-maya-v22 .club-agenda-meta small {
  color: rgba(231, 223, 209, .82);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .13em;
  line-height: 1.5;
}

/* Flecha de interfaz estable: evita que iOS convierta ↗ en un emoji azul. */
.tulumbra-maya-v22 .club-external-icon {
  display: block;
  width: 16px;
  height: 16px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: square;
  stroke-linejoin: miter;
}

.tulumbra-maya-v22 .tulumbra-gallery-heading button b,
.tulumbra-maya-v22 .club-cover-event > button span {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}

@media (max-width: 700px) {
  .tulumbra-maya-v22 .club-agenda-head {
    margin-bottom: 44px;
    padding: 20px 0 25px;
  }

  .tulumbra-maya-v22 .club-agenda-head h2 {
    margin: 26px 0 30px;
    font-size: clamp(58px, 18vw, 72px);
    line-height: .72;
  }

  .tulumbra-maya-v22 .club-agenda-meta {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .tulumbra-maya-v22 .club-agenda-meta strong {
    grid-column: auto;
  }
}

/* Mantiene el material de socio por encima de las reglas históricas del
 * dashboard que aún comparten estos componentes. */
.member-page.member-maya-v22 .member-next-date {
  border-color: rgba(208, 183, 132, .25);
  background: linear-gradient(90deg, rgba(7, 8, 6, .98), rgba(10, 12, 9, .82)), url("/media/tulumbra-maya-stone-v1.webp") center / 680px auto;
}

.member-page.member-maya-v22 .member-personalized {
  border-color: rgba(208, 183, 132, .22);
  background: linear-gradient(110deg, rgba(7, 9, 7, .97), rgba(13, 18, 13, .88)), url("/media/tulumbra-maya-depth-texture-v2.webp") center / 920px auto;
}

.member-page.member-maya-v22 .member-night-actions button,
.member-page.member-maya-v22 .member-benefits > article {
  border-color: rgba(208, 183, 132, .16);
  background: linear-gradient(145deg, rgba(18, 19, 15, .92), rgba(7, 8, 6, .97)), url("/media/tulumbra-maya-stone-v1.webp") center / 520px auto;
}

.member-page.member-maya-v22 .member-pass-command {
  overflow: hidden;
  border-color: rgba(208, 183, 132, .34);
  background: radial-gradient(circle at 78% 28%, rgba(208, 183, 132, .1), transparent 25%), linear-gradient(135deg, rgba(28, 29, 24, .97), rgba(5, 6, 5, .99) 70%), url("/media/tulumbra-maya-stone-v1.webp") center / 660px auto;
}

.member-page.member-maya-v22 .member-venues .tulum-card { background-image: url("/media/tulumbra-maya-hero-v2.webp"); }
.member-page.member-maya-v22 .member-venues .epoca-card { background-image: url("/tulumbra-night-v2.webp"); }

.member-page.member-maya-v22 .member-orders-panel {
  background: linear-gradient(180deg, rgba(5, 7, 5, .54), rgba(5, 6, 5, .97) 30%), url("/tulumbra-shisha-v1.webp") center top / 100% auto no-repeat, url("/media/tulumbra-maya-depth-texture-v2.webp") center / 900px auto;
}

/* v58 — socio editorial: continuidad cinematográfica con la portada. */
.member-page.member-maya-v22 .member-door-brandmark { border: 0; opacity: .22; transform: none; }
.member-page.member-maya-v22 .member-door-brandmark::before,
.member-page.member-maya-v22 .member-door-brandmark::after,
.member-page.member-maya-v22 .member-pass-command::after,
.member-page.member-maya-v22 .member-benefits > article::after { display: none; }
.member-page.member-maya-v22 .member-door-brand-symbol { width: 100%; transform: none; }
.member-page.member-maya-v22 .member-pass-seal { top: 76px; right: 34px; width: 118px; opacity: .13; }
.member-page.member-maya-v22 .benefit-type {
  width: 28px;
  height: 28px;
  border: 0;
  border-left: 1px solid rgba(214, 183, 119, .64);
  color: var(--maya-bronze-light);
  transform: none;
}
.member-page.member-maya-v22 .benefit-type > * { transform: none; }

@media (min-width: 901px) {
  .member-page.member-maya-v22 { max-width: min(1480px, calc(100vw - 64px)); }
  .member-page.member-maya-v22 .member-door-hero {
    min-height: min(790px, calc(100svh - 112px));
    border-inline: 0;
    clip-path: none;
  }
  .member-page.member-maya-v22 .member-door-hero::after { inset: 22px; border-color: rgba(214, 183, 119, .12); }
  .member-page.member-maya-v22 .member-next-date {
    min-height: 120px;
    margin-bottom: clamp(56px, 6vw, 92px);
    padding-inline: clamp(28px, 4vw, 64px);
    border-inline: 0;
    box-shadow: none;
  }
  .member-page.member-maya-v22 .member-personalized {
    margin: 0 0 clamp(72px, 8vw, 118px);
    padding: clamp(42px, 5vw, 76px);
    border-inline: 0;
    background: linear-gradient(90deg, rgba(5, 7, 5, .98), rgba(7, 10, 7, .65)), url("/media/tulumbra-maya-depth-texture-v2.webp") center 42% / cover;
    box-shadow: none;
  }
  .member-page.member-maya-v22 .member-personalized::before,
  .member-page.member-maya-v22 .member-personal-offers article::before { display: none; }
  .member-page.member-maya-v22 .member-personal-offers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: rgba(214, 183, 119, .16);
  }
  .member-page.member-maya-v22 .member-personal-offers article {
    min-height: 240px;
    border: 0;
    background: rgba(6, 8, 6, .94);
    box-shadow: none;
  }
  .member-page.member-maya-v22 .member-night-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 22px;
    border-block: 1px solid rgba(214, 183, 119, .15);
  }
  .member-page.member-maya-v22 .member-night-actions button {
    min-height: 88px;
    padding: 18px 16px;
    border: 0;
    border-right: 1px solid rgba(214, 183, 119, .15);
    background: transparent;
    box-shadow: none;
  }
  .member-page.member-maya-v22 .member-night-actions button:last-child { border-right: 0; }
  .member-page.member-maya-v22 .member-night-actions button::after { display: none; }
  .member-page.member-maya-v22 .member-main-grid { display: block; margin-top: 0; }
  .member-page.member-maya-v22 #pass-section {
    display: grid;
    grid-template-columns: minmax(430px, .88fr) minmax(460px, 1.12fr);
    grid-template-rows: auto auto 1fr;
    column-gap: clamp(54px, 7vw, 112px);
    align-items: start;
    margin-bottom: clamp(94px, 10vw, 150px);
    padding: 0 clamp(24px, 3vw, 52px);
  }
  .member-page.member-maya-v22 #pass-section > .member-pass-command {
    grid-row: 1 / 4;
    min-height: 520px;
    aspect-ratio: auto;
    padding: clamp(26px, 2.6vw, 40px);
    border: 1px solid rgba(214, 183, 119, .3);
    background: linear-gradient(112deg, rgba(6, 7, 5, .98), rgba(8, 9, 7, .52)), url("/media/tulumbra-maya-gate-v1.webp") 68% center / cover;
    box-shadow: 0 44px 120px rgba(0, 0, 0, .42);
    clip-path: none;
  }
  .member-page.member-maya-v22 .member-pass-command::before {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: 3px;
    background: linear-gradient(90deg, var(--maya-bronze-light), transparent 72%);
  }
  .member-page.member-maya-v22 .member-pass-identity { margin-top: clamp(32px, 4vw, 58px); }
  .member-page.member-maya-v22 .member-pass-identity strong {
    max-width: 68%;
    font-size: clamp(42px, 4.25vw, 68px);
    line-height: .86;
  }
  .member-page.member-maya-v22 .member-pass-wordmark {
    max-width: 68%;
    margin-top: clamp(24px, 3vw, 40px);
    font-size: clamp(26px, 2.6vw, 38px);
    white-space: nowrap;
  }
  .member-page.member-maya-v22 .member-pass-command > footer {
    right: clamp(26px, 2.6vw, 40px);
    bottom: clamp(24px, 2.4vw, 36px);
    left: clamp(26px, 2.6vw, 40px);
    justify-content: flex-end;
  }
  .member-page.member-maya-v22 .member-pass-command > footer > span { display: none; }
  .member-page.member-maya-v22 #pass-section > .member-anchor-target { display: none; }
  .member-page.member-maya-v22 #pass-section > .member-benefits-heading { margin: 6px 0 0; padding: 0 0 24px; }
  .member-page.member-maya-v22 #pass-section > .member-benefits-heading h2 {
    max-width: 520px;
    font-size: clamp(48px, 5vw, 78px);
    line-height: .9;
    text-transform: none;
  }
  .member-page.member-maya-v22 .member-benefits {
    display: grid;
    grid-template-columns: 1fr;
    border-top: 1px solid rgba(214, 183, 119, .2);
  }
  .member-page.member-maya-v22 .member-benefits > article,
  .member-page.member-maya-v22 .member-benefits > article:hover {
    grid-template-columns: 30px minmax(0, 1fr) auto;
    min-height: 98px;
    padding: 20px 0;
    border: 0;
    border-bottom: 1px solid rgba(214, 183, 119, .14);
    background: transparent;
    box-shadow: none;
  }
  .member-page.member-maya-v22 .member-benefits > article:nth-child(odd) {
    margin-right: 0;
    border-right: 0;
  }
  .member-page.member-maya-v22 .member-benefits > article:nth-child(even) { padding-left: 0; }
  .member-page.member-maya-v22 #venues-section > .member-section-title {
    margin: 0;
    padding: 0 clamp(24px, 3vw, 52px) 34px;
    border: 0;
  }
  .member-page.member-maya-v22 #venues-section > .member-section-title h2 {
    font-size: clamp(70px, 9vw, 132px);
    line-height: .78;
    letter-spacing: -.07em;
    text-transform: none;
  }
  .member-page.member-maya-v22 .member-venues {
    grid-template-columns: 1.22fr .78fr;
    gap: 1px;
    border: 0;
    background: rgba(214, 183, 119, .2);
  }
  .member-page.member-maya-v22 .member-venues article,
  .member-page.member-maya-v22 .member-venues article:hover {
    display: flex;
    min-height: clamp(410px, 42vw, 620px);
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(32px, 4vw, 64px);
    border: 0;
    box-shadow: none;
    transform: none;
  }
  .member-page.member-maya-v22 .member-venues article::before { background: linear-gradient(0deg, rgba(4, 5, 4, .98), rgba(4, 5, 4, .18) 72%); }
  .member-page.member-maya-v22 .member-venues h3 { font-size: clamp(66px, 7vw, 102px); line-height: .76; }
  .member-page.member-maya-v22 .member-venues article.is-active-profile { box-shadow: inset 0 -3px var(--maya-bronze); }
  .member-page.member-maya-v22 .member-venues article.is-active-profile::after {
    top: 26px;
    right: 26px;
    border: 0;
    border-bottom: 1px solid var(--maya-bronze);
    background: rgba(4, 5, 4, .56);
  }
  .member-page.member-maya-v22 .member-orders-panel {
    margin-top: clamp(92px, 10vw, 150px);
    padding: 0 clamp(24px, 3vw, 52px) clamp(50px, 6vw, 90px);
    border: 0;
    background: linear-gradient(180deg, rgba(5, 7, 5, .08), rgba(5, 6, 5, .93) 500px, rgba(5, 6, 5, .98)), url("/tulumbra-shisha-v1.webp") center top / cover no-repeat;
    box-shadow: none;
  }
  .member-page.member-maya-v22 .member-shisha-hero { min-height: 560px; padding: clamp(42px, 6vw, 88px) 0; }
  .member-page.member-maya-v22 .member-shisha-hero h2 {
    font-size: clamp(76px, 8.5vw, 126px);
    line-height: .75;
    text-transform: none;
  }
}

@media (min-width: 901px) and (max-width: 1160px) {
  .member-page.member-maya-v22 #pass-section { grid-template-columns: minmax(360px, .9fr) minmax(390px, 1.1fr); column-gap: 42px; }
  .member-page.member-maya-v22 .member-night-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .member-page.member-maya-v22 .member-night-actions button:nth-child(2) { border-right: 0; }
  .member-page.member-maya-v22 .member-night-actions button:nth-child(-n+2) { border-bottom: 1px solid rgba(214, 183, 119, .15); }
}

/* Firmas de marca en momentos clave, sin convertir el logo en patrón. */
.member-section-logo {
  color: var(--maya-bone);
  opacity: .22;
  pointer-events: none;
}

.member-section-logo svg,
.member-section-logo .brand-symbol {
  display: block;
  width: 100%;
  height: auto;
  filter: sepia(.2) brightness(1.18);
}

.member-benefits-logo { width: clamp(58px, 6vw, 88px); margin-left: auto; }
.member-venues-logo { width: clamp(78px, 9vw, 138px); margin: 0 2vw 4px auto; }

.member-shisha-hero { position: relative; isolation: isolate; }
.member-shisha-hero .member-shisha-logo {
  position: absolute;
  z-index: 0;
  top: clamp(38px, 5vw, 72px);
  right: clamp(28px, 5vw, 76px);
  width: clamp(100px, 13vw, 190px);
  max-width: none;
  opacity: .16;
}
.member-shisha-hero > :not(.member-shisha-logo) { position: relative; z-index: 1; }

.member-shop-head { position: relative; }
.member-shop-head .member-shop-logo {
  position: absolute;
  top: clamp(22px, 4vw, 54px);
  left: 50%;
  width: clamp(84px, 10vw, 150px);
  transform: translateX(-50%);
}

.tulumbra-app-v22 .view { position: relative; }
.account-brandmark {
  position: absolute;
  z-index: 2;
  top: 34px;
  right: clamp(24px, 4vw, 64px);
  width: clamp(72px, 8vw, 116px);
}

@media (max-width: 700px) {
  body:has(.member-club-v16) .mobile-header .brand-symbol {
    display: block;
    width: 44px;
    height: 32px;
    object-fit: contain;
    filter: sepia(.12) brightness(1.22) drop-shadow(0 7px 13px rgba(0, 0, 0, .55));
  }
  body:has(.member-club-v16) .mobile-header .brand { gap: 8px; }
  body:has(.member-club-v16) .mobile-header .brand-name { font-size: 13px; }
  body:has(.member-club-v16) .mobile-header .brand-lockup small { font-size: 6px; letter-spacing: .16em; }
  .member-benefits-logo { width: 52px; }
  .member-venues-logo { width: 66px; margin-right: 0; }
  .member-shisha-hero .member-shisha-logo { top: 28px; right: 22px; width: 82px; opacity: .14; }
  .member-shop-head .member-shop-logo { top: 30px; right: 22px; left: auto; width: 72px; transform: none; opacity: .16; }
  .account-brandmark { top: 26px; right: 20px; width: 66px; opacity: .14; }
}

/* v64 — superficie continua y color nocturno neutro en toda la experiencia de socio. */
.tulumbra-app-v22.member-shell .app-main {
  min-height: 100svh;
  background:
    radial-gradient(circle at 82% 14%, rgba(62, 82, 55, .12), transparent 28%),
    radial-gradient(circle at 14% 52%, rgba(151, 113, 66, .07), transparent 32%),
    linear-gradient(180deg, rgba(4, 6, 4, .18), rgba(4, 5, 4, .82)),
    url("/media/tulumbra-maya-depth-texture-v2.webp") center top / 1180px auto repeat;
}

.member-page.member-maya-v22 {
  background: transparent;
}

.member-page.member-maya-v22 .member-door-hero.profile-epoca .member-door-shade {
  background:
    linear-gradient(90deg, rgba(5, 7, 5, .98) 0%, rgba(7, 9, 7, .9) 40%, rgba(7, 8, 6, .3) 76%, rgba(5, 6, 4, .14) 100%),
    linear-gradient(0deg, rgba(4, 5, 4, .86), transparent 58%);
}

.member-page.member-maya-v22 .member-door-hero {
  box-shadow: 0 34px 100px rgba(0, 0, 0, .28);
}

.member-page.member-maya-v22 .member-door-cta button:first-child,
.tulumbra-app-v22.member-shell .member-shop-page .club-shop-intro > button,
.tulumbra-app-v22.member-shell .member-shop-page .club-shop-add {
  border-color: var(--maya-bronze);
  background: var(--maya-bronze);
  color: #080906;
}

.member-page.member-maya-v22 .member-door-cta button:first-child:hover,
.tulumbra-app-v22.member-shell .member-shop-page .club-shop-intro > button:hover,
.tulumbra-app-v22.member-shell .member-shop-page .club-shop-add:hover {
  border-color: var(--maya-bronze-light);
  background: var(--maya-bronze-light);
}

@media (min-width: 901px) {
  .tulumbra-app-v22.member-shell .view:has(.member-page.member-maya-v22),
  .tulumbra-app-v22.member-shell .view:has(.member-shop-page) {
    width: 100%;
    max-width: none;
  }

  .member-page.member-maya-v22 {
    max-width: min(1600px, calc(100vw - 48px));
  }
}

@media (max-width: 900px) {
  .tulumbra-app-v22.member-shell .app-main {
    background-size: auto, auto, auto, 760px auto;
    background-position: center top;
  }
}

@media (max-width: 700px) {
  .member-page.member-maya-v22 .member-pass-command {
    min-height: 440px;
    padding-bottom: 92px;
  }

  .member-page.member-maya-v22 .member-pass-seal {
    top: 76px;
    right: 22px;
    width: 86px;
  }

  .member-page.member-maya-v22 .member-pass-wordmark {
    max-width: calc(100% - 10px);
    margin-top: 46px;
    font-size: clamp(22px, 7.4vw, 27px);
    white-space: nowrap;
  }

  .member-page.member-maya-v22 .member-pass-command > footer {
    position: absolute;
    right: 23px;
    bottom: 22px;
    left: 23px;
    width: auto;
    margin: 0;
  }

  .member-page.member-maya-v22 .member-pass-command > footer button {
    width: 100%;
    max-width: 100%;
    justify-content: space-between;
  }
}

/* Prioridad final para el wordmark 13500 sobre reglas históricas del símbolo. */
body .tulumbra-maya-v22 .public-header .brand-symbol,
body .tulumbra-maya-v22 .club-footer-v16 .brand-symbol,
body .tulumbra-app-v22 .mobile-header .brand-symbol,
body .tulumbra-app-v22 .sidebar-brand .brand-symbol {
  width: 132px;
  height: 44px;
  object-fit: contain;
  background: #000;
  mix-blend-mode: screen;
  transform: none;
}

body .tulumbra-app-v22 .door-brand-symbol,
body .tulumbra-app-v22 .door-reader-symbol,
body .tulumbra-app-v22 .bar-brand-symbol {
  width: 112px;
  height: 36px;
  object-fit: contain;
  background: #000;
  mix-blend-mode: screen;
  transform: none;
}

body .member-page.member-maya-v22 .member-pass-symbol,
body .member-page.member-maya-v22 .member-section-logo .brand-symbol,
body .member-page.member-maya-v22 .account-brandmark .brand-symbol {
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: contain;
  background: #000;
  mix-blend-mode: screen;
  transform: none;
}

@media (max-width: 700px) {
  body .tulumbra-maya-v22 .public-header .brand-symbol,
  body .tulumbra-app-v22 .mobile-header .brand-symbol {
    width: 92px;
    height: 31px;
  }
}

/* v76 — featured date CTA: one confident editorial action, no cramped generic box. */
.tulumbra-maya-v22 .club-cover-event > button.buy-event {
  position: relative;
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  min-height: 54px;
  padding: 0 18px;
  overflow: hidden;
  border: 1px solid rgba(218, 182, 111, .42);
  color: var(--maya-bone);
  background: linear-gradient(105deg, rgba(201, 158, 84, .13), rgba(4, 6, 4, .36) 62%);
  box-shadow: inset 3px 0 #cfa15c, 0 14px 34px rgba(0, 0, 0, .25);
  font: 750 9px/1 var(--maya-sans);
  letter-spacing: .15em;
  text-transform: uppercase;
}

.tulumbra-maya-v22 .club-cover-event > button.buy-event::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(218, 182, 111, .2), transparent 58%);
  opacity: 0;
  transform: translateX(-22%);
  transition: opacity 280ms ease, transform 520ms var(--maya-ease);
  pointer-events: none;
}

.tulumbra-maya-v22 .club-cover-event > button.buy-event:hover {
  border-color: rgba(226, 194, 128, .76);
  color: #fff8e8;
  transform: translateY(-2px);
}

.tulumbra-maya-v22 .club-cover-event > button.buy-event:hover::before { opacity: 1; transform: translateX(0); }
.tulumbra-maya-v22 .club-cover-event > button.buy-event span { transition: transform 320ms var(--maya-ease); }
.tulumbra-maya-v22 .club-cover-event > button.buy-event:hover span { transform: translate(3px, -3px); }

@media (max-width: 700px) {
  .tulumbra-maya-v22 .club-cover-event > button.buy-event {
    grid-column: 1 / -1;
    min-height: 50px;
    padding: 0 16px;
    font-size: 9px;
  }
}
