.elementor-133 .elementor-element.elementor-element-423dabab > .elementor-container{min-height:400px;}.elementor-133 .elementor-element.elementor-element-423dabab > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-133 .elementor-element.elementor-element-423dabab:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-423dabab > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://imaginecinemas.africa/wp-content/uploads/2026/06/About.jpg");background-position:center center;background-size:cover;}.elementor-133 .elementor-element.elementor-element-423dabab > .elementor-background-overlay{background-color:var( --e-global-color-4d31b8b );opacity:0.5;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-423dabab{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-bc-flex-widget .elementor-133 .elementor-element.elementor-element-697d0227.elementor-column .elementor-widget-wrap{align-items:middle;}.elementor-133 .elementor-element.elementor-element-697d0227.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:middle;align-items:middle;}.elementor-133 .elementor-element.elementor-element-41ad151f{text-align:center;font-family:"Manrope", Sans-serif;font-size:12px;color:#D4AF37;}.elementor-133 .elementor-element.elementor-element-1acbbf8f{text-align:center;}.elementor-133 .elementor-element.elementor-element-1acbbf8f .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:72px;text-transform:uppercase;color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-173e8501{text-align:center;font-family:"Manrope", Sans-serif;font-size:18px;line-height:28px;color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-78eef32:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-78eef32 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-133 .elementor-element.elementor-element-78eef32{border-style:solid;border-width:0px 0px 1px 0px;border-color:rgba(255,255,255,0.05);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-133 .elementor-element.elementor-element-78eef32 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-1f031efa > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:16px;}.elementor-133 .elementor-element.elementor-element-3497b43b{font-family:"Manrope", Sans-serif;font-size:12px;color:#D52319;}.elementor-133 .elementor-element.elementor-element-9da65d5 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:44px;line-height:50px;color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-1a79f050{font-family:"Manrope", Sans-serif;font-size:18px;line-height:28px;color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-19be1c7e > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:32px;}.elementor-133 .elementor-element.elementor-element-29a6aab0 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:8px;}.elementor-133 .elementor-element.elementor-element-175f5a26 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:24px;font-weight:700;letter-spacing:0.05em;color:#D4AF37;}.elementor-133 .elementor-element.elementor-element-4306756e{font-family:"Manrope", Sans-serif;font-size:15px;line-height:26px;color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-4909dfe2 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:8px;}.elementor-133 .elementor-element.elementor-element-666e8a54 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:24px;font-weight:700;letter-spacing:0.05em;color:#D4AF37;}.elementor-133 .elementor-element.elementor-element-5b2cda20{font-family:"Manrope", Sans-serif;font-size:15px;line-height:26px;color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-799d97ee > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:8px;}.elementor-133 .elementor-element.elementor-element-10ec993e .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:24px;font-weight:700;letter-spacing:0.05em;color:#D4AF37;}.elementor-133 .elementor-element.elementor-element-45673da{font-family:"Manrope", Sans-serif;font-size:15px;line-height:26px;color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-21950219 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:8px;}.elementor-133 .elementor-element.elementor-element-230724ec .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:24px;font-weight:700;letter-spacing:0.05em;color:#D4AF37;}.elementor-133 .elementor-element.elementor-element-712cadbc{font-family:"Manrope", Sans-serif;font-size:15px;line-height:26px;color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-9029d5e > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:8px;}.elementor-133 .elementor-element.elementor-element-287c9491 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:24px;font-weight:700;letter-spacing:0.05em;color:#D4AF37;}.elementor-133 .elementor-element.elementor-element-2daec098{font-family:"Manrope", Sans-serif;font-size:15px;line-height:26px;color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-46fe4898:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-46fe4898 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#090303;}.elementor-133 .elementor-element.elementor-element-46fe4898{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 0px 20px;}.elementor-133 .elementor-element.elementor-element-46fe4898 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-6839fe19{text-align:center;font-family:"Manrope", Sans-serif;font-size:15px;font-weight:normal;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#D52319;}.elementor-133 .elementor-element.elementor-element-794d20a6{text-align:center;}.elementor-133 .elementor-element.elementor-element-794d20a6 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:44px;color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-37c0dcbb:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-37c0dcbb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#090303;}.elementor-133 .elementor-element.elementor-element-37c0dcbb{border-style:solid;border-width:0px 0px 1px 0px;border-color:rgba(255,255,255,0.05);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:48px 20px 80px 20px;}.elementor-133 .elementor-element.elementor-element-37c0dcbb > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-27a6cda3:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-133 .elementor-element.elementor-element-27a6cda3 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.02);}.elementor-133 .elementor-element.elementor-element-27a6cda3 > .elementor-element-populated{border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.05);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:32px 32px 32px 32px;}.elementor-133 .elementor-element.elementor-element-27a6cda3 > .elementor-element-populated, .elementor-133 .elementor-element.elementor-element-27a6cda3 > .elementor-element-populated > .elementor-background-overlay, .elementor-133 .elementor-element.elementor-element-27a6cda3 > .elementor-background-slideshow{border-radius:12px 12px 12px 12px;}.elementor-133 .elementor-element.elementor-element-27a6cda3 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-6892694 .elementor-icon-box-wrapper{gap:24px;}.elementor-133 .elementor-element.elementor-element-6892694 .elementor-icon{font-size:28px;}.elementor-133 .elementor-element.elementor-element-6892694 .elementor-icon-box-title, .elementor-133 .elementor-element.elementor-element-6892694 .elementor-icon-box-title a{font-family:"Bebas Neue", Sans-serif;font-size:28px;}.elementor-133 .elementor-element.elementor-element-6892694 .elementor-icon-box-title{color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-6892694 .elementor-icon-box-description{color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-3726dc51:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-133 .elementor-element.elementor-element-3726dc51 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.02);}.elementor-133 .elementor-element.elementor-element-3726dc51 > .elementor-element-populated{border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.05);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:32px 32px 32px 32px;}.elementor-133 .elementor-element.elementor-element-3726dc51 > .elementor-element-populated, .elementor-133 .elementor-element.elementor-element-3726dc51 > .elementor-element-populated > .elementor-background-overlay, .elementor-133 .elementor-element.elementor-element-3726dc51 > .elementor-background-slideshow{border-radius:12px 12px 12px 12px;}.elementor-133 .elementor-element.elementor-element-3726dc51 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-4d4fe4e5 .elementor-icon-box-wrapper{gap:24px;}.elementor-133 .elementor-element.elementor-element-4d4fe4e5 .elementor-icon{font-size:28px;}.elementor-133 .elementor-element.elementor-element-4d4fe4e5 .elementor-icon-box-title, .elementor-133 .elementor-element.elementor-element-4d4fe4e5 .elementor-icon-box-title a{font-family:"Bebas Neue", Sans-serif;font-size:28px;}.elementor-133 .elementor-element.elementor-element-4d4fe4e5 .elementor-icon-box-title{color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-4d4fe4e5 .elementor-icon-box-description{color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-3e31c2ea:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-133 .elementor-element.elementor-element-3e31c2ea > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.02);}.elementor-133 .elementor-element.elementor-element-3e31c2ea > .elementor-element-populated{border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.05);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:32px 32px 32px 32px;}.elementor-133 .elementor-element.elementor-element-3e31c2ea > .elementor-element-populated, .elementor-133 .elementor-element.elementor-element-3e31c2ea > .elementor-element-populated > .elementor-background-overlay, .elementor-133 .elementor-element.elementor-element-3e31c2ea > .elementor-background-slideshow{border-radius:12px 12px 12px 12px;}.elementor-133 .elementor-element.elementor-element-3e31c2ea > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-22eb5237 .elementor-icon-box-wrapper{gap:24px;}.elementor-133 .elementor-element.elementor-element-22eb5237 .elementor-icon{font-size:28px;}.elementor-133 .elementor-element.elementor-element-22eb5237 .elementor-icon-box-title, .elementor-133 .elementor-element.elementor-element-22eb5237 .elementor-icon-box-title a{font-family:"Bebas Neue", Sans-serif;font-size:28px;}.elementor-133 .elementor-element.elementor-element-22eb5237 .elementor-icon-box-title{color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-22eb5237 .elementor-icon-box-description{color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-4b487273:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-133 .elementor-element.elementor-element-4b487273 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.02);}.elementor-133 .elementor-element.elementor-element-4b487273 > .elementor-element-populated{border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.05);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:32px 32px 32px 32px;}.elementor-133 .elementor-element.elementor-element-4b487273 > .elementor-element-populated, .elementor-133 .elementor-element.elementor-element-4b487273 > .elementor-element-populated > .elementor-background-overlay, .elementor-133 .elementor-element.elementor-element-4b487273 > .elementor-background-slideshow{border-radius:12px 12px 12px 12px;}.elementor-133 .elementor-element.elementor-element-4b487273 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-7bd205c3 .elementor-icon-box-wrapper{gap:24px;}.elementor-133 .elementor-element.elementor-element-7bd205c3 .elementor-icon{font-size:28px;}.elementor-133 .elementor-element.elementor-element-7bd205c3 .elementor-icon-box-title, .elementor-133 .elementor-element.elementor-element-7bd205c3 .elementor-icon-box-title a{font-family:"Bebas Neue", Sans-serif;font-size:28px;}.elementor-133 .elementor-element.elementor-element-7bd205c3 .elementor-icon-box-title{color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-7bd205c3 .elementor-icon-box-description{color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-6e82cc56:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-6e82cc56 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-133 .elementor-element.elementor-element-6e82cc56{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 0px 20px;}.elementor-133 .elementor-element.elementor-element-6e82cc56 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-41813224{text-align:center;font-family:"Manrope", Sans-serif;font-size:15px;font-weight:normal;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#D52319;}.elementor-133 .elementor-element.elementor-element-257c2b40{text-align:center;}.elementor-133 .elementor-element.elementor-element-257c2b40 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:44px;color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-75478ef3 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-133 .elementor-element.elementor-element-75478ef3:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-75478ef3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-133 .elementor-element.elementor-element-75478ef3{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:48px 20px 80px 20px;}.elementor-133 .elementor-element.elementor-element-75478ef3 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-2e5356a5 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-133 .elementor-element.elementor-element-2e5356a5:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-2e5356a5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(255,255,255,0.02);}.elementor-133 .elementor-element.elementor-element-2e5356a5{border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.05);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:48px 48px 48px 48px;}.elementor-133 .elementor-element.elementor-element-2e5356a5, .elementor-133 .elementor-element.elementor-element-2e5356a5 > .elementor-background-overlay{border-radius:12px 12px 12px 12px;}.elementor-133 .elementor-element.elementor-element-2e5356a5 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-5702d8a5 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:18px;}.elementor-133 .elementor-element.elementor-element-2a60171d{font-family:"Manrope", Sans-serif;font-size:12px;color:#D4AF37;}.elementor-133 .elementor-element.elementor-element-5b54b669 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:32px;color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-6f80730b{font-family:"Manrope", Sans-serif;font-size:15px;line-height:26px;color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-6d1387b6 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-133 .elementor-element.elementor-element-2ef26ab3{color:#D4AF37;}.elementor-133 .elementor-element.elementor-element-6f5317f4{text-align:end;font-family:"Manrope", Sans-serif;font-size:12px;color:#d2c3c2;}.elementor-133 .elementor-element.elementor-element-c976913 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-133 .elementor-element.elementor-element-c976913:not(.elementor-motion-effects-element-type-background), .elementor-133 .elementor-element.elementor-element-c976913 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#D52319;}.elementor-133 .elementor-element.elementor-element-c976913{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:48px 20px 48px 20px;}.elementor-133 .elementor-element.elementor-element-c976913 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-133 .elementor-element.elementor-element-269f0877 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:8px;}.elementor-133 .elementor-element.elementor-element-7961884d .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:36px;color:#FFFFFF;}.elementor-133 .elementor-element.elementor-element-3303c76d{color:rgba(255,255,255,0.8);}.elementor-bc-flex-widget .elementor-133 .elementor-element.elementor-element-6b8bc5ba.elementor-column .elementor-widget-wrap{align-items:middle;}.elementor-133 .elementor-element.elementor-element-6b8bc5ba.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:middle;align-items:middle;}.elementor-133 .elementor-element.elementor-element-3386b5a3 .elementor-button{font-family:"Manrope", Sans-serif;font-weight:700;letter-spacing:0.1em;fill:#D52319;color:#D52319;background-color:#FFFFFF;border-radius:8px 8px 8px 8px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-133 .elementor-element.elementor-element-269f0877{width:63.782%;}.elementor-133 .elementor-element.elementor-element-6b8bc5ba{width:20%;}}@media(max-width:1024px){.elementor-133 .elementor-element.elementor-element-1acbbf8f .elementor-heading-title{font-size:56px;}}@media(max-width:767px){.elementor-133 .elementor-element.elementor-element-1acbbf8f .elementor-heading-title{font-size:36px;}}/* Start custom CSS for section, class: .elementor-element-423dabab *//* ============================================================
   IMAGINE CINEMAS — ADDITIONAL CSS (Elementor → Custom CSS panel
   or Hello Elementor child-theme stylesheet)
   Paste this into: Elementor Site Settings → Custom CSS
   (or Appearance → Customize → Additional CSS)
   ============================================================ */

/* ---- Font face declarations (also add these via Elementor
   Custom Fonts, or enqueue in functions.php) ---- */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@400;700&display=swap');

:root{
  --brand-red:#D52319;
  --brand-gold:#D4AF37;
  --cinema-black:#000000;
  --on-surface-variant:#d2c3c2;
}

/* ============================================================
   GLOBAL
   ============================================================ */
body{
  background-color:#000000;
  overflow-x:hidden;
  scroll-behavior:smooth;
}

/* ============================================================
   HERO
   ============================================================ */
.ec-hero-section{
  position:relative;
}
/* Cinematic top-to-bottom dark gradient overlay (recreates
   .cinematic-overlay from the source — stronger black fade
   toward the bottom than Elementor's flat overlay color allows) */
.ec-cinematic-overlay > .elementor-background-overlay{
  background:linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.8) 100%) !important;
  opacity:1 !important;
}

.ec-hero-headline .elementor-heading-title{
  text-shadow:0 0 15px rgba(213,35,25,0.0); /* base; pulse animates this */
}
/* Slow pulse animation (mirrors Tailwind's animate-pulse on h1) */
.ec-pulse .elementor-heading-title{
  animation:ec-heading-pulse 3s cubic-bezier(0.4,0,0.6,1) infinite;
}
@keyframes ec-heading-pulse{
  0%,100%{ opacity:1; }
  50%{ opacity:.7; }
}

.ec-hero-desc{ max-width:640px; margin-left:auto; margin-right:auto; }

.ec-hero-btn-row{ margin-top:24px; }

/* Button hover states (Tailwind: hover:scale-105 / hover:bg-white/10) */
.ec-btn-hover-grow .elementor-button,
.ec-btn-hover-grow.elementor-button{
  transition:transform .3s ease, box-shadow .3s ease;
  box-shadow:0 10px 25px rgba(213,35,25,0.2);
}
.ec-btn-hover-grow .elementor-button:hover,
.ec-btn-hover-grow.elementor-button:hover{
  transform:scale(1.05);
}
.ec-btn-hover-white .elementor-button,
.ec-btn-hover-white.elementor-button{
  transition:background-color .3s ease;
}
.ec-btn-hover-white .elementor-button:hover,
.ec-btn-hover-white.elementor-button:hover{
  background-color:rgba(255,255,255,0.1) !important;
}
/* Active/pressed scale (mirrors JS mousedown scale-95) */
.elementor-button:active{ transform:scale(.95); }

/* Scroll-cue bounce arrow */
.ec-scroll-bounce{
  position:absolute;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  animation:ec-bounce 1.4s infinite;
}
@keyframes ec-bounce{
  0%,100%{ transform:translateX(-50%) translateY(0); }
  50%{ transform:translateX(-50%) translateY(-12px); }
}
.ec-icon-center{ text-align:center; }

/* ============================================================
   STATS
   ============================================================ */
.ec-stat-divider .elementor-divider-separator{
  border-top:none !important;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--brand-gold), transparent);
}

/* ============================================================
   ABOUT / VISION
   ============================================================ */
.ec-about-img-col{ position:relative; }
.ec-about-img img{
  border-radius:12px;
  box-shadow:0 25px 50px -12px rgba(0,0,0,0.7);
  border:1px solid rgba(255,255,255,0.1);
  aspect-ratio:4/5;
  object-fit:cover;
}
/* Floating "PREMIUM EVERYWHERE" badge offset bottom-left of image,
   matching Tailwind's -bottom-6 -left-6 absolute positioning */
.ec-premium-badge{
  position:absolute !important;
  left:-24px;
  bottom:-24px;
  background:var(--brand-red);
  padding:32px;
  border-radius:8px;
  line-height:1;
  z-index:2;
}
.ec-premium-badge .elementor-heading-title{ line-height:1; }
@media (max-width:768px){
  .ec-premium-badge{ display:none; } /* hidden on mobile in source (hidden md:block) */
}

/* Play button circle with hover fill (group-hover effect) */
.ec-play-circle .elementor-icon{
  width:48px; height:48px;
  border:1px solid var(--brand-red);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--brand-red);
  transition:all .3s ease;
  cursor:pointer;
}
.ec-watch-story-row{ cursor:pointer; }
.ec-watch-story-row:hover .ec-play-circle .elementor-icon{
  background:var(--brand-red);
  color:#fff;
}

/* ============================================================
   SERVICES
   ============================================================ */
.ec-service-card{
  transition:all .5s ease;
}
.ec-service-card:hover{
  border-color:rgba(213,35,25,0.5) !important;
  background-color:#1a1c1c !important;
}
/* Underline grows from 0 → 100% on card hover */
.ec-service-underline .elementor-divider-separator{
  width:0;
  border-top:none !important;
  height:4px;
  background:var(--brand-red);
  transition:width .5s ease;
  margin:0;
}
.ec-service-card:hover .ec-service-underline .elementor-divider-separator{
  width:100%;
}

/* ============================================================
   FEATURED EXPERIENCES — asymmetric grid
   Recreates: grid-cols-4 grid-rows-2, big tile col-span-2 row-span-2,
   two small tiles col-span-1, wide tile col-span-2
   ============================================================ */
.ec-featured-grid.elementor-section .elementor-container{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr);
  grid-template-rows:repeat(2, 300px);
  gap:16px;
}
@media (max-width:1024px){
  .ec-featured-grid.elementor-section .elementor-container{
    grid-template-rows:repeat(2, 260px);
  }
}
@media (max-width:767px){
  .ec-featured-grid.elementor-section .elementor-container{
    grid-template-columns:repeat(2, 1fr);
    grid-template-rows:repeat(3, 220px);
  }
}
.ec-feat-tile{
  width:100% !important;
  height:100%;
  border-radius:12px;
  overflow:hidden;
  position:relative;
}
.ec-feat-big{ grid-column:span 2; grid-row:span 2; }
.ec-feat-small{ grid-column:span 1; grid-row:span 1; }
.ec-feat-wide{ grid-column:span 2; grid-row:span 1; }
@media (max-width:767px){
  .ec-feat-big{ grid-column:span 2; grid-row:span 1; }
  .ec-feat-wide{ grid-column:span 2; grid-row:span 1; }
}
.ec-feat-tile .ec-feat-img,
.ec-feat-tile .ec-feat-img img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}
.ec-feat-tile:hover .ec-feat-img img{
  transform:scale(1.1);
}
/* Bottom gradient + badge text overlay (only present on the big tile) */
.ec-feat-big::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.95) 0%, transparent 55%);
  pointer-events:none;
  z-index:1;
}
.ec-feat-big .ec-feat-badge-text,
.ec-feat-big .ec-feat-badge-title{
  position:relative;
  z-index:2;
  padding:0 24px;
}
.ec-feat-big .ec-feat-badge-text{ margin-top:auto; }
.ec-feat-big .ec-feat-badge-title{ margin-bottom:24px; }
.ec-feat-big .elementor-widget-wrap{
  flex-direction:column;
  justify-content:flex-end;
  height:100%;
  padding:24px;
}

/* ============================================================
   UPCOMING SCREENINGS / MOVIE CARDS
   ============================================================ */
.ec-view-calendar a{
  border-bottom:1px solid var(--brand-red);
  padding-bottom:4px;
  transition:opacity .2s ease;
}
.ec-view-calendar a:hover{ opacity:.8; }

.ec-movie-card{
  position:relative;
  aspect-ratio:2/3;
  border-radius:8px;
  overflow:hidden;
  background:#1a1c1c;
  border:1px solid rgba(255,255,255,0.05);
  transition:border-color .3s ease;
}
.ec-movie-card:hover{
  border-color:rgba(213,35,25,0.5);
}
.ec-movie-card .ec-movie-img,
.ec-movie-card .ec-movie-img img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .5s ease;
  z-index:0;
}
.ec-movie-card:hover .ec-movie-img img{
  transform:scale(1.1);
}
/* Title / location / button overlay — hidden until hover,
   matching group-hover:opacity-100 behavior */
.ec-movie-card::before{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, #000 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
  opacity:0;
  transition:opacity .3s ease;
  z-index:1;
  pointer-events:none;
}
.ec-movie-card:hover::before{ opacity:1; }
.ec-movie-card .ec-movie-title,
.ec-movie-card .ec-movie-loc,
.ec-movie-card .ec-movie-btn{
  position:relative;
  z-index:2;
  opacity:0;
  transition:opacity .3s ease;
}
.ec-movie-card:hover .ec-movie-title,
.ec-movie-card:hover .ec-movie-loc,
.ec-movie-card:hover .ec-movie-btn{
  opacity:1;
}
.ec-movie-card .elementor-widget-wrap{
  position:absolute;
  inset:0;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
}
.ec-movie-title{ margin-bottom:8px; }
.ec-movie-loc{ margin-bottom:16px; color:var(--on-surface-variant); }
.ec-movie-btn .elementor-button{
  width:100%;
  border-radius:4px;
}

/* ============================================================
   NEWSLETTER
   ============================================================ */
.ec-newsletter-row{ max-width:560px; margin:32px auto 0; }
.ec-newsletter-input{
  width:100%;
  background:var(--cinema-black);
  border:none;
  border-bottom:1px solid rgba(255,255,255,0.4);
  color:#fff;
  padding:16px;
  font-family:'Manrope', sans-serif;
  outline:none;
  transition:border-color .2s ease;
}
.ec-newsletter-input::placeholder{ color:rgba(255,255,255,0.2); }
.ec-newsletter-input:focus{ border-color:var(--brand-red); }

/* ============================================================
   CONTACT
   ============================================================ */
.ec-contact-row{ margin-bottom:24px; }
.ec-contact-form .elementor-field-group{ margin-bottom:16px; }
.ec-contact-form .elementor-field-textual{
  background:var(--cinema-black) !important;
  border:none !important;
  border-bottom:1px solid rgba(255,255,255,0.2) !important;
  border-radius:0 !important;
  color:#fff !important;
  padding:12px 0 !important;
  font-family:'Manrope', sans-serif;
  transition:border-color .2s ease;
}
.ec-contact-form .elementor-field-textual:focus{
  border-bottom-color:var(--brand-red) !important;
  box-shadow:none !important;
}
.ec-contact-form .elementor-field-label{
  color:var(--on-surface-variant) !important;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-weight:700;
}
.ec-contact-form .elementor-button{
  width:100%;
  background:var(--brand-red) !important;
  border-radius:8px !important;
  letter-spacing:.1em;
  font-weight:700;
}
.ec-contact-form .elementor-button:hover{
  background:rgba(213,35,25,0.9) !important;
}

/* ============================================================
   GENERIC HEADING / BODY FONT MAPPING
   (apply if global typography isn't already set in Theme Style)
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title{
  font-family:'Bebas Neue', sans-serif;
  letter-spacing:0.02em;
}
body, p, .elementor-text-editor, .elementor-button{
  font-family:'Manrope', sans-serif;
}

/* ============================================================
   ACCESSIBILITY — reduced motion
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
}

/* ============================================================
   HEADER (Theme Builder — Site Header template)
   ============================================================ */
.ec-header-bar{
  position:fixed;
  top:0; left:0; right:0;
  z-index:999;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 4px 20px rgba(0,0,0,0.3);
}
.ec-logo img{
  height:40px;
  width:auto;
  object-fit:contain;
}
@media (min-width:768px){
  .ec-logo img{ height:48px; }
}

.ec-nav-row{ gap:32px; }
.ec-nav-link-wrap a.ec-nav-link{
  color:var(--on-surface-variant);
  text-transform:uppercase;
  letter-spacing:0.05em;
  font-family:'Manrope', sans-serif;
  font-size:14px;
  text-decoration:none;
  transition:color .2s ease;
  padding-bottom:4px;
  display:inline-block;
}
.ec-nav-link-wrap a.ec-nav-link:hover{
  color:#d6c2c1;
}
.ec-nav-active a.ec-nav-link{
  color:#d6c2c1;
  border-bottom:2px solid var(--brand-red);
}
/* Hide desktop nav row + CTA button below 768px, show hamburger instead */
.ec-hamburger-col{ display:none; }
.ec-header-cta{ display:inline-flex; }
@media (max-width:767px){
  .ec-nav-col-desktop{ display:none; }
  .ec-header-cta{ display:none; }
  .ec-hamburger-col{ display:flex; justify-content:flex-end; }
}
.ec-hamburger-icon{ cursor:pointer; }
.ec-header-cta .elementor-button{
  padding:8px 24px;
  transition:transform .15s ease;
}
.ec-header-cta .elementor-button:active{ transform:scale(.95); }

/* Mobile menu overlay (dim background) */
.ec-mobile-overlay{
  position:fixed; inset:0;
  z-index:998;
  background:rgba(0,0,0,0.6);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}
.ec-mobile-overlay.ec-open{
  opacity:1;
  pointer-events:auto;
}
@media (min-width:768px){
  .ec-mobile-overlay{ display:none !important; }
}

/* Mobile menu drawer — slides in from right */
.ec-mobile-menu{
  position:fixed;
  top:0; right:0; bottom:0;
  z-index:999;
  width:280px;
  background:rgba(18,20,20,0.97);
  backdrop-filter:blur(16px);
  border-left:1px solid rgba(255,255,255,0.05);
  transform:translateX(100%);
  transition:transform .3s ease;
  padding:24px;
}
.ec-mobile-menu.ec-open{
  transform:translateX(0);
}
@media (min-width:768px){
  .ec-mobile-menu{ display:none !important; }
}
.ec-mobile-menu-inner{
  display:flex;
  flex-direction:column;
  height:100%;
}
.ec-mobile-close-row{ display:flex; justify-content:flex-end; margin-bottom:24px; }
.ec-mobile-close{ cursor:pointer; }
.ec-mobile-menu-links{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ec-mobile-menu-links .ec-nav-link-wrap a.ec-nav-link{
  font-size:18px;
  padding:8px 0;
}
.ec-mobile-cta{ margin-top:auto; width:100%; }
.ec-mobile-cta .elementor-button{ width:100%; justify-content:center; }

/* Push page content below the fixed header */
.elementor-location-header + main,
body.elementor-page main,
#content{
  padding-top:80px;
}

/* ============================================================
   FOOTER (Theme Builder — Site Footer template)
   ============================================================ */
.ec-footer-logo img{
  height:48px;
  width:auto;
  object-fit:contain;
  margin-bottom:16px;
}
.ec-footer-tagline{
  max-width:280px;
  margin-bottom:16px;
}
.ec-social-row{ max-width:160px; margin-top:8px; }
.ec-social-icon img{
  width:40px; height:40px;
  background:var(--brand-red);
  border-radius:8px;
  padding:10px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  transition:opacity .2s ease;
}
.ec-social-icon img:hover{ opacity:0.8; }

.ec-footer-link-item a.ec-footer-link,
.ec-footer-link-item{
  color:var(--on-surface-variant);
  text-decoration:none;
  transition:color .2s ease;
  font-size:14px;
}
.ec-footer-link-item a.ec-footer-link:hover{
  color:#ffb4a9; /* secondary token from source */
}

.ec-footer-contact-row{ margin-bottom:12px; align-items:center; }
.ec-footer-contact-text{ font-size:14px; color:var(--on-surface-variant); }

.ec-footer-copy{
  font-size:13px;
  color:var(--on-surface-variant);
  opacity:0.7;
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.ec-page-hero{ position:relative; }
.ec-page-eyebrow{ letter-spacing:0.3em; margin-bottom:8px; }

/* ---- Timeline (Story section) ---- */
.ec-timeline-sticky-col{
  position:sticky;
  top:112px;
  align-self:flex-start;
}
@media (max-width:1024px){
  .ec-timeline-sticky-col{ position:static; }
}
.ec-timeline-col{
  position:relative;
  border-left:1px solid rgba(154,142,141,0.3);
  padding-left:32px;
}
.ec-timeline-row{ position:relative; }
.ec-timeline-item{ position:relative; }
.ec-timeline-item::before{
  content:'';
  position:absolute;
  left:-40px; top:6px;
  width:20px; height:20px;
  border-radius:50%;
  background:var(--brand-red);
  border:4px solid #000;
}
.ec-timeline-year{ display:block; }

/* ---- Vision & Mission cards ---- */
.ec-vision-card-col{
  transition:border-color .3s ease;
}
.ec-vision-card-col:hover{
  border-color:rgba(212,175,55,0.3) !important;
}
.ec-vision-card .elementor-icon-box-icon{
  width:48px; height:48px;
  border-radius:8px;
  display:flex; align-items:center; justify-content:center;
}
.ec-vision-card .elementor-icon-box-title{ margin-bottom:0; }
.ec-vision-card .elementor-icon-box-description{
  font-size:14px;
  line-height:1.7;
}

/* ---- Leadership card ---- */
.ec-leadership-card{ max-width:900px; margin:0 auto; }
.ec-coo-photo-col{ display:flex; justify-content:center; }
.ec-coo-photo img{
  width:200px; height:200px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid rgba(255,255,255,0.1);
}
@media (min-width:768px){
  .ec-coo-photo img{ width:240px; height:240px; }
}
.ec-coo-footer-row{
  border-top:1px solid rgba(255,255,255,0.05);
  padding-top:24px;
  margin-top:8px;
}
.ec-coo-phone-link{
  color:var(--brand-gold);
  text-decoration:none;
  font-weight:700;
  transition:color .2s ease;
}
.ec-coo-phone-link:hover{ color:#ffd75e; }
.ec-coo-loc{
  letter-spacing:0.15em;
  color:var(--on-surface-variant);
}

/* ---- CTA band button grow ---- */
.ec-cta-grow .elementor-button{
  transition:transform .2s ease;
}
.ec-cta-grow .elementor-button:hover{
  transform:scale(1.05);
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.ec-detail-card{
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.05);
  border-radius:8px;
  padding:24px;
  transition:border-color .3s ease;
}
.ec-detail-card:hover{
  border-color:rgba(31,128,224,0.5);
}
.ec-detail-label{
  font-size:10px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--brand-gold);
  margin-bottom:8px;
}
.ec-detail-value{
  font-family:'Bebas Neue', sans-serif;
  font-size:24px;
  color:#fff;
  font-weight:400;
  letter-spacing:0.02em;
}

.ec-office-hours{
  border-top:1px solid rgba(255,255,255,0.1);
  padding-top:32px;
  margin-top:16px;
}
.ec-office-hours h4{
  font-family:'Manrope', sans-serif;
  font-size:12px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--brand-gold);
  margin-bottom:16px;
}
.ec-office-hours ul{ list-style:none; margin:0; padding:0; }
.ec-office-hours li{
  display:flex;
  justify-content:space-between;
  padding:8px 0;
  color:var(--on-surface-variant);
  font-family:'Manrope', sans-serif;
  font-size:14px;
}
.ec-office-hours .ec-by-appt{ color:var(--brand-gold); }

/* Contact page form — reuse .ec-contact-form rules, scoped to page form too */
.ec-contact-form-page .elementor-field-group{ margin-bottom:24px; }
.ec-contact-form-page .elementor-field-textual{
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid rgba(255,255,255,0.2) !important;
  border-radius:0 !important;
  color:#fff !important;
  padding:12px 0 !important;
  font-family:'Manrope', sans-serif;
  transition:border-color .2s ease;
}
.ec-contact-form-page select.elementor-field-textual{
  background:#090303 !important;
}
.ec-contact-form-page .elementor-field-textual:focus{
  border-bottom-color:var(--brand-red) !important;
  box-shadow:none !important;
}
.ec-contact-form-page .elementor-field-label{
  color:var(--on-surface-variant) !important;
  font-size:10px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  font-weight:700;
}
.ec-contact-form-page .elementor-button{
  width:100%;
  background:var(--brand-red) !important;
  border-radius:8px !important;
  letter-spacing:0.1em;
  font-weight:700;
  padding:16px !important;
}
.ec-contact-form-page .elementor-button:hover{
  background:rgba(213,35,25,0.9) !important;
}/* End custom CSS */