.elementor-137 .elementor-element.elementor-element-543f7064 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-137 .elementor-element.elementor-element-543f7064:not(.elementor-motion-effects-element-type-background), .elementor-137 .elementor-element.elementor-element-543f7064 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://imaginecinemas.africa/wp-content/uploads/2026/06/newsletter_theater_bg.jpg");background-position:center center;background-size:cover;}.elementor-137 .elementor-element.elementor-element-543f7064 > .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-137 .elementor-element.elementor-element-543f7064 > .elementor-container{min-height:400px;}.elementor-137 .elementor-element.elementor-element-543f7064{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-bc-flex-widget .elementor-137 .elementor-element.elementor-element-3d2af3fe.elementor-column .elementor-widget-wrap{align-items:middle;}.elementor-137 .elementor-element.elementor-element-3d2af3fe.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:middle;align-items:middle;}.elementor-137 .elementor-element.elementor-element-7c1d3ba5{text-align:center;font-family:"Manrope", Sans-serif;font-size:12px;font-weight:900;color:#D4AF37;}.elementor-137 .elementor-element.elementor-element-12cfb25b{text-align:center;}.elementor-137 .elementor-element.elementor-element-12cfb25b .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:68px;text-transform:uppercase;color:#FFFFFF;}.elementor-137 .elementor-element.elementor-element-51fe7fe9{text-align:center;font-family:"Manrope", Sans-serif;font-size:18px;line-height:28px;color:#d2c3c2;}.elementor-137 .elementor-element.elementor-element-43e7e8c5:not(.elementor-motion-effects-element-type-background), .elementor-137 .elementor-element.elementor-element-43e7e8c5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-137 .elementor-element.elementor-element-43e7e8c5{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 0px 20px;}.elementor-137 .elementor-element.elementor-element-43e7e8c5 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-137 .elementor-element.elementor-element-6e167f22{font-family:"Manrope", Sans-serif;font-size:15px;font-weight:900;color:#D52319;}.elementor-137 .elementor-element.elementor-element-7ead5723:not(.elementor-motion-effects-element-type-background), .elementor-137 .elementor-element.elementor-element-7ead5723 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-137 .elementor-element.elementor-element-7ead5723{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:32px 20px 80px 20px;}.elementor-137 .elementor-element.elementor-element-7ead5723 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-137 .elementor-element.elementor-element-f4bd743{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-137 .elementor-element.elementor-element-f4bd743 .elementor-post__thumbnail__link{width:100%;}.elementor-137 .elementor-element.elementor-element-f4bd743 .elementor-post__meta-data span + span:before{content:"•";}.elementor-137 .elementor-element.elementor-element-f4bd743 .elementor-post__text{margin-top:20px;}.elementor-137 .elementor-element.elementor-element-f4bd743 .elementor-post__badge{right:0;}.elementor-137 .elementor-element.elementor-element-f4bd743 .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-137 .elementor-element.elementor-element-3a86b7cc:not(.elementor-motion-effects-element-type-background), .elementor-137 .elementor-element.elementor-element-3a86b7cc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#090303;}.elementor-137 .elementor-element.elementor-element-3a86b7cc{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 0px 20px;}.elementor-137 .elementor-element.elementor-element-3a86b7cc > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-137 .elementor-element.elementor-element-61195597 > .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-137 .elementor-element.elementor-element-15f344db{font-family:"Manrope", Sans-serif;font-size:12px;color:#D52319;}.elementor-137 .elementor-element.elementor-element-3e531a3b .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:44px;color:#FFFFFF;}.elementor-137 .elementor-element.elementor-element-546ef255:not(.elementor-motion-effects-element-type-background), .elementor-137 .elementor-element.elementor-element-546ef255 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#090303;}.elementor-137 .elementor-element.elementor-element-546ef255{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-137 .elementor-element.elementor-element-546ef255 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-137 .elementor-element.elementor-element-621b0eec{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-137 .elementor-element.elementor-element-621b0eec > .elementor-widget-container{background-color:#000000;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(255,255,255,0.05);border-radius:12px 12px 12px 12px;}.elementor-137 .elementor-element.elementor-element-621b0eec .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-137 .elementor-element.elementor-element-621b0eec:after{content:"0.66";}.elementor-137 .elementor-element.elementor-element-621b0eec .elementor-post__thumbnail__link{width:100%;}.elementor-137 .elementor-element.elementor-element-621b0eec .elementor-post__meta-data span + span:before{content:"///";}.elementor-137 .elementor-element.elementor-element-621b0eec.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-137 .elementor-element.elementor-element-621b0eec.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-137 .elementor-element.elementor-element-621b0eec.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}.elementor-137 .elementor-element.elementor-element-621b0eec .elementor-pagination{text-align:center;}.elementor-137 .elementor-element.elementor-element-621b0eec .elementor-pagination .page-numbers:not(.dots){color:#d2c3c2;}body:not(.rtl) .elementor-137 .elementor-element.elementor-element-621b0eec .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-137 .elementor-element.elementor-element-621b0eec .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-137 .elementor-element.elementor-element-621b0eec .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-137 .elementor-element.elementor-element-621b0eec .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}.elementor-137 .elementor-element.elementor-element-51bbaf86 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-137 .elementor-element.elementor-element-51bbaf86:not(.elementor-motion-effects-element-type-background), .elementor-137 .elementor-element.elementor-element-51bbaf86 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-137 .elementor-element.elementor-element-51bbaf86{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-137 .elementor-element.elementor-element-51bbaf86 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-137 .elementor-element.elementor-element-69af58d6.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-137 .elementor-element.elementor-element-69af58d6 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:12px;}.elementor-137 .elementor-element.elementor-element-34eb58c9{text-align:center;font-family:"Manrope", Sans-serif;font-size:12px;font-weight:900;color:#D4AF37;}.elementor-137 .elementor-element.elementor-element-75c77437{text-align:center;}.elementor-137 .elementor-element.elementor-element-75c77437 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:44px;color:#FFFFFF;}.elementor-137 .elementor-element.elementor-element-7a0ad9f0{margin:0px 60px calc(var(--kit-widget-spacing, 0px) + 0px) 60px;padding:0px 0px 0px 0px;text-align:center;font-family:"Manrope", Sans-serif;font-size:18px;line-height:28px;color:#d2c3c2;}.elementor-137 .elementor-element.elementor-element-7a0ad9f0.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-137 .elementor-element.elementor-element-74baec2c > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-137 .elementor-element.elementor-element-74baec2c > .elementor-container{max-width:700px;}.elementor-137 .elementor-element.elementor-element-23337c00{width:var( --container-widget-width, 96.788% );max-width:96.788%;--container-widget-width:96.788%;--container-widget-flex-grow:0;}.elementor-137 .elementor-element.elementor-element-23337c00.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-137 .elementor-element.elementor-element-7a4b749e .elementor-button{background-color:#D52319;font-family:"Manrope", Sans-serif;font-weight:700;letter-spacing:0.1em;fill:#FFFFFF;color:#FFFFFF;border-radius:8px 8px 8px 8px;}.elementor-137 .elementor-element.elementor-element-7a4b749e.elementor-element{--flex-grow:0;--flex-shrink:0;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-137 .elementor-element.elementor-element-12cfb25b .elementor-heading-title{font-size:52px;}.elementor-137 .elementor-element.elementor-element-7a4b749e{width:var( --container-widget-width, 157.656px );max-width:157.656px;--container-widget-width:157.656px;--container-widget-flex-grow:0;}}@media(max-width:767px){.elementor-137 .elementor-element.elementor-element-12cfb25b .elementor-heading-title{font-size:34px;}.elementor-137 .elementor-element.elementor-element-f4bd743 .elementor-post__thumbnail__link{width:100%;}.elementor-137 .elementor-element.elementor-element-621b0eec .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-137 .elementor-element.elementor-element-621b0eec:after{content:"0.5";}.elementor-137 .elementor-element.elementor-element-621b0eec .elementor-post__thumbnail__link{width:100%;}.elementor-137 .elementor-element.elementor-element-7a0ad9f0{width:var( --container-widget-width, 270px );max-width:270px;--container-widget-width:270px;--container-widget-flex-grow:0;}.elementor-137 .elementor-element.elementor-element-23337c00{width:var( --container-widget-width, 266.469px );max-width:266.469px;--container-widget-width:266.469px;--container-widget-flex-grow:0;}.elementor-137 .elementor-element.elementor-element-7a4b749e{width:var( --container-widget-width, 268.641px );max-width:268.641px;--container-widget-width:268.641px;--container-widget-flex-grow:0;}}@media(min-width:768px){.elementor-137 .elementor-element.elementor-element-69af58d6{width:100%;}.elementor-137 .elementor-element.elementor-element-a01f051{width:80.999%;}.elementor-137 .elementor-element.elementor-element-7d8893ba{width:19%;}}@media(max-width:1024px) and (min-width:768px){.elementor-137 .elementor-element.elementor-element-a01f051{width:75%;}.elementor-137 .elementor-element.elementor-element-7d8893ba{width:25%;}}/* Start custom CSS for text-editor, class: .elementor-element-7c1d3ba5 *//* ============================================================
   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;
}

/* ============================================================
   NEWS & UPDATES PAGE
   ============================================================ */

/* ---- Featured Story (hand-built spotlight card) ---- */
.ec-featured-news-card{
  transition:border-color .3s ease, background-color .3s ease;
  overflow:hidden;
}
.ec-featured-news-card:hover{
  border-color:rgba(213,35,25,0.5) !important;
  background-color:#1a1c1c !important;
}
.ec-featured-news-img-col{
  position:relative;
  min-height:350px;
  padding:0 !important;
}
.ec-featured-news-img{ position:relative; height:100%; min-height:350px; }
.ec-featured-news-img img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}
.ec-featured-news-card:hover .ec-featured-news-img img{
  transform:scale(1.05);
}
.ec-featured-news-img-col::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.8), transparent 60%);
  pointer-events:none;
}
@media (min-width:1024px){
  .ec-featured-news-img-col::after{
    background:linear-gradient(to right, rgba(0,0,0,0.8), transparent 60%);
  }
}
.ec-featured-news-text-col{
  padding:48px !important;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.ec-featured-news-title{
  transition:color .3s ease;
}
.ec-featured-news-card:hover .ec-featured-news-title .elementor-heading-title{
  color:var(--brand-red);
}
.ec-featured-news-footer{
  border-top:1px solid rgba(255,255,255,0.05);
  padding-top:24px;
  margin-top:8px;
  font-size:12px;
}
.ec-read-article-link{
  color:var(--brand-red);
  text-decoration:none;
  font-weight:700;
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  transition:color .2s ease;
}
.ec-read-article-link:hover{ color:#fff; }

/* ---- "More Stories" — Elementor Posts widget re-skin ---- */
.ec-posts-widget .elementor-post{
  position:relative;
  transition:border-color .3s ease, background-color .3s ease;
  display:flex;
  flex-direction:column;
}
.ec-posts-widget .elementor-post:hover{
  border-color:rgba(213,35,25,0.5) !important;
  background-color:#1a1c1c !important;
}
.ec-posts-widget .elementor-post__thumbnail__link{
  display:block;
  overflow:hidden;
  border-radius:12px 12px 0 0;
}
.ec-posts-widget .elementor-post__thumbnail{
  transition:transform .5s ease;
}
.ec-posts-widget .elementor-post:hover .elementor-post__thumbnail{
  transform:scale(1.05);
}
.ec-posts-widget .elementor-post__text{
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}
/* Category badge — recreate the absolute-positioned pill over the image */
.ec-posts-widget .elementor-post__badge{
  position:absolute;
  top:16px; left:16px;
  background:rgba(0,0,0,0.75);
  border:1px solid rgba(255,255,255,0.1);
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:4px;
  z-index:2;
}
.ec-posts-widget .elementor-post__meta-data{
  order:-1;
}
.ec-posts-widget .elementor-post__title{
  margin:0;
}
.ec-posts-widget .elementor-post__title a{
  transition:color .3s ease;
}
.ec-posts-widget .elementor-post:hover .elementor-post__title a{
  color:var(--brand-red) !important;
}
.ec-posts-widget .elementor-post__read-more{
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,0.05);
  display:inline-flex;
  align-items:center;
  gap:4px;
  transition:color .2s ease;
}
.ec-posts-widget .elementor-post__read-more:hover{
  color:#fff !important;
}
/* Pagination */
.ec-posts-widget .elementor-pagination{
  margin-top:48px;
  gap:8px;
}
.ec-posts-widget .elementor-pagination a,
.ec-posts-widget .elementor-pagination span{
  border-radius:6px;
  transition:all .2s ease;
}
.ec-posts-widget .elementor-pagination .page-numbers.current{
  background:var(--brand-red) !important;
  color:#fff !important;
}

/* ---- Newsletter (News page variant — has theater bg image) ---- */
.ec-newsletter-theater-bg{
  position:relative;
  overflow:hidden;
}/* End custom CSS */