/* ==========================================================================
   Sundar Marriage Services (Sundar Events) — Photo + Video Gallery pages
   Loads after style.css and reuses its tokens, buttons, heading kit and CTA
   band; everything here is prefixed .gl-
   ========================================================================== */

.gl-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* doubled class so it outranks style.css's centred ".eyebrow--gold.eyebrow" */
.eyebrow.gl-eyebrow-left{justify-content:flex-start;}
.gl-eyebrow-left .dash{margin-left:11px;}

@keyframes gl-pop{from{opacity:0;transform:translateY(24px) scale(.96);}}
@keyframes gl-fade{from{opacity:0;}}
@keyframes gl-zoom{from{opacity:0;transform:scale(.94);}}
@keyframes gl-spin{to{rotate:360deg;}}

/* ---------- shared hero typography ---------- */
.gl-crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;
  font-size:13px;color:rgba(247,220,230,.72);
}
.gl-crumbs a{transition:color .3s var(--ease);}
.gl-crumbs a:hover{color:var(--gold-300);}
.gl-crumbs i{font-size:8.5px;color:var(--gold-400);opacity:.8;}
.gl-crumbs [aria-current]{color:var(--gold-200);font-weight:600;}

.gl-hero__eyebrow{
  display:inline-flex;align-items:center;gap:9px;padding:7px 16px;border-radius:999px;
  font-size:11.5px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase;color:var(--gold-200);
  background:rgba(240,206,126,.1);border:1px solid rgba(240,206,126,.28);
}
.gl-hero__eyebrow i{font-size:13px;color:var(--gold-300);}
.gl-hero__title{
  margin-top:18px;font-size:clamp(40px,5vw,74px);font-weight:800;line-height:1.04;letter-spacing:-.6px;
  background:linear-gradient(95deg,#fff 0%,#FFF3DC 45%,var(--gold-300) 80%,var(--gold-400));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 8px 26px rgba(0,0,0,.35));
}
.gl-hero__script{margin-top:6px;font-family:var(--ff-script);font-size:clamp(24px,2.4vw,34px);font-weight:600;line-height:1.25;color:var(--gold-300);}
.gl-hero__intro{margin-top:16px;max-width:560px;font-size:15.5px;line-height:1.8;color:rgba(244,230,234,.85);}

/* ---------- Photos | Videos switch ---------- */
.gl-switch{
  position:relative;isolation:isolate;
  display:inline-grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:999px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);
}
.gl-switch__thumb{
  position:absolute;z-index:-1;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:999px;
  background:linear-gradient(100deg,var(--gold-200),var(--gold-300) 45%,var(--gold-400));
  box-shadow:0 8px 18px rgba(201,135,60,.35);
  transition:transform .55s var(--ease);
}
.gl-switch--videos .gl-switch__thumb{transform:translateX(100%);}
.gl-switch__opt{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;border-radius:999px;
  font-size:14px;font-weight:600;white-space:nowrap;color:rgba(255,255,255,.86);
  transition:color .3s var(--ease);
}
.gl-switch__opt.is-on{color:#4A2708;}
.gl-switch__opt:not(.is-on):hover{color:var(--gold-200);}
.gl-switch__opt:focus-visible{outline:2px solid var(--gold-300);outline-offset:2px;}

/* ---------- play button ---------- */
.gl-play{
  position:absolute;top:50%;left:50%;z-index:2;
  width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;display:grid;place-items:center;
  font-size:20px;color:var(--maroon);background:rgba(255,255,255,.95);
  box-shadow:0 14px 34px rgba(0,0,0,.35);
  transition:transform .45s var(--ease),background .3s var(--ease),color .3s var(--ease);
}
.gl-play i{margin-left:3px;}
.gl-play::before{
  content:"";position:absolute;inset:-8px;border-radius:50%;
  border:2px solid rgba(255,255,255,.6);animation:ripple 2.4s ease-out infinite;pointer-events:none;
}
.gl-play--lg{width:82px;height:82px;margin:-41px 0 0 -41px;font-size:25px;}
.gl-play--xl{
  width:98px;height:98px;margin:-49px 0 0 -49px;font-size:30px;color:#4A2708;
  background:linear-gradient(140deg,var(--gold-200),var(--gold-400));
}
.gl-play--xl::before{border-color:rgba(247,224,166,.7);}
button.gl-play:hover,button.gl-play:focus-visible{transform:scale(1.08);outline:none;}

/* ==========================================================================
   PHOTO HERO
   ========================================================================== */
.gl-hero{
  position:relative;overflow:hidden;isolation:isolate;color:#F4E6EA;
  background:
    radial-gradient(ellipse 55% 70% at 82% 40%,rgba(210,28,114,.24),transparent 62%),
    radial-gradient(ellipse 45% 55% at 0% 100%,rgba(201,135,60,.2),transparent 60%),
    linear-gradient(135deg,#260915 0%,#4A0C26 55%,#260915 100%);
}
.gl-hero::after,
.gl-cinema::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:22px;z-index:4;pointer-events:none;
  background-image:radial-gradient(circle at 22px 22px,var(--cream-2) 21px,transparent 22px);
  background-size:44px 22px;background-repeat:repeat-x;
}
/* interlocking-circle jaali, fading out behind the photo columns */
.gl-hero__pattern{
  position:absolute;inset:0;z-index:-1;
  background-image:
    radial-gradient(circle at 50% 50%,transparent 0 17px,rgba(240,206,126,.1) 17px 18px,transparent 18.5px),
    radial-gradient(circle at 0 0,transparent 0 17px,rgba(240,206,126,.1) 17px 18px,transparent 18.5px);
  background-size:48px 48px;
  -webkit-mask-image:linear-gradient(100deg,#000 0%,rgba(0,0,0,.55) 45%,transparent 72%);
  mask-image:linear-gradient(100deg,#000 0%,rgba(0,0,0,.55) 45%,transparent 72%);
}

.gl-hero__grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:40px;
  min-height:clamp(560px,46vw,680px);padding-block:56px 72px;
}
.gl-hero--solo .gl-hero__grid{grid-template-columns:minmax(0,760px);min-height:0;padding-block:70px 90px;}

.gl-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.gl-facts li{
  display:flex;flex-direction:column;min-width:112px;padding:12px 18px;border-radius:16px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px);
}
.gl-facts b{font-family:var(--ff-serif);font-size:28px;font-weight:800;line-height:1.15;color:var(--gold-200);}
.gl-facts span{font-size:12px;letter-spacing:.3px;color:rgba(244,230,234,.72);}

.gl-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:30px;}

/* three gold-framed columns of photos drifting in opposite directions */
.gl-reels{
  position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
  height:clamp(480px,44vw,620px);margin-right:-4%;
  transform:rotate(-7deg);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
}
.gl-reel{min-width:0;}
.gl-reel--1{margin-top:-70px;}
.gl-reel__track{display:flex;flex-direction:column;gap:16px;animation:gl-reel-up 40s linear infinite;will-change:transform;}
.gl-reel--1 .gl-reel__track{animation-name:gl-reel-down;animation-duration:48s;}
.gl-reel--2 .gl-reel__track{animation-duration:34s;}
@keyframes gl-reel-up{from{transform:translateY(0);}to{transform:translateY(calc(-50% - 8px));}}
@keyframes gl-reel-down{from{transform:translateY(calc(-50% - 8px));}to{transform:translateY(0);}}
.gl-reel__frame{
  display:block;aspect-ratio:4/5;padding:5px;border-radius:20px;
  background:linear-gradient(150deg,var(--gold-200),var(--gold) 55%,var(--gold-700));
  box-shadow:0 18px 40px rgba(0,0,0,.45);
}
.gl-reel__frame img{width:100%;height:100%;object-fit:cover;border-radius:15px;}

/* ==========================================================================
   ALBUMS + PHOTO GRID
   ========================================================================== */
.gl-albums{position:relative;overflow:hidden;padding-block:72px 84px;background:var(--cream-2);}
.gl-albums .deco--leaf-r{opacity:.45;}
.gl-albums .container{position:relative;z-index:1;}

.gl-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1120px;margin:26px auto 36px;}
.gl-tab{
  display:inline-flex;align-items:center;gap:10px;padding:6px 7px 6px 18px;border-radius:999px;
  font-size:14px;font-weight:600;color:#3A3540;white-space:nowrap;
  background:#fff;border:1px solid #F0E1D6;box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),background .35s var(--ease);
}
.gl-tab:has(.gl-tab__cover){padding-left:6px;}
.gl-tab__cover{
  flex:none;width:34px;height:34px;border-radius:50%;overflow:hidden;
  box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--gold-300);
}
.gl-tab__cover img{width:100%;height:100%;object-fit:cover;}
.gl-tab__count{
  min-width:26px;height:26px;padding:0 8px;border-radius:999px;display:grid;place-items:center;
  font-size:12px;font-weight:700;color:var(--maroon);background:var(--cream);
  transition:background .35s var(--ease),color .35s var(--ease);
}
.gl-tab:hover{transform:translateY(-2px);border-color:var(--gold-300);box-shadow:var(--shadow-md);color:var(--maroon);}
.gl-tab:focus-visible{outline:2px solid var(--gold-400);outline-offset:3px;}
.gl-tab.is-active{
  color:#fff;border-color:transparent;
  background:linear-gradient(100deg,var(--maroon-800),var(--maroon-600) 60%,var(--pink));
  box-shadow:0 12px 26px rgba(142,16,67,.3);
}
.gl-tab.is-active .gl-tab__count{background:rgba(255,255,255,.2);color:#fff;}

.gl-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:clamp(170px,17vw,250px);grid-auto-flow:dense;gap:16px;
}
.gl-tile{
  position:relative;isolation:isolate;margin:0;border-radius:20px;overflow:hidden;
  background:var(--peach);box-shadow:var(--shadow-sm);
}
.gl-tile[hidden]{display:none!important;}
.gl-tile--wide{grid-column:span 2;}
.gl-tile--tall{grid-row:span 2;}
.gl-tile.is-in{animation:gl-pop .6s var(--ease) both;animation-delay:calc(var(--k,0) * 45ms);}
/* set by gallery.js until the grid scrolls into view, then each card pops in */
.gl-grid.is-armed .gl-tile,.gl-film-grid.is-armed .gl-film{opacity:0;}

.gl-tile__btn{display:block;width:100%;height:100%;padding:0;cursor:zoom-in;}
.gl-tile__btn img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.gl-tile__btn:focus-visible{outline:3px solid var(--gold-400);outline-offset:-3px;border-radius:20px;}

/* inner gold frame + shade, revealed on hover */
.gl-tile::before{
  content:"";position:absolute;inset:10px;z-index:2;pointer-events:none;
  border:1.5px solid rgba(247,224,166,.9);border-radius:13px;
  opacity:0;transform:scale(1.05);transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.gl-tile::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(35,6,18,0) 42%,rgba(35,6,18,.8));
  opacity:0;transition:opacity .5s var(--ease);
}
.gl-tile__cap{
  position:absolute;left:20px;right:20px;bottom:18px;z-index:3;pointer-events:none;
  display:flex;flex-direction:column;align-items:flex-start;gap:5px;
  opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease),transform .45s var(--ease);
}
.gl-tile__album{
  padding:3px 10px;border-radius:999px;
  font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:#4A2708;background:var(--gold-300);
}
.gl-tile__alt{font-family:var(--ff-serif);font-size:16px;font-weight:700;line-height:1.3;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45);}
.gl-tile__zoom{
  position:absolute;top:18px;right:18px;z-index:3;pointer-events:none;
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  font-size:14px;color:var(--maroon);background:rgba(255,255,255,.94);
  opacity:0;transform:scale(.6) rotate(-45deg);transition:opacity .45s var(--ease),transform .45s var(--ease);
}
.gl-tile:hover .gl-tile__btn img,.gl-tile:focus-within .gl-tile__btn img{transform:scale(1.08);}
.gl-tile:hover::before,.gl-tile:focus-within::before{opacity:1;transform:none;}
.gl-tile:hover::after,.gl-tile:focus-within::after{opacity:1;}
.gl-tile:hover .gl-tile__cap,.gl-tile:focus-within .gl-tile__cap{opacity:1;transform:none;}
.gl-tile:hover .gl-tile__zoom,.gl-tile:focus-within .gl-tile__zoom{opacity:1;transform:none;}
@media (hover:none){
  .gl-tile::after{opacity:.9;}
  .gl-tile__cap{opacity:1;transform:none;left:14px;right:14px;bottom:12px;}
  .gl-tile__alt{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .gl-tile__zoom{display:none;}
}

.gl-grid-empty{padding:40px 0 10px;text-align:center;color:#77747C;}

.gl-more{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:40px;}
.gl-more[hidden]{display:none;}
.gl-more__status{font-size:13.5px;color:#77747C;}
.gl-more__status b{color:var(--ink);}
.gl-more__bar{display:block;width:230px;height:4px;border-radius:4px;overflow:hidden;background:#F0E1D6;}
.gl-more__bar span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--gold),var(--maroon));transition:width .6s var(--ease);}
.gl-more .btn{margin-top:6px;}

.gl-empty{max-width:620px;margin:0 auto;padding:20px 0;text-align:center;}
.gl-empty__art{
  width:112px;height:112px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;
  font-size:42px;color:var(--gold-200);
  background:linear-gradient(150deg,var(--maroon-600),var(--maroon-900));
  box-shadow:0 0 0 10px #FBEFE6,var(--shadow-lg);
}
.gl-empty h2{font-size:clamp(24px,3vw,32px);font-weight:800;}
.gl-empty p{margin:12px 0 24px;}

/* ==========================================================================
   CROSS-LINK TEASERS (photos → videos, videos → photos)
   ========================================================================== */
.gl-teaser{padding-block:6px 84px;background:var(--cream-2);}
.gl-films + .gl-teaser{padding-top:0;}
.gl-teaser__card{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:52px;
  padding:34px 48px 34px 34px;border-radius:32px;
  background:
    radial-gradient(circle at 100% 0%,rgba(240,206,126,.38),transparent 42%),
    radial-gradient(circle at 0% 100%,rgba(210,28,114,.08),transparent 40%),
    linear-gradient(120deg,#FFF8F2,#FBEDE2);
  border:1px solid #F3E0D2;box-shadow:var(--shadow-md);
}
.gl-teaser__copy h2{font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.18;}
.gl-teaser__copy h2 em{font-style:normal;color:var(--gold);}
.gl-teaser__copy p{margin:14px 0 26px;font-size:15px;}

/* a still from a film strip */
.gl-teaser__media{
  position:relative;display:block;aspect-ratio:16/10;padding-block:22px;border-radius:22px;overflow:hidden;
  background:#140A0F;box-shadow:0 24px 50px rgba(20,4,11,.35);
}
.gl-teaser__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .6s var(--ease);}
.gl-teaser__strip,
.gl-film__holes{
  position:absolute;left:0;right:0;z-index:1;
  background-color:#140A0F;
  background-image:linear-gradient(rgba(255,244,230,.88),rgba(255,244,230,.88));
  background-repeat:space no-repeat;background-position:0 50%;
}
.gl-teaser__strip{height:22px;background-size:14px 9px;}
.gl-teaser__strip--top{top:0;}
.gl-teaser__strip--bottom{bottom:0;}
.gl-teaser__media:hover img{transform:scale(1.06);filter:brightness(.85);}
.gl-teaser__media:hover .gl-play{transform:scale(1.1);background:var(--maroon);color:#fff;}

/* three polaroids fanned out */
.gl-teaser__fan{position:relative;display:block;height:320px;}
.gl-teaser__polaroid{
  position:absolute;top:50%;left:50%;
  width:min(48%,230px);aspect-ratio:4/5;padding:10px 10px 36px;border-radius:6px;background:#fff;
  box-shadow:0 18px 40px rgba(92,10,40,.2);
  transform:translate(-50%,-50%) translateX(calc((var(--n) - 1) * 46%)) rotate(calc((var(--n) - 1) * 9deg));
  transition:transform .7s var(--ease);
}
.gl-teaser__polaroid:nth-child(2){z-index:2;}
.gl-teaser__polaroid img{width:100%;height:100%;object-fit:cover;border-radius:3px;}
.gl-teaser__fan:hover .gl-teaser__polaroid{transform:translate(-50%,-50%) translateX(calc((var(--n) - 1) * 62%)) rotate(calc((var(--n) - 1) * 13deg)) translateY(-6px);}

/* ==========================================================================
   PHOTO VIEWER
   ========================================================================== */
body.gl-lock{overflow:hidden;}
.gl-viewer{
  position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;
  color:#fff;background:radial-gradient(ellipse at 50% 35%,#3D0E24 0%,#1A0712 55%,#0F040A 100%);
  grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;
}
.gl-viewer[open]{display:grid;animation:gl-fade .35s var(--ease);}
.gl-viewer::backdrop{background:#0F040A;}

.gl-viewer__bar{display:flex;align-items:center;gap:16px;padding:16px 22px;}
.gl-viewer__count{display:flex;align-items:baseline;gap:6px;min-width:90px;font-family:var(--ff-serif);font-size:15px;color:rgba(255,255,255,.62);}
.gl-viewer__count b{font-size:24px;color:var(--gold-200);}
.gl-viewer__album{
  flex:1;text-align:center;
  font-size:11.5px;font-weight:700;letter-spacing:2.6px;text-transform:uppercase;color:var(--gold-300);
}
.gl-viewer__tools{display:flex;justify-content:flex-end;gap:8px;min-width:90px;}
.gl-viewer__btn,.gl-viewer__nav{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);
  transition:background .3s var(--ease),transform .3s var(--ease),color .3s var(--ease);
}
.gl-viewer__btn:hover,.gl-viewer__nav:hover,
.gl-viewer__btn:focus-visible,.gl-viewer__nav:focus-visible{background:var(--maroon);transform:scale(1.07);outline:none;}
.gl-viewer__btn[aria-pressed="true"]{background:var(--gold-300);color:#4A2708;border-color:var(--gold-300);}

.gl-viewer__stage{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;
  min-height:0;padding:0 22px;
}
.gl-viewer__fig{
  margin:0;height:100%;min-height:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
}
.gl-viewer__img{
  display:block;max-width:100%;max-height:calc(100% - 64px);width:auto;height:auto;object-fit:contain;
  border-radius:14px;border:3px solid rgba(247,224,166,.85);
  box-shadow:0 30px 80px rgba(0,0,0,.6);
}
.gl-viewer__img.is-swapping{animation:gl-zoom .45s var(--ease);}
.gl-viewer__cap{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;
  max-width:760px;text-align:center;font-family:var(--ff-serif);font-size:17px;line-height:1.4;
}
.gl-viewer__svc{
  display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;
  font-family:var(--ff-sans);font-size:12.5px;font-weight:600;color:var(--gold-200);
  background:rgba(240,206,126,.12);border:1px solid rgba(240,206,126,.4);
  transition:background .3s var(--ease),color .3s var(--ease);
}
.gl-viewer__svc[hidden]{display:none;}
.gl-viewer__svc:hover{background:var(--gold-300);color:#4A2708;}

.gl-viewer__strip{display:flex;gap:8px;overflow-x:auto;padding:14px 22px 20px;scrollbar-width:none;}
.gl-viewer__strip::-webkit-scrollbar{display:none;}
.gl-viewer__thumb{
  flex:none;width:66px;height:50px;padding:0;border-radius:9px;overflow:hidden;
  border:2px solid transparent;opacity:.42;
  transition:opacity .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);
}
.gl-viewer__thumb:first-child{margin-left:auto;}
.gl-viewer__thumb:last-child{margin-right:auto;}
.gl-viewer__thumb img{width:100%;height:100%;object-fit:cover;}
.gl-viewer__thumb:hover{opacity:.8;}
.gl-viewer__thumb.is-on{opacity:1;border-color:var(--gold-300);transform:translateY(-3px);}

.gl-viewer__progress{position:absolute;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold-300),var(--pink));}
.gl-viewer__progress.is-running{animation:gl-progress var(--dur,4.5s) linear forwards;}
@keyframes gl-progress{from{width:0;}to{width:100%;}}

/* ==========================================================================
   VIDEO CINEMA HERO
   ========================================================================== */
.gl-cinema{
  position:relative;overflow:hidden;isolation:isolate;color:#F4E6EA;padding-bottom:96px;
  background:
    radial-gradient(ellipse 55% 42% at 50% 0%,rgba(240,206,126,.16),transparent 70%),
    radial-gradient(ellipse 80% 55% at 50% 108%,rgba(210,28,114,.22),transparent 65%),
    linear-gradient(180deg,#1A0610 0%,#2B0A19 52%,#15050C 100%);
}
.gl-cinema--empty{padding-bottom:84px;}

/* scalloped pelmet with gold beads */
.gl-valance{
  position:absolute;top:0;left:0;right:0;z-index:3;height:48px;pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,var(--gold-300) 0 3px,rgba(240,206,126,.35) 3.6px,transparent 5px) 0 33px/52px 12px repeat-x,
    radial-gradient(ellipse 26px 24px at 50% 0,#7A0E37 0 97%,transparent 100%) 0 14px/52px 26px repeat-x,
    linear-gradient(180deg,#4A0820,#7A0E37) 0 0/100% 15px no-repeat;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.45));
}
/* velvet curtains, drawn back on load */
.gl-curtain{
  position:absolute;top:0;bottom:0;z-index:2;width:clamp(56px,10vw,170px);pointer-events:none;
  background:
    repeating-linear-gradient(90deg,rgba(0,0,0,.34) 0,rgba(255,255,255,.06) 11px,rgba(0,0,0,.14) 20px,rgba(0,0,0,.38) 30px),
    linear-gradient(180deg,#9A1149 0%,#6E0C31 55%,#3A0619 100%);
  box-shadow:inset -18px 0 36px rgba(0,0,0,.5),10px 0 30px rgba(0,0,0,.35);
  border-bottom-right-radius:100% 18%;
  animation:gl-curtain 1.7s var(--ease) .15s both;
}
.gl-curtain--l{left:0;}
.gl-curtain--r{right:0;transform:scaleX(-1);}
@keyframes gl-curtain{from{width:51%;}}

.gl-cinema__beam{
  position:absolute;top:-8%;z-index:0;width:38%;height:112%;pointer-events:none;
  background:linear-gradient(180deg,rgba(247,224,166,.24),rgba(247,224,166,0) 78%);
  clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);
  filter:blur(16px);opacity:.55;transform-origin:50% 0;
  animation:gl-sweep 9s ease-in-out infinite alternate;
}
.gl-cinema__beam--l{left:8%;rotate:-16deg;}
.gl-cinema__beam--r{right:8%;rotate:16deg;animation-delay:-4.5s;}
@keyframes gl-sweep{from{transform:rotate(-5deg);}to{transform:rotate(5deg);}}

.gl-cinema__inner{position:relative;z-index:3;padding-top:84px;}
.gl-cinema__head{display:flex;flex-direction:column;align-items:center;max-width:780px;margin:0 auto;text-align:center;}
.gl-cinema__head .gl-crumbs{justify-content:center;}
.gl-cinema__head .gl-hero__intro{margin-inline:auto;}
.gl-cinema__head .gl-switch{margin-top:26px;}

.gl-screen{
  display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:center;gap:40px;
  margin-top:52px;
}
.gl-screen__stage{
  position:relative;padding:16px;border-radius:28px;
  background:linear-gradient(150deg,#3F0F26,#1C0711);
  box-shadow:0 44px 90px rgba(0,0,0,.6),inset 0 0 0 1px rgba(240,206,126,.28);
}
/* marquee bulbs around the screen */
.gl-screen__bulbs{
  position:absolute;inset:3px;border-radius:25px;pointer-events:none;
  --bulb:radial-gradient(circle,#FFF4D6 0 2.4px,rgba(247,224,166,.45) 3.4px,transparent 5.5px);
  background:
    var(--bulb) 0 0/26px 10px repeat-x,
    var(--bulb) 0 100%/26px 10px repeat-x,
    var(--bulb) 0 0/10px 26px repeat-y,
    var(--bulb) 100% 0/10px 26px repeat-y;
  animation:gl-bulbs 1.4s steps(1) infinite;
}
@keyframes gl-bulbs{50%{opacity:.55;filter:hue-rotate(-12deg);}}

.gl-player{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;}
.gl-player.is-vertical{width:auto;height:min(68vh,620px);max-width:100%;margin-inline:auto;aspect-ratio:9/16;}
.gl-player__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);}
.gl-player:hover .gl-player__poster{transform:scale(1.04);}
.gl-player__shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(10,2,6,.05) 25%,rgba(10,2,6,.6));}
.gl-player__tag,.gl-player__time{
  position:absolute;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;
  font-size:12px;font-weight:600;color:#fff;background:rgba(10,2,6,.58);backdrop-filter:blur(6px);
}
.gl-player__tag{top:14px;left:14px;}
.gl-player__time{right:14px;bottom:14px;}
.gl-player iframe,.gl-player video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;}
.gl-player.is-playing > :not(iframe):not(video){display:none;}

.gl-poster-ph{
  display:grid;place-items:center;font-size:56px;color:rgba(247,224,166,.55);
  background:
    radial-gradient(circle at 30% 20%,rgba(210,28,114,.42),transparent 60%),
    linear-gradient(150deg,#5C0A28,#1A0610);
}

.gl-now{
  display:inline-flex;align-items:center;gap:9px;padding:6px 14px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:#FFD6E5;
  background:rgba(210,28,114,.18);border:1px solid rgba(210,28,114,.45);
}
.gl-now__dot{width:8px;height:8px;border-radius:50%;background:#FF4F8B;animation:gl-live 1.8s ease-out infinite;}
@keyframes gl-live{0%{box-shadow:0 0 0 0 rgba(255,79,139,.7);}70%,100%{box-shadow:0 0 0 9px rgba(255,79,139,0);}}

.gl-screen__title{margin-top:16px;font-size:clamp(26px,2.6vw,38px);font-weight:800;line-height:1.16;color:#fff;}
.gl-screen__meta{margin-top:8px;font-size:13px;font-weight:600;letter-spacing:.5px;color:var(--gold-300);}
.gl-screen__desc{margin-top:14px;font-size:15px;line-height:1.8;color:rgba(244,230,234,.82);}
.gl-screen__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.gl-screen__more{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-size:13px;color:rgba(244,230,234,.7);transition:color .3s var(--ease);}
.gl-screen__more:hover{color:var(--gold-200);}
.gl-screen__more i{animation:float-y 2s ease-in-out infinite;}

/* no videos yet: a spinning film reel */
.gl-premiere{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:52px;
  max-width:940px;margin:52px auto 0;padding:40px 48px;border-radius:30px;
  background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
  border:1px solid rgba(240,206,126,.24);backdrop-filter:blur(8px);
}
.gl-premiere__reel{position:relative;width:200px;height:200px;}
.gl-premiere__spool{
  position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle,#1A0610 0 13%,var(--gold-300) 13.5% 17%,#2E0B1B 17.5% 100%);
  box-shadow:inset 0 0 0 9px var(--gold),inset 0 0 0 12px var(--gold-700),0 24px 50px rgba(0,0,0,.55);
  animation:gl-spin 9s linear infinite;
}
.gl-premiere__spool i{
  position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;
  background:#12040A;box-shadow:inset 0 0 0 2px rgba(240,206,126,.45);
  transform:rotate(calc(var(--k) * 72deg)) translateY(-58px);
}
.gl-premiere__spool i:nth-child(1){--k:0;}
.gl-premiere__spool i:nth-child(2){--k:1;}
.gl-premiere__spool i:nth-child(3){--k:2;}
.gl-premiere__spool i:nth-child(4){--k:3;}
.gl-premiere__spool i:nth-child(5){--k:4;}
.gl-premiere__tape{
  position:absolute;right:-72px;bottom:10px;width:140px;height:30px;border-radius:3px;
  background-color:#140A0F;
  background-image:
    linear-gradient(rgba(255,244,230,.85),rgba(255,244,230,.85)),
    linear-gradient(rgba(255,244,230,.85),rgba(255,244,230,.85));
  background-size:9px 5px,9px 5px;background-repeat:space no-repeat;background-position:0 3px,0 calc(100% - 3px);
  transform:rotate(-12deg);box-shadow:0 10px 20px rgba(0,0,0,.4);
}
.gl-premiere__copy h2{margin-top:14px;font-size:clamp(26px,3vw,36px);font-weight:800;color:#fff;}
.gl-premiere__copy p{margin-top:12px;font-size:15px;line-height:1.8;color:rgba(244,230,234,.82);}
.gl-premiere__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}

/* ==========================================================================
   FILM GRID
   ========================================================================== */
.gl-films{position:relative;overflow:hidden;padding-block:74px 84px;background:var(--cream-2);}
.gl-films__pattern{
  position:absolute;inset:0;pointer-events:none;opacity:.6;
  background-image:radial-gradient(circle,rgba(201,135,60,.14) 1.2px,transparent 1.8px);
  background-size:26px 26px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 60%);
  mask-image:linear-gradient(180deg,#000,transparent 60%);
}
.gl-films .container{position:relative;}

.gl-film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:10px;}
.gl-film{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  border-radius:22px;background:#fff;border:1px solid #F3E4D8;box-shadow:var(--shadow-sm);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.gl-film[hidden]{display:none!important;}
.gl-film.is-in{animation:gl-pop .6s var(--ease) both;animation-delay:calc(var(--k,0) * 60ms);}
.gl-film:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.gl-film__hit{position:absolute;inset:0;z-index:5;border-radius:inherit;}
.gl-film__hit:focus-visible{outline:3px solid var(--gold-400);outline-offset:-3px;}

.gl-film__poster{position:relative;aspect-ratio:16/10;overflow:hidden;background:#140A0F;}
.gl-film__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .5s var(--ease);}
.gl-film:hover .gl-film__img{transform:scale(1.07);filter:brightness(.78);}
.gl-film__holes{height:16px;background-size:10px 6px;transition:transform .45s var(--ease);}
.gl-film__holes--top{top:0;transform:translateY(-100%);}
.gl-film__holes--bottom{bottom:0;transform:translateY(100%);}
.gl-film:hover .gl-film__holes{transform:none;}
.gl-film .gl-play{width:58px;height:58px;margin:-29px 0 0 -29px;font-size:18px;}
.gl-film:hover .gl-play{transform:scale(1.1);background:var(--maroon);color:#fff;}
.gl-film__provider{
  position:absolute;top:24px;left:12px;z-index:2;
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  font-size:14px;color:#fff;background:rgba(10,2,6,.58);backdrop-filter:blur(4px);
}
.gl-film__time{
  position:absolute;right:12px;bottom:24px;z-index:2;padding:3px 9px;border-radius:6px;
  font-size:12px;font-weight:600;color:#fff;background:rgba(10,2,6,.75);
}
.gl-film__body{padding:18px 22px 24px;}
.gl-film__album{font-size:10.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-600);}
.gl-film__title{margin-top:6px;font-size:19px;font-weight:700;line-height:1.3;transition:color .3s var(--ease);}
.gl-film:hover .gl-film__title{color:var(--maroon);}
.gl-film__desc{
  margin-top:8px;font-size:14px;line-height:1.65;color:#77747C;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* ---------- theatre dialog ---------- */
.gl-theatre{
  width:min(1100px,calc(100vw - 32px),calc((100vh - 120px) * 16 / 9));max-width:none;max-height:calc(100vh - 32px);
  padding:0;border:0;border-radius:22px;overflow:hidden;
  color:#fff;background:#0E0308;box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 0 1px rgba(240,206,126,.2);
}
.gl-theatre.is-vertical{width:min(430px,calc(100vw - 32px),calc((100vh - 120px) * 9 / 16));}
.gl-theatre[open]{animation:gl-zoom .4s var(--ease);}
.gl-theatre::backdrop{background:rgba(12,3,8,.9);backdrop-filter:blur(4px);}
.gl-theatre__head{display:flex;align-items:center;gap:14px;padding:12px 12px 12px 22px;}
.gl-theatre__title{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:18px;color:#fff;}
.gl-theatre__ext{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;white-space:nowrap;color:var(--gold-300);}
.gl-theatre__ext[hidden]{display:none;}
.gl-theatre__ext:hover{color:var(--gold-200);}
.gl-theatre__close{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;
  color:#fff;background:rgba(255,255,255,.1);transition:background .3s var(--ease),transform .3s var(--ease);
}
.gl-theatre__close:hover,.gl-theatre__close:focus-visible{background:var(--maroon);transform:rotate(90deg);outline:none;}
.gl-theatre__frame{position:relative;aspect-ratio:16/9;background:#000;}
.gl-theatre.is-vertical .gl-theatre__frame{aspect-ratio:9/16;}
.gl-theatre.is-vertical .gl-theatre__ext span{display:none;}
.gl-theatre__frame iframe,.gl-theatre__frame video{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  .gl-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .gl-film-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gl-screen{grid-template-columns:1fr;gap:30px;}
  .gl-screen__info{max-width:700px;margin:0 auto;text-align:center;}
  .gl-screen__actions{justify-content:center;}
}
@media (max-width:960px){
  .gl-hero__grid{grid-template-columns:1fr;gap:18px;min-height:0;padding-block:46px 70px;}
  .gl-reels{height:320px;margin:0 -12px;transform:rotate(-4deg);}
  .gl-reel--1{margin-top:-40px;}
  .gl-teaser__card{grid-template-columns:1fr;gap:30px;padding:22px 22px 32px;}
  .gl-teaser__fan{height:280px;}
  .gl-premiere{grid-template-columns:1fr;justify-items:center;gap:30px;padding:34px 24px;text-align:center;}
  .gl-premiere__actions{justify-content:center;}
  .gl-premiere__reel{width:160px;height:160px;}
  .gl-premiere__spool i{width:36px;height:36px;margin:-18px 0 0 -18px;transform:rotate(calc(var(--k) * 72deg)) translateY(-46px);}
  .gl-premiere__tape{width:110px;right:-54px;}
}
@media (max-width:680px){
  .gl-hero__title{font-size:clamp(36px,11vw,48px);}
  .gl-facts{gap:8px;}
  .gl-facts li{flex:1 1 0;min-width:0;padding:10px 12px;}
  .gl-facts b{font-size:22px;}
  .gl-facts span{font-size:11px;}
  .gl-hero__actions{gap:12px;}
  .gl-switch__opt{padding:9px 18px;font-size:13.5px;}

  .gl-tabs{
    flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;
    margin:22px calc(var(--gutter) * -1) 24px;padding:6px var(--gutter) 10px;
  }
  .gl-tabs::-webkit-scrollbar{display:none;}
  .gl-tab{flex:none;}

  .gl-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:44vw;gap:10px;}
  .gl-tile{border-radius:14px;}
  .gl-tile::before{inset:7px;border-radius:9px;}
  /* half-width tiles are too small for the album pill as well as the caption */
  .gl-tile__cap{left:10px;right:10px;bottom:9px;gap:4px;}
  .gl-tile:not(.gl-tile--wide) .gl-tile__album{display:none;}
  .gl-tile__alt{font-size:12.5px;line-height:1.3;}

  .gl-curtain{width:22px;}
  .gl-cinema__beam{display:none;}
  .gl-cinema__inner{padding-top:70px;}
  .gl-screen__stage{padding:10px;border-radius:20px;}
  .gl-screen__bulbs{border-radius:18px;}
  .gl-player{border-radius:12px;}
  .gl-play--xl{width:76px;height:76px;margin:-38px 0 0 -38px;font-size:24px;}

  .gl-film-grid{grid-template-columns:1fr;gap:20px;}

  .gl-viewer__bar{padding:12px 14px;}
  .gl-viewer__album{display:none;}
  .gl-viewer__count{flex:1;}
  .gl-viewer__stage{grid-template-columns:minmax(0,1fr);padding:0 10px;position:relative;}
  .gl-viewer__nav{position:absolute;top:calc(50% - 50px);z-index:2;background:rgba(10,2,6,.5);}
  .gl-viewer__nav--prev{left:14px;}
  .gl-viewer__nav--next{right:14px;}
  .gl-viewer__cap{font-size:15px;padding-inline:8px;}
  .gl-viewer__thumb{width:54px;height:42px;}

  .gl-teaser__card{border-radius:24px;}
  .gl-teaser__fan{height:240px;}
}
@media (max-width:460px){
  .gl-hero__actions .btn{width:100%;justify-content:center;}
  .gl-hero__actions .gl-switch{width:100%;}
  .gl-screen__actions .btn,.gl-premiere__actions .btn{width:100%;justify-content:center;}
}

@media (prefers-reduced-motion:reduce){
  .gl-reel__track,.gl-cinema__beam,.gl-screen__bulbs,.gl-premiere__spool,.gl-now__dot,.gl-curtain,.gl-screen__more i{animation:none!important;}
  .gl-play::before{animation:none;}
}
