.elementor-2109 .elementor-element.elementor-element-f62d283{--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:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2109 .elementor-element.elementor-element-0631a2e{--display:flex;}.elementor-2109 .elementor-element.elementor-element-f595da4{--display:flex;}.elementor-2109 .elementor-element.elementor-element-73cbcf0{--display:flex;}.elementor-2109 .elementor-element.elementor-element-e03192b{--display:flex;}.elementor-2109 .elementor-element.elementor-element-2dcce26 .elementor-heading-title{color:var( --e-global-color-astglobalcolor0 );}.elementor-2109 .elementor-element.elementor-element-d99b614{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-2109 .elementor-element.elementor-element-a33401b{width:var( --container-widget-width, 50% );max-width:50%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-2109 .elementor-element.elementor-element-a33401b.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:1;}.elementor-2109 .elementor-element.elementor-element-a33401b .e-search-input{border-radius:10px 030px 30px 10px;}.elementor-2109 .elementor-element.elementor-element-040d470{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-justify-content:center;--e-filter-item-width:initial;--e-filter-item-flex-grow:0;--e-filter-wrap:wrap;--e-filter-overflow-x:initial;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-2109 .elementor-element.elementor-element-040d470 .e-filter-item:not( [aria-pressed=true] ):not( :hover ){background-color:#FBFBFB00;}.elementor-2109 .elementor-element.elementor-element-040d470.elementor-element{--align-self:center;}.elementor-2109 .elementor-element.elementor-element-f972526{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-2109 .elementor-element.elementor-element-3a0673a{--grid-columns:3;}@media(max-width:1024px) and (min-width:768px){.elementor-2109 .elementor-element.elementor-element-f62d283{--content-width:84%;}}@media(max-width:1024px){.elementor-2109 .elementor-element.elementor-element-f62d283{--margin-top:070px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-2109 .elementor-element.elementor-element-d99b614{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-2109 .elementor-element.elementor-element-a33401b{width:var( --container-widget-width, 86% );max-width:86%;--container-widget-width:86%;--container-widget-flex-grow:0;}.elementor-2109 .elementor-element.elementor-element-a33401b.elementor-element{--flex-grow:0;--flex-shrink:1;}.elementor-2109 .elementor-element.elementor-element-a33401b .e-search-input{border-radius:10px 10px 10px 10px;}.elementor-2109 .elementor-element.elementor-element-3a0673a{--grid-columns:2;}}@media(max-width:767px){.elementor-2109 .elementor-element.elementor-element-f62d283{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2109 .elementor-element.elementor-element-e03192b{--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-2109 .elementor-element.elementor-element-a33401b{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-2109 .elementor-element.elementor-element-f972526{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2109 .elementor-element.elementor-element-3a0673a{--grid-columns:2;--grid-row-gap:15px;--grid-column-gap:15px;}}/* Start custom CSS for text-editor, class: .elementor-element-c02d165 */.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 heading, class: .elementor-element-2dcce26 */.about-heading{
  font-family: 'Fraunces', serif !important;
  font-size: clamp(2.2rem, 3.5vw, 3.2rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin-bottom: 28px;
  color: #ffffff !important;
}
.about-heading em { font-style: italic; font-weight: 300; color: var(--muted); }/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-ecec4f0 */.about-body { color: var(--muted); line-height: 1.8; font-size: 0.95rem; }
.about-body p + p { margin-top: 16px; }
.about-body strong { color: var(--ink); font-weight: 500; }

.about-body p:nth-child(1){
    animation: fadeUp 1s ease-in-out;
}
.about-body p:nth-child(2){
    animation: fadeUp 2s ease-in-out;
}
.about-body p:nth-child(3){
    animation: fadeUp 3s ease-in-out;
}/* End custom CSS */
/* Start custom CSS for search, class: .elementor-element-a33401b *//* 1. The Wrapper (Equivalent to your .search-bar) */
.elementor-2109 .elementor-element.elementor-element-a33401b .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-2109 .elementor-element.elementor-element-a33401b .e-search-input-wrapper {
    flex: 1;
    min-width: 240px;
    position: relative;
}

/* 3. The Input Field (Equivalent to your .search-input) */
.elementor-2109 .elementor-element.elementor-element-a33401b .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-2109 .elementor-element.elementor-element-a33401b .e-search-input:focus {
    border-color: var(--border-hi) !important;
    background: var(--glass-hi) !important;
}

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

/* 5. Positioning the Search Icon (The SVG) */
.elementor-2109 .elementor-element.elementor-element-a33401b .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-2109 .elementor-element.elementor-element-a33401b .e-search-label svg {
    width: 16px;
    height: 16px;
    fill: var(--muted);
}

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

.elementor-2109 .elementor-element.elementor-element-a33401b .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-2109 .elementor-element.elementor-element-a33401b .e-search-label {
        left: 0px; /* Adjusting the Search Label Left */
    }

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

    /* Optional: Adjusting Clear (X) icon position for tighter screens */
    .elementor-2109 .elementor-element.elementor-element-a33401b .e-fas-times {
        right: 18px;
    }
}/* End custom CSS */
/* Start custom CSS for taxonomy-filter, class: .elementor-element-040d470 *//* Base */

button{
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.2) !important;
  color: #e5e5e5 !important;
  padding: 8px 18px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-radius: 999px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

/* Hover */

button:hover{
  background-color: rgba(255,255,255,0.1) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,0.4) !important;
  transform: translateY(-2px) !important;
}

/* Active */

button:active,
button[aria-pressed="true"]{
  background-color: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}

/* Focus */
 button:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,0.2) !important;
}/* 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.5 !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.06);
    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.19);
    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.12);
    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 */