.elementor-1059 .elementor-element.elementor-element-4f50fd5{--display:flex;--min-height:68vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-1059 .elementor-element.elementor-element-4f50fd5:not(.elementor-motion-effects-element-type-background), .elementor-1059 .elementor-element.elementor-element-4f50fd5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ericgugua.webxiel.com/wp-content/uploads/2026/02/black-laptop-screen-dark-room-night-scaled.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1059 .elementor-element.elementor-element-82eea24{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:150px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1059 .elementor-element.elementor-element-c94ba8d{--display:flex;}.elementor-1059 .elementor-element.elementor-element-17ddeb2{--display:flex;}.elementor-1059 .elementor-element.elementor-element-7698d70{--display:flex;}.elementor-1059 .elementor-element.elementor-element-adc3595{--display:flex;}.elementor-1059 .elementor-element.elementor-element-53e45aa .elementor-heading-title{color:var( --e-global-color-astglobalcolor0 );}.elementor-1059 .elementor-element.elementor-element-6570e9f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:30px;--padding-bottom:100px;--padding-left:10px;--padding-right:10px;}.elementor-1059 .elementor-element.elementor-element-9a55b5d .eael-breadcrumbs .eael-breadcrumbs__content{background-color:#F8F8FA00;border-style:none;color:#BBBBBB;}.elementor-1059 .elementor-element.elementor-element-9a55b5d .eael-breadcrumbs .eael-breadcrumbs__content a{color:var( --e-global-color-astglobalcolor0 );}.elementor-1059 .elementor-element.elementor-element-9a55b5d .eael-breadcrumbs .eael-breadcrumb-separator svg path{fill:#A5A4B0;}.elementor-1059 .elementor-element.elementor-element-9a55b5d .eael-breadcrumbs .eael-breadcrumb-separator{color:#A5A4B0;margin:0 10px;}.elementor-1059 .elementor-element.elementor-element-cbd0628{--grid-columns:3;}.elementor-1059 .elementor-element.elementor-element-cbd0628 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-1059 .elementor-element.elementor-element-cbd0628 .e-loop-item > .elementor-section, .elementor-1059 .elementor-element.elementor-element-cbd0628 .e-loop-item > .elementor-section > .elementor-container, .elementor-1059 .elementor-element.elementor-element-cbd0628 .e-loop-item > .e-con, .elementor-1059 .elementor-element.elementor-element-cbd0628 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(max-width:1024px){.elementor-1059 .elementor-element.elementor-element-4f50fd5{--min-height:45vh;}.elementor-1059 .elementor-element.elementor-element-82eea24{--margin-top:0100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1059 .elementor-element.elementor-element-6570e9f{--padding-top:30px;--padding-bottom:80px;--padding-left:30px;--padding-right:30px;}.elementor-1059 .elementor-element.elementor-element-6570e9f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1059 .elementor-element.elementor-element-cbd0628{--grid-columns:2;}}@media(max-width:767px){.elementor-1059 .elementor-element.elementor-element-4f50fd5{--padding-top:0px;--padding-bottom:080px;--padding-left:20px;--padding-right:20px;}.elementor-1059 .elementor-element.elementor-element-82eea24{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1059 .elementor-element.elementor-element-adc3595{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-1059 .elementor-element.elementor-element-6570e9f{--padding-top:20px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-1059 .elementor-element.elementor-element-cbd0628{--grid-columns:1;}}/* Start custom CSS for text-editor, class: .elementor-element-b0b4d11 */.section-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--brand);
  margin-bottom: 20px;
  display: flex; align-items: center; gap: 12px;
}
.section-label::after {
  content: '';
  flex: 1; max-width: 48px;
  height: 1px;
  position: relative !important;
  top:-10px !important;
  background: var(--brand-dimin);
}/* End custom CSS */
/* Start custom CSS for search, class: .elementor-element-a9fdc9f *//* 1. The Wrapper (Equivalent to your .search-bar) */
.elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-form {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 36px;
    flex-wrap: wrap;
    position: relative;
}

/* 2. The Input Wrapper (Equivalent to your .search-input-wrap) */
.elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-input-wrapper {
    flex: 1;
    min-width: 240px;
    position: relative;
}

/* 3. The Input Field (Equivalent to your .search-input) */
.elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-input {
    width: 100% !important;
    padding: 12px 60px 12px 75px !important; /* Extra left padding for the icon */
    background: var(--glass) !important;
    border: 1px solid var(--border) !important;
    color: var(--ink) !important;
    font-family: 'DM Sans', sans-serif;
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.2s;
}

/* 4. Focus & Placeholder */
.elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-input:focus {
    border-color: var(--border-hi) !important;
    background: var(--glass-hi) !important;
}

.elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-input::placeholder {
    color: var(--muted);
}

/* 5. Positioning the Search Icon (The SVG) */
.elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-label {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none; /* Allows clicks to pass through to the input */
    line-height: 0;
}

.elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-label svg {
    width: 16px;
    height: 16px;
    fill: var(--muted);
}

/* 6. Handling the Clear (X) Icon - if you want it styled */
.elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-fas-times {
    fill: var(--muted);
    right: 14px;
    width: 12px;
}

.elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-results-container {
    background: var(--bg);
    border-radius: 14px;
    margin-top: 8px;
}




/* Media Query for Mobile Devices */
@media (max-width: 767px) {
    
    /* Adjusting the Search Icon position */
    .elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-label {
        left: 0px; /* Adjusting the Search Label Left */
    }

    /* Adjusting Input Paddings */
    .elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-search-input {
        padding: 10px 36px 10px 36px !important; /* Shorter padding for mobile screens */
    }

    /* Optional: Adjusting Clear (X) icon position for tighter screens */
    .elementor-1059 .elementor-element.elementor-element-a9fdc9f .e-fas-times {
        right: 18px;
    }
}/* End custom CSS */
/* Start custom CSS */*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  /* Core Palette - Base */
  --bg: #060606;           /* Deep Charcoal (Warmer than original for Coral contrast) */
  --ink: #ffffff;         /* Pure white for maximum readability */
  --muted: rgba(255, 255, 255, 0.60);
  
  /* Borders & Glassmorphism */
  --border: rgba(165, 165, 165, 0.15);    /* Tinted with Coral */
  --border-hi: rgba(165, 165, 165, 0.30) !important; /* Highlighted Coral border */
  --glass: rgba(255, 255, 255, 0.03);
  --glass-hi: rgba(255, 255, 255, 0.07);

  /* Brand Accent: #ef5139 (The Coral) */
  --brand: #ef5139;
  --brand-dim: rgba(239, 81, 57, 0.12);
    --brand-dimin: rgba(239, 81, 57, 0.5);
  --brand-glow: rgba(239, 81, 57, 0.25);

  /* Secondary/Utility Accents */
  --accent-warm: #ff8a75; /* Lighter Coral for hovers/highlights */
  --accent-dark: #530222; /* The deep maroon/burgundy from your header */
  
  --radius: 22px;
}


html { scroll-behavior: smooth !important; }

body {
  font-family: 'DM Sans', sans-serif !important;
  background: var(--bg) !important;
  color: var(--ink);
  overflow-x: hidden !important;
  min-height: 100vh !important;
}



/* ─── NOISE LAYER ─── */
body::before {
  content: '' !important;
  position: fixed; 
  inset: 0 !important; 
  z-index: 0 !important; 
  pointer-events: none !important;
  background-image: url("https://i.pinimg.com/1200x/c2/eb/32/c2eb32e64a48e4579b69520b7e1708ff.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.1 !important;
}

em{
    font-family: "Fraunces";
}

/* DIVIDER */

.divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-hi), transparent);
  margin: 0 60px;
  position: relative;
  animation: breathe 4s ease-in-out infinite;
  margin: 3rem 0px;
}





/*BUTTONS*/

.btn-primary {
  padding: 14px 30px;
  background: var(--brand); /* #ef5139 */
  color: #080810;

  border-radius: 50px;
  font-weight: 700;
  font-size: 0.88rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;

  border: none;
  cursor: pointer;

  transition: all 0.25s ease;

  /* Coral glow */
  box-shadow: 0 0 35px rgba(239, 81, 57, 0.35) !important;
  
  width: fit-content;
  text-shadow: 0 1px 0 rgba(255,255,255,0.15) !important;
  
}

.btn-primary:hover {
  transform: translateY(-2px);

  /* stronger glow */
  box-shadow:
    0 0 55px rgba(239, 81, 57, 0.55),
    0 0 18px rgba(59, 182, 213, 0.25); /* subtle cyan accent */
}

.btn-ghost {
  padding: 13px 28px;
  background: var(--glass);
  border: 1px solid var(--border-hi);
  border-radius: 50px;
  color: var(--ink);
  font-size: 0.88rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.22s;
  cursor: pointer;
}
.btn-ghost:hover { background: var(--glass-hi); border-color: rgba(255,255,255,0.25); }




/* Pill Button */
.btn-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 40px;
  border-radius:50px;

  font-weight:700;
  font-size:0.88rem;
  letter-spacing:0.05em;
  text-transform:uppercase;
  text-decoration:none;

  background:var(--ink);
  color:var(--bg);

  border:1px solid transparent;
  cursor:pointer;

  transition:all .7s cubic-bezier(.16,1,.3,1);

  box-shadow:0 0 20px var(--ink);
  text-shadow:0 1px 0 rgba(255,255,255,.15);

  width:fit-content;
  
  transform: scale(0.9);
}

/* icon circle */
.btn-pill .btn-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:40px;
  height:40px;
  margin-left:16px;

  border-radius:50%;
  background:var(--brand);
  color:#fff;

  transition:transform .35s cubic-bezier(.16,1,.3,1),
             background .35s ease;
}

/* icon */
.btn-pill svg{
  width:18px;
  height:18px;
}

/* hover state */
.btn-pill:hover{
  background:var(--brand);
  color:var(--ink);
  border-color:var(--brand);
  box-shadow:0 0 20px var(--brand);
}

.btn-pill:hover .btn-icon{
  transform:rotate(45deg) scale(1.1);
  background:var(--bg);
}



/* ─── AMBIENT ORBS ─── */
/* Base orb styling */
.orb { position: fixed; border-radius: 50%; filter: blur(90px); pointer-events: none; z-index: -1; mix-blend-mode: screen; max-width: 600px;
    max-height: 600px; }


/* Orb 1 — Primary Brand Glow */
.orb-1 { 
    width: 500px;
    height: 600px;
    background: rgba(239, 81, 57, 0.05);
    top: -200px;
    right: -100px;
    filter: blur(80px);
    animation: floating 12s ease-in-out infinite;
}

/* Orb 2 — Deep Indigo Contrast */
.orb-2 { 
    width: 520px;
    height: 520px;
    background: rgba(42, 47, 107, 0.13);
    bottom: -100px;
    left: -150px;
    filter: blur(110px);
    animation: floating 16s ease-in-out infinite;
}

/* Orb 3 — Cool Cyan Highlight */
.orb-3 { 
    width: 360px;
    height: 360px;
    background: rgba(59, 182, 213, 0.07);
    top: 45%;
    left: 40%;
    filter: blur(70px);
    animation: floating 14s ease-in-out infinite;
}

@media (max-width: 1024px) {

    .orb-1 {
        width: 420px;
        height: 420px;
        filter: blur(70px);
    }

    .orb-2 {
        width: 380px;
        height: 380px;
        filter: blur(90px);
    }

    .orb-3 {
        width: 260px;
        height: 260px;
        filter: blur(60px);
        left: 35%;
    }

}


@media (max-width: 640px) {

    .orb-1 {
        width: 260px;
        height: 260px;
        top: -120px;
        right: -80px;
        filter: blur(50px);
    }

    .orb-2 {
        width: 240px;
        height: 240px;
        bottom: -60px;
        left: -80px;
        filter: blur(60px);
    }

    .orb-3 {
        width: 160px;
        height: 160px;
        top: 50%;
        left: 30%;
        filter: blur(40px);
    }

}




/* ANIMATIONS */

@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }

@keyframes float {
  0%,100%{ transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes floating {

    0% {
        transform: translateY(0px) scale(1);
    }

    50% {
        transform: translateY(-30px) scale(1.08);
    }

    100% {
        transform: translateY(0px) scale(1);
    }

}

@keyframes fadeUp {
  from { opacity:0; transform: translateY(24px); }
  to   { opacity:1; transform: translateY(0); }
}

@keyframes softScale {
  from { transform: scale(1); }
  to   { transform: scale(1.03); }
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

/* Apply to a linear-gradient background */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes slideInRight {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

@keyframes brandShine {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}


@keyframes borderBreathe {
  0%, 100% { border-color: var(--border); box-shadow: 0 0 0 transparent; }
  50% { border-color: var(--border-hi); box-shadow: 0 0 15px var(--brand-glow); }
}


@keyframes breathe {

  0% {
    opacity: 0.6;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0.6;
  }

}




@keyframes tealPing {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 var(--teal-dim); }
  70% { transform: scale(1); box-shadow: 0 0 0 12px rgba(45, 212, 191, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(45, 212, 191, 0); }
}




@keyframes revealMuted {
  from { 
    opacity: 0; 
    filter: blur(4px);
    transform: translateY(4px); 
  }
  to { 
    opacity: 1; 
    filter: blur(0);
    transform: translateY(0); 
  }
}










/* SPECIAL CLAssses*/


.light{
    color: var(--ink);
}

.search-container {
    background: var(--glass);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--ink);
}

.search-button {
    background: var(--brand);
    box-shadow: 0 0 15px var(--brand-glow);
}



/* RESPONSIVE */
@media(max-width:1024px){
  .blog-grid,.shop-grid{grid-template-columns:1fr 1fr;}
  .blog-featured{grid-column:1/3;}
  .events-grid{grid-template-columns:1fr;}
  .product-detail-grid{grid-template-columns:1fr;}
  .event-detail-grid{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr;}
  .speakers-grid{grid-template-columns:1fr 1fr;}
  .shop-featured{grid-template-columns:1fr;}
}
@media(max-width:768px){
  nav{padding:0 20px;}
  .nav-links{display:none;}
  .page-wrap{padding:100px 20px 60px;}
  .blog-grid,.shop-grid,.events-grid,.blog-featured{grid-template-columns:1fr;grid-column:auto;}
  .divider-line{margin:0 20px;}
  .event-detail-hero{padding:32px 24px;}
  .shop-featured{padding:24px;}
}



.trending-item:hover .trending-num{color:var(--brand) !important;}/* End custom CSS */