/* ════════════════ DESIGN TOKENS ════════════════ */
:root {
  --sky:    #FDEFD4;
  --blue:   #A50505;
  --indigo: #8B0404;
  --violet: #8b5cf6;
  --amber:  #f59e0b;
  --rose:   #f43f5e;
  --grad:   linear-gradient(135deg,#A50505 0%,#C8380A 55%,#8B0404 100%);
  --bg:     #FDEFD4;
  --bg2:    #FAE8C6;
  --t1:     #0c1024;
  --t2:     #1e293b;
  --t3:     #475569;
  --t4:     #94a3b8;
  --glass:  rgba(255,255,255,.62);
  --glass-b:rgba(255,255,255,.88);
  --ge:     rgba(165,5,5,.12);
  --gs:     0 8px 32px rgba(165,5,5,.08),0 1px 0 rgba(255,255,255,.9) inset;
  --sm:     0 2px 8px rgba(165,5,5,.07),0 0 0 1px rgba(165,5,5,.05);
  --md:     0 8px 32px rgba(165,5,5,.09),0 2px 8px rgba(0,0,0,.04);
  --lg:     0 24px 56px rgba(165,5,5,.12),0 4px 16px rgba(0,0,0,.06);
  --h-h:    68px;
  --r:      20px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--t1);overflow-x:hidden;}

/* ════════════════ HEADER ════════════════ */
#site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--h-h);padding:0 1.5rem;
  display:flex;align-items:center;
  background:rgba(253,245,232,.72);
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border-bottom:1px solid rgba(165,5,5,.08);
  transition:background .3s,box-shadow .3s,border-color .3s;
}
#site-header.scrolled{
  background:rgba(255,255,255,.90);
  backdrop-filter:blur(32px) saturate(180%);
  -webkit-backdrop-filter:blur(32px) saturate(180%);
  border-bottom-color:rgba(165,5,5,.16);
  box-shadow:0 4px 28px rgba(165,5,5,.10),0 1px 0 rgba(255,255,255,.9);
}
.header-inner{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;}
.logo{
  font-family:'Bricolage Grotesque',sans-serif;font-size:1.5rem;font-weight:800;
  text-decoration:none;letter-spacing:-.3px;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  <!-- filter:drop-shadow(0 0 10px rgba(165,5,5,.2)); -->
  white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:.3rem;
}

.logo i{-webkit-text-fill-color:var(--sky);background:none;filter:none;}
.main-nav{list-style:none;display:flex;align-items:center;justify-content:center;gap:.05rem;flex-wrap:nowrap;}
.main-nav>li{position:relative;}
.main-nav a,.main-nav button{
  font-family:'DM Sans',sans-serif;font-size:.92rem;font-weight:500;color:var(--t3);
  text-decoration:none;padding:.48rem .82rem;border-radius:8px;
  background:none;border:none;cursor:pointer;
  display:flex;align-items:center;gap:.28rem;white-space:nowrap;position:relative;
  transition:color .2s,background .2s;
}
.main-nav a::after,.main-nav button::after{
  content:'';position:absolute;bottom:3px;left:50%;
  width:0;height:2px;border-radius:2px;
  background:var(--grad);transform:translateX(-50%);
  transition:width .25s cubic-bezier(.4,0,.2,1);
}
.main-nav a:hover,.main-nav button:hover{color:var(--t1);background:rgba(165,5,5,.06);}
.main-nav a:hover::after,.main-nav button:hover::after{width:60%;}
.main-nav a.active{color:var(--blue);}
.main-nav a.active::after{width:60%;}
.nav-dropdown{
  position:absolute;top:calc(100% + 8px);left:50%;
  transform:translateX(-50%) translateY(-5px);
  min-width:152px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(165,5,5,.13);border-radius:14px;padding:.4rem 0;
  opacity:0;pointer-events:none;
  transition:opacity .18s,transform .18s;
  box-shadow:0 14px 40px rgba(165,5,5,.12),0 4px 12px rgba(0,0,0,.05);z-index:200;
}
.main-nav li:hover .nav-dropdown{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0);}
.nav-dropdown a{display:block;padding:.46rem 1.1rem;font-size:.8rem;border-radius:0;width:100%;color:var(--t2);}
.nav-dropdown a:hover{background:rgba(165,5,5,.07);color:var(--sky);}
.nav-dropdown a::after{display:none;}
.header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
.header-search{position:relative;display:flex;align-items:center;}
.header-search .hs-icon{position:absolute;left:.9rem;color:var(--t4);font-size:.8rem;pointer-events:none;z-index:2;transition:color .22s;}
.header-search input{
  font-family:'DM Sans',sans-serif;font-size:.8rem;
  background:rgba(255,255,255,.72);border:1px solid rgba(165,5,5,.18);
  border-radius:50px;color:var(--t1);outline:none;
  padding:.5rem 2.6rem .5rem 2.1rem;width:175px;
  backdrop-filter:blur(12px);
  transition:width .35s cubic-bezier(.4,0,.2,1),background .22s,border-color .22s,box-shadow .22s;
}
.header-search input::placeholder{color:var(--t4);font-weight:300;}
.header-search input:focus{width:220px;background:rgba(255,255,255,.98);border-color:rgba(165,5,5,.45);box-shadow:0 0 0 3px rgba(165,5,5,.10),0 4px 16px rgba(165,5,5,.08);}
.header-search:focus-within .hs-icon{color:var(--sky);}
.hs-submit{
  position:absolute;right:.38rem;width:26px;height:26px;border-radius:50%;
  background:var(--grad);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:.6rem;
  opacity:0;transform:scale(.7);transition:opacity .22s,transform .22s;z-index:2;
}
.header-search:focus-within .hs-submit{opacity:1;transform:scale(1);}
.btn-login{
  font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:700;
  padding:.5rem 1.45rem;border-radius:50px;cursor:pointer;border:none;
  background:var(--grad);color:#fff;
  display:inline-flex;align-items:center;gap:.4rem;
  box-shadow:0 4px 16px rgba(165,5,5,.28);
  transition:transform .2s,box-shadow .2s,filter .2s;white-space:nowrap;text-decoration:none;
}
.btn-login:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(165,5,5,.38);filter:brightness(1.06);color:#fff;}
.hamburger{
  display:none;background:none;border:none;color:var(--t1);font-size:1.3rem;cursor:pointer;
  margin-left:auto;width:42px;height:42px;border-radius:9px;
  align-items:center;justify-content:center;transition:background .2s;
}
.hamburger:hover{background:rgba(165,5,5,.08);}
#mobile-nav{
  position:fixed;top:var(--h-h);left:0;right:0;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border-bottom:1px solid rgba(165,5,5,.12);
  padding:.7rem 1.1rem 1.1rem;
  display:flex;flex-direction:column;gap:.2rem;z-index:990;
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .22s,transform .22s;
  box-shadow:0 8px 32px rgba(165,5,5,.08);
}
#mobile-nav.open{opacity:1;transform:translateY(0);pointer-events:all;}
#mobile-nav a{font-family:'DM Sans',sans-serif;font-size:.9rem;color:var(--t2);text-decoration:none;padding:.62rem .85rem;border-radius:10px;min-height:44px;display:flex;align-items:center;transition:background .14s,color .14s;}
#mobile-nav a:hover{background:rgba(165,5,5,.07);color:var(--sky);}
.mob-search{position:relative;margin-bottom:.3rem;}
.mob-search i{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--t4);font-size:.85rem;}
.mob-search input{font-family:'DM Sans',sans-serif;font-size:.875rem;width:100%;padding:.62rem 1rem .62rem 2.2rem;background:rgba(165,5,5,.06);border:1px solid rgba(165,5,5,.16);border-radius:50px;color:var(--t1);outline:none;}
.mob-search input::placeholder{color:var(--t4);}
.mob-divider{height:1px;background:rgba(165,5,5,.08);margin:.3rem 0;}
.mobile-btns{display:flex;gap:.55rem;margin-top:.4rem;}
.mobile-btns .btn-login{flex:1;justify-content:center;}

@media(max-width:1100px){.header-search input{width:145px;}.header-search input:focus{width:185px;}}
@media(max-width:991px){.main-nav,.header-right{display:none;}.hamburger{display:flex;}.header-inner{grid-template-columns:auto auto;}}
@media(max-width:767px){:root{--h-h:64px;}#site-header{padding:.5rem .9rem;}}

/* ── KEYFRAME ANIMATIONS ──────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(32px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes staggerIn{from{opacity:0;transform:translateY(24px) scale(.97);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes subtlePulse{0%,100%{box-shadow:0 0 0 0 rgba(165,5,5,.18);}50%{box-shadow:0 0 0 8px rgba(165,5,5,.0);}}
@keyframes meshDrift{0%{background-position:0% 0%;}100%{background-position:100% 100%;}}
@keyframes floatUp{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes floatDn{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}
@keyframes orbPulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.75;transform:scale(1.08)}}
@keyframes spinSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}

/* ══════════════════════════════════════════════════════
   HERO SECTION
══════════════════════════════════════════════════════ */
#hero{position:relative;min-height:100vh;padding-top:var(--h-h);background:linear-gradient(155deg,#fdf3e0 0%,#fdf3e0 45%,#fdf3e0 100%);overflow:hidden;display:flex;flex-direction:column;}
#hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(165,5,5,.03) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;z-index:0;}
.hero-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);animation:orbPulse 8s ease-in-out infinite;}
.hero-orb-1{width:700px;height:700px;top:-180px;right:-160px;background:radial-gradient(circle,rgba(165,5,5,.13),transparent 70%);}
.hero-orb-2{width:500px;height:500px;bottom:-100px;left:-100px;background:radial-gradient(circle,rgba(200,56,10,.10),transparent 70%);animation-delay:4s;}
.hero-orb-3{width:300px;height:300px;top:40%;left:40%;background:radial-gradient(circle,rgba(165,5,5,.055),transparent 70%);animation-delay:2s;}
.hero-ring{position:absolute;top:72px;right:56px;width:260px;height:260px;border-radius:50%;border:1.5px dashed rgba(165,5,5,.18);animation:spinSlow 45s linear infinite;pointer-events:none;z-index:0;}
.hero-ring::after{content:'';position:absolute;inset:20px;border-radius:50%;border:1px solid rgba(165,5,5,.09);}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:3.5rem 2rem 2.5rem;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;flex:1;}
/* LEFT */
.hero-left{display:flex;flex-direction:column;gap:1.6rem;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-body);font-size:.77rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#A50505;background:rgba(165,5,5,.09);border:1px solid rgba(165,5,5,.22);border-radius:50px;padding:.42rem 1rem;width:fit-content;opacity:0;animation:fadeUp .6s cubic-bezier(.22,1,.36,1) .15s forwards;}
.hero-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#A50505;box-shadow:0 0 8px rgba(165,5,5,.55);animation:blink 1.6s ease-in-out infinite;flex-shrink:0;}
.hero-h1{font-family:var(--font-head)!important;font-size:clamp(2.7rem,5.5vw,4rem);font-weight:700;line-height:1.07;color:#1A1A1A;letter-spacing:-.01em;opacity:0;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) .3s forwards;}
.hero-h1 em{font-style:italic;background:linear-gradient(135deg,#A50505 0%,#C8380A 50%,#8B0404 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-sub{font-family:var(--font-body);font-size:1.05rem;font-weight:400;line-height:1.74;color:#5c3a1e;max-width:475px;opacity:0;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) .45s forwards;}
.hero-cta-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) .6s forwards;}
.cta-primary{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-body);font-size:.97rem;font-weight:700;color:#fff;background:var(--grad);border:none;border-radius:50px;padding:.9rem 2rem;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,filter .25s;box-shadow:0 6px 28px rgba(165,5,5,.42),0 1px 0 rgba(255,255,255,.1) inset;}
.cta-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent);border-radius:inherit;opacity:0;transition:opacity .2s;}
.cta-primary:hover{transform:translateY(-3px);box-shadow:0 14px 38px rgba(165,5,5,.58);filter:brightness(1.06);color:#fff;text-decoration:none;}
.cta-primary:hover::before{opacity:1;}
.cta-ghost{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-body);font-size:.97rem;font-weight:600;color:#6b3e1e;background:rgba(255,255,255,.62);border:1.5px solid rgba(165,5,5,.22);border-radius:50px;padding:.9rem 2rem;cursor:pointer;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s;backdrop-filter:blur(14px);}
.cta-ghost:hover{background:rgba(255,255,255,.88);border-color:rgba(165,5,5,.4);color:#A50505;transform:translateY(-3px);box-shadow:0 8px 28px rgba(165,5,5,.13);text-decoration:none;}
.hero-proof{display:inline-flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.68);border:1px solid rgba(165,5,5,.14);border-radius:50px;padding:.55rem 1.1rem .55rem .65rem;backdrop-filter:blur(16px);width:fit-content;opacity:0;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) .75s forwards;box-shadow:0 4px 18px rgba(165,5,5,.07),0 1px 0 rgba(255,255,255,.9) inset;}
.hero-avatars{display:flex;align-items:center;}
.hero-avatar{width:32px;height:32px;border-radius:50%;border:2px solid #fff;margin-left:-8px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;font-family:var(--font-body);}
.hero-avatar:first-child{margin-left:0;}
.hero-proof-text{font-family:var(--font-body);font-size:.8rem;font-weight:500;color:#5c3a1e;line-height:1.4;}
.hero-proof-text strong{color:#1A1A1A;font-weight:700;}
/* RIGHT */
.hero-right{position:relative;display:flex;align-items:center;justify-content:center;min-height:520px;}
.hero-img-main{position:relative;width:100%;max-width:440px;border-radius:28px;overflow:hidden;box-shadow:0 36px 80px rgba(165,5,5,.18),0 8px 32px rgba(0,0,0,.08);animation:fadeUp .8s cubic-bezier(.22,1,.36,1) .35s both,floatUp 7s ease-in-out 1.2s infinite;}
.hero-img-main img{width:100%;height:490px;object-fit:cover;display:block;}
.hero-img-main::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(100,4,4,.58) 100%);pointer-events:none;}
.hero-img-caption{position:absolute;bottom:1.2rem;left:1.2rem;right:1.2rem;z-index:3;display:flex;align-items:center;gap:.75rem;}
.hero-img-cap-icon{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0;}
.hero-img-cap-text strong{display:block;font-size:.88rem;font-weight:700;color:#fff;font-family:var(--font-body);}
.hero-img-cap-text span{font-size:.75rem;color:rgba(253,239,212,.82);font-family:var(--font-body);}
.hero-stat-card{position:absolute;background:rgba(255,255,255,.90);backdrop-filter:blur(24px);border:1px solid rgba(165,5,5,.13);border-radius:18px;padding:.95rem 1.3rem;box-shadow:0 12px 40px rgba(165,5,5,.13),0 2px 8px rgba(0,0,0,.05);z-index:5;}
.hero-stat-card .sc-val{font-family:var(--font-head);font-size:1.65rem;font-weight:700;line-height:1;color:#1A1A1A;}
.hero-stat-card .sc-val em{font-style:normal;color:#A50505;}
.hero-stat-card .sc-lbl{font-family:var(--font-body);font-size:.72rem;font-weight:500;color:#7a4a22;letter-spacing:.04em;margin-top:.18rem;}
.sc-1{top:28px;left:-52px;animation:fadeIn .8s ease .9s both,floatDn 6s ease-in-out 1.5s infinite;}
.sc-2{bottom:64px;right:-44px;animation:fadeIn .8s ease 1.1s both,floatUp 5.5s ease-in-out 2s infinite;}
.hero-chip{position:absolute;top:-20px;right:28px;display:flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.92);border:1px solid rgba(165,5,5,.16);border-radius:50px;padding:.55rem 1rem .55rem .65rem;backdrop-filter:blur(18px);box-shadow:0 8px 28px rgba(165,5,5,.12);z-index:5;animation:fadeIn .8s ease .7s both,floatUp 8s ease-in-out 1s infinite;}
.hero-chip-ic{width:30px;height:30px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;}
.hero-chip-text{font-family:var(--font-body);font-size:.78rem;font-weight:600;color:#1A1A1A;}
.hero-chip-sub{font-family:var(--font-body);font-size:.68rem;font-weight:400;color:#7a4a22;}
/* STATS BAR */
.hero-stats-bar{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:0 2rem 3.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;opacity:0;animation:fadeUp .7s cubic-bezier(.22,1,.36,1) .9s forwards;}
.hero-stat-item{background:rgba(255,255,255,.62);border:1px solid rgba(165,5,5,.11);border-radius:18px;padding:1.3rem 1.5rem;backdrop-filter:blur(18px);box-shadow:0 4px 18px rgba(165,5,5,.07),0 1px 0 rgba(255,255,255,.9) inset;transition:transform .3s,box-shadow .3s,background .3s;}
.hero-stat-item:hover{transform:translateY(-5px);background:rgba(255,255,255,.85);box-shadow:0 16px 44px rgba(165,5,5,.13);}
.hero-stat-item .hs-icon-wrap{width:36px;height:36px;border-radius:10px;background:rgba(165,5,5,.09);border:1px solid rgba(165,5,5,.16);display:flex;align-items:center;justify-content:center;color:#A50505;font-size:.95rem;margin-bottom:.85rem;}
.hero-stat-item .hs-val{font-family:var(--font-head);font-size:2rem;font-weight:700;line-height:1;color:#1A1A1A;}
.hero-stat-item .hs-val em{font-style:normal;color:#A50505;}
.hero-stat-item .hs-lbl{font-family:var(--font-body);font-size:.78rem;font-weight:500;color:#7a4a22;margin-top:.35rem;}
/* TICKER */
.hero-ticker{position:relative;z-index:2;width:100%;background:rgba(255,255,255,.52);border-top:1px solid rgba(165,5,5,.10);backdrop-filter:blur(14px);padding:.7rem 0;overflow:hidden;}
.hero-ticker-track{display:flex;width:max-content;animation:ticker 30s linear infinite;}
.ticker-item{display:inline-flex;align-items:center;gap:.6rem;padding:0 2.2rem;font-family:var(--font-body);font-size:.8rem;font-weight:500;color:#5c3a1e;white-space:nowrap;}
.ticker-dot{width:6px;height:6px;border-radius:50%;background:#A50505;opacity:.6;flex-shrink:0;}
.ticker-item strong{color:#A50505;font-weight:700;}
/* HERO RESPONSIVE */
@media(max-width:1120px){.sc-1{left:-20px;}.sc-2{right:-14px;}}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;text-align:center;padding:3.5rem 1.5rem 2rem;}.hero-left{align-items:center;}.hero-sub{text-align:center;margin:0 auto;}.hero-right{min-height:380px;}.hero-img-main{max-width:360px;}.hero-img-main img{height:370px;}.sc-1{left:-8px;top:10px;}.sc-2{right:-8px;bottom:44px;}.hero-stats-bar{grid-template-columns:repeat(2,1fr);padding-bottom:2.5rem;}}
@media(max-width:600px){.hero-h1{font-size:2.3rem;}.hero-img-main img{height:300px;}.sc-1,.sc-2,.hero-chip{display:none;}.hero-stats-bar{grid-template-columns:1fr 1fr;padding:0 1rem 2rem;}.hero-cta-row{justify-content:center;}}

/* ── GLOBAL FONT OVERRIDE ───────────────────────────────── */
:root {
  --font-head: 'Gelasio', 'Bricolage Grotesque', serif;
  --font-body: 'Inter', 'DM Sans', sans-serif;
  /* Section colors */
  --sec-dark: #A50505;
  --sec-white: #FFFFFF;
  --sec-light: #FDEFD4;
  --sec-grad-start: #A50505;
  --sec-grad-end: #FDEFD4;
  /* Premium shadows */
  --shadow-card-light: 0 4px 24px rgba(165,5,5,.08), 0 1px 4px rgba(0,0,0,.04);
  --shadow-card-hover: 0 16px 48px rgba(165,5,5,.18), 0 4px 16px rgba(0,0,0,.08);
  --glow-red: 0 0 20px rgba(165,5,5,.35);
}

body { font-family: var(--font-body); }

/* ── ALL HEADING OVERRIDES → Playball ─────────────────── */
h1, h2, h3,
.sl-h2, .ec-h2, .au-h2, .tm-h2,
.fo-nl-h, .fo-col-h,
.au-badge-ctr, .tm-panel-title,
.au-count-val, .au-stat-val {
  font-family: var(--font-head) !important;
  letter-spacing: 0em !important;
}

.sl-h2        { font-size: clamp(2.3rem, 4.2vw, 3.3rem) !important; }
.ec-h2        { font-size: clamp(2.3rem, 4.2vw, 3.3rem) !important; }
.au-h2        { font-size: clamp(2rem,   3.5vw, 2.9rem) !important; }
.tm-h2        { font-size: clamp(2.1rem, 4vw,   3.2rem) !important; }
.fo-nl-h      { font-size: clamp(1.6rem, 2.8vw, 2.2rem) !important; }

/* Body copy → Inter */
p, span, a, li, input, button, label, .sl-ev-desc, .au-body, .tm-quote,
.fo-tagline, .fo-links a, .nav-dropdown a, .main-nav a, .main-nav button,
.sl-seg-btn, .cta-primary, .cta-ghost, .btn-login, .fo-nl-btn {
  font-family: var(--font-body) !important;
}

/* ── TEXTURE MIXIN (dot overlay) ──────────────────────── */
.tex::after {
  content:'';
  position:absolute;inset:0;
  background-image: radial-gradient(rgba(165,5,5,.035) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events:none; z-index:0;
}

/* ══════════════════════════════════════════════════════
   HEADER — glass with warm white
══════════════════════════════════════════════════════ */
#site-header {
  background: rgba(255,255,255,0.82) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  border-bottom: 1px solid rgba(165,5,5,.10) !important;
  box-shadow: 0 2px 20px rgba(165,5,5,.06) !important;
}
#site-header.scrolled {
  background: rgba(255,255,255,0.97) !important;
  box-shadow: 0 4px 32px rgba(165,5,5,.12), 0 1px 0 rgba(255,255,255,.9) !important;
}
/* .logo { filter: drop-shadow(0 0 14px rgba(165,5,5,.25)) !important; } */
.main-nav a, .main-nav button { font-size: .9rem !important; font-weight: 500 !important; }
.btn-login {
  background: linear-gradient(135deg,#A50505,#C8380A) !important;
  box-shadow: 0 4px 18px rgba(165,5,5,.32) !important;
  border-radius: 50px !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}
.btn-login:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(165,5,5,.45) !important;
  filter: brightness(1.08) !important;
}

/* ══════════════════════════════════════════════════════
   PROGRESSIVE WARM PALETTE — lighter overall, based on #FDEFD4
   Each section steps only slightly darker than the previous.

   Hero          → #FDEFD4               (lightest cream)
   Explore Events → #FDEFD4 → #FAE8C0   (barely-there honey)
   Explore Cats   → #FAE8C0 → #F7DEB0   (soft biscuit)
   About Us       → #F7DEB0 → #F2D09A   (warm almond — gentle step)
   Ev-Features    → #F2D09A → #ECC485   (golden wheat)
   Testimonials   → #ECC485 → #E6B870   (light amber — still warm, not dark)
   Footer         → #E6B870 → #DCAA5A   (mellow gold — deepest, never muddy)
══════════════════════════════════════════════════════ */

/* ── SECTION 2: EXPLORE EVENTS ── */
#explore-events {
  background: #fefdfa !important;
  position: relative;
}
#explore-events::before {
  background-image: radial-gradient(rgba(165,5,5,.04) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
}

.sl-orb-1 { background: radial-gradient(circle,rgba(165,5,5,.08),transparent 70%) !important; }
.sl-orb-2 { background: radial-gradient(circle,rgba(165,5,5,.05),transparent 70%) !important; }

.sl-eyebrow { color: #A50505 !important; }
.sl-eyebrow::before { background: #A50505 !important; }
.sl-h2 { color: #1A1A1A !important; }
.sl-h2 em {
  background: linear-gradient(135deg,#A50505,#8B0404) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.sl-h2-sub { color: #5c3a1e !important; }

.sl-seg {
  background: rgba(255,255,255,0.62) !important;
  border: 1px solid rgba(165,5,5,.16) !important;
  backdrop-filter: blur(16px) !important;
  box-shadow: 0 2px 14px rgba(165,5,5,.07) !important;
}
.sl-seg-btn { color: #5c3a1e !important; }
.sl-seg-btn:hover { color: #1A1A1A !important; background: rgba(165,5,5,.07) !important; }
.sl-seg-btn.active {
  background: linear-gradient(135deg,#A50505,#8B0404) !important;
  color: #fff !important;
  box-shadow: 0 4px 20px rgba(165,5,5,.28) !important;
}

.sl-panel {
  background: rgba(255,255,255,0.52) !important;
  border: 1px solid rgba(165,5,5,.10) !important;
  backdrop-filter: blur(18px) !important;
  border-radius: 22px !important;
  box-shadow: 0 8px 40px rgba(165,5,5,.07), 0 2px 8px rgba(0,0,0,.03) !important;
}
.sl-row:hover { background: rgba(255,255,255,.38) !important; }
.sl-row:hover::after { background: linear-gradient(135deg,#A50505,#8B0404) !important; }

.sl-time { color: #1A1A1A !important; }
.sl-date { color: #6b3e1e !important; }
.sl-ev-title { color: #1A1A1A !important; }
.sl-ev-desc { color: #5c3a1e !important; }
.sl-loc-text strong { color: #1A1A1A !important; }
.sl-loc-text { color: #6b3e1e !important; }

.sl-thumb {
  border: 2px solid rgba(165,5,5,.16) !important;
  box-shadow: 0 4px 14px rgba(165,5,5,.09) !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
.sl-row:hover .sl-thumb {
  transform: scale(1.08) !important;
  box-shadow: 0 8px 24px rgba(165,5,5,.18) !important;
}

.sl-bm {
  background: rgba(165,5,5,.07) !important;
  border: 1px solid rgba(165,5,5,.18) !important;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease !important;
}
.sl-bm:hover {
  background: rgba(165,5,5,.16) !important;
  transform: scale(1.12) !important;
  box-shadow: 0 0 14px rgba(165,5,5,.22) !important;
}

.sl-all {
  background: rgba(255,255,255,0.52) !important;
  border: 1px solid rgba(165,5,5,.18) !important;
  color: #5c3a1e !important;
  backdrop-filter: blur(12px) !important;
}
.sl-all:hover {
  color: #A50505 !important;
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(165,5,5,.32) !important;
  transform: translateY(-2px) !important;
}
.sl-count { color: #7a4a22 !important; }
.sl-count strong { color: #A50505 !important; }

/* ── SECTION 3: EXPLORE CATEGORIES ── */
#explore-categories {
  background: #fefdfa !important;
  position: relative;
}
#explore-categories::before {
  background-image: radial-gradient(rgba(165,5,5,.045) 1px, transparent 1px) !important;
  background-size: 26px 26px !important;
}

.ec-orb-1 { background: radial-gradient(circle,rgba(165,5,5,.10),transparent 70%) !important; }
.ec-orb-2 { background: radial-gradient(circle,rgba(165,5,5,.07),transparent 70%) !important; }

.ec-eyebrow {
  color: #A50505 !important;
  background: rgba(165,5,5,.09) !important;
  border: 1px solid rgba(165,5,5,.20) !important;
}
.ec-h2 { color: #1A1A1A !important; }
.ec-h2 em {
  background: linear-gradient(135deg,#A50505,#8B0404) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.ec-sub { color: #5c3a1e !important; }

.ec-card {
  background: rgba(255,255,255,0.58) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255,255,255,0.78) !important;
  box-shadow: 0 4px 18px rgba(165,5,5,.08), 0 1px 4px rgba(0,0,0,.04) !important;
  transition: transform .55s cubic-bezier(.25,.8,.25,1), box-shadow .55s cubic-bezier(.25,.8,.25,1) !important;
  will-change: transform !important;
}
.ec-card:hover {
  transform: translateY(-12px) !important;
  box-shadow: 0 20px 48px rgba(165,5,5,.18), 0 8px 24px rgba(165,5,5,.10) !important;
}
.ec-card:hover .ec-img { transform: scale(1.07) !important; }

/* ── SECTION 4: ABOUT US ── */
#about-us {
  background: #fefdfa !important;
  position: relative;
}
#about-us::before {
  background-image: radial-gradient(rgba(165,5,5,.05) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
  z-index: 0 !important;
}

#about-us .au-kicker { color: #A50505 !important; }
#about-us .au-kicker-dot { background: #A50505 !important; box-shadow: 0 0 8px rgba(165,5,5,.40) !important; }
#about-us .au-h2 { color: #1A1A1A !important; }
#about-us .au-h2 em {
  background: linear-gradient(135deg,#A50505,#6B0303) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
#about-us .au-body { color: #3a1e0a !important; }
#about-us p { color: #3a1e0a !important; }

#about-us .au-stat-val,
#about-us .au-count-val { color: #1A1A1A !important; }
#about-us .au-stat-label { color: #5c3a1e !important; }
#about-us .au-stat-suf { color: #A50505 !important; }

#about-us .au-pill {
  background: rgba(255,255,255,0.58) !important;
  backdrop-filter: blur(18px) !important;
  border: 1px solid rgba(255,255,255,0.78) !important;
  box-shadow: 0 8px 32px rgba(165,5,5,.09) !important;
}
#about-us .au-pill-n { color: #1A1A1A !important; }
#about-us .au-pill-l { color: #5c3a1e !important; }
#about-us .au-pill-ic {
  background: rgba(165,5,5,.09) !important;
  border: 1px solid rgba(165,5,5,.16) !important;
}
#about-us .au-pill-ic i { color: #A50505 !important; }

#about-us .au-feat {
  background: rgba(255,255,255,0.50) !important;
  backdrop-filter: blur(14px) !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
  border-radius: 14px !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
#about-us .au-feat:hover {
  transform: translateY(-5px) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 14px 40px rgba(165,5,5,.14) !important;
}
#about-us .au-feat-h { color: #1A1A1A !important; }
#about-us .au-feat-p { color: #5c3a1e !important; }
#about-us .au-feat-ic {
  background: rgba(165,5,5,.09) !important;
  border: 1px solid rgba(165,5,5,.18) !important;
  color: #A50505 !important;
}

#about-us .au-stat {
  background: rgba(165,5,5,.12) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255,255,255,.70) !important;
  border-radius: 16px !important;
  transition: transform .3s ease !important;
}
#about-us .au-stat:hover { transform: translateY(-4px) !important; }

#about-us .au-cta,
#about-us .cta-primary {
  background: linear-gradient(135deg,#A50505,#8B0404) !important;
  color: #FDEFD4 !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 6px 24px rgba(165,5,5,.26) !important;
}
#about-us .au-cta:hover,
#about-us .cta-primary:hover {
  color: #fff !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 40px rgba(165,5,5,.38) !important;
}

#about-us .au-img-top,
#about-us .au-img-bot {
  box-shadow: 0 20px 60px rgba(165,5,5,.14), 0 0 0 1px rgba(255,255,255,.35) !important;
}
#about-us .au-img-top img,
#about-us .au-img-bot img {
  transition: transform .65s cubic-bezier(.25,.8,.25,1) !important;
}
#about-us .au-img-top:hover img,
#about-us .au-img-bot:hover img { transform: scale(1.06) !important; }

/* ── SECTION 5: EV-FEATURES (was missing — added now) ── */
#ev-features {
  background: #fefdfa !important;
  position: relative;
}
#ev-features::before {
  background-image: radial-gradient(rgba(165,5,5,.05) 1px, transparent 1px) !important;
  background-size: 28px 28px !important;
}
#ev-features::after { display: none !important; }

.fv-orb-1 { background: radial-gradient(circle,rgba(165,5,5,.09),transparent 70%) !important; }
.fv-orb-2 { background: radial-gradient(circle,rgba(165,5,5,.06),transparent 70%) !important; }

.fv-eyebrow { color: #A50505 !important; }
.fv-eyebrow::before { background: #A50505 !important; }
.fv-h2 { color: #1A1A1A !important; }
.fv-h2 em {
  background: linear-gradient(135deg,#A50505,#6B0303) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.fv-sub { color: #5c3a1e !important; }

.fv-badge {
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(14px) !important;
  box-shadow: 0 2px 12px rgba(165,5,5,.08) !important;
}
.fv-badge-n {
  background: linear-gradient(135deg,#A50505,#6B0303) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.fv-badge-l { color: #5c3a1e !important; }

.fv-card {
  background: rgba(255,255,255,0.52) !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
  backdrop-filter: blur(12px) !important;
  border-radius: 20px !important;
  box-shadow: 0 4px 18px rgba(165,5,5,.08) !important;
  transition: transform .3s ease, box-shadow .3s ease, background .28s, border-color .28s !important;
}
.fv-card:hover {
  background: rgba(255,255,255,.78) !important;
  border-color: rgba(255,255,255,.92) !important;
  box-shadow: 0 22px 52px rgba(165,5,5,.14) !important;
  transform: translateY(-7px) !important;
}
.fv-card:hover .fv-dot { background: #A50505 !important; box-shadow: 0 0 10px rgba(165,5,5,.45) !important; }
.fv-title { color: #1A1A1A !important; }
.fv-card:hover .fv-title { color: #A50505 !important; }
.fv-body { color: #5c3a1e !important; }
.fv-link { color: #7a4a22 !important; }
.fv-card:hover .fv-link { color: #A50505 !important; }

.fv-cta {
  background: rgba(255,255,255,0.52) !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 16px rgba(165,5,5,.08) !important;
}
.fv-cta-txt { color: #1A1A1A !important; }
.fv-cta-s { color: #5c3a1e !important; }
.fv-btn-p {
  background: linear-gradient(135deg,#A50505,#8B0404) !important;
  color: #FDEFD4 !important;
  box-shadow: 0 4px 16px rgba(165,5,5,.28) !important;
}
.fv-btn-p:hover { color: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(165,5,5,.38) !important; }
.fv-btn-g {
  background: rgba(255,255,255,0.55) !important;
  color: #3a1e0a !important;
  border: 1px solid rgba(165,5,5,.18) !important;
}
.fv-btn-g:hover { background: rgba(255,255,255,.82) !important; color: #A50505 !important; border-color: rgba(165,5,5,.32) !important; }

/* ── SECTION 6: TESTIMONIALS ── */
#testimonials {
  background: #fefdfa !important;
  position: relative;
}

.tm-kicker { color: #A50505 !important; }
.tm-kicker-dot { background: #A50505 !important; box-shadow: 0 0 8px rgba(165,5,5,.38) !important; }
.tm-h2 { color: #1A1A1A !important; }
.tm-h2 em {
  background: linear-gradient(135deg,#A50505,#6B0303) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.tm-panel {
  background: linear-gradient(135deg,#A50505 0%,#8B0404 100%) !important;
  box-shadow: 0 20px 60px rgba(165,5,5,.28) !important;
  border: 1px solid rgba(165,5,5,.32) !important;
}
.tm-panel::before {
  background: linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 55%) !important;
}

.tm-card {
  background: rgba(255,255,255,0.52) !important;
  backdrop-filter: blur(14px) !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
  border-radius: 22px !important;
  box-shadow: 0 4px 20px rgba(165,5,5,.09) !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
.tm-card:hover {
  background: rgba(255,255,255,.76) !important;
  border-color: rgba(255,255,255,.90) !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 48px rgba(165,5,5,.16) !important;
}
.tm-quote { color: #2a140a !important; }
.tm-name { color: #1A1A1A !important; }
.tm-card:hover .tm-name { color: #A50505 !important; }
.tm-role { color: #6b3e1e !important; }
.tm-card-div { background: rgba(165,5,5,.14) !important; }
.tm-qicon { color: rgba(165,5,5,.28) !important; }
.tm-card:hover .tm-qicon { color: rgba(165,5,5,.52) !important; }

.tm-dot { background: rgba(165,5,5,.18) !important; }
.tm-dot.active { background: #A50505 !important; box-shadow: 0 0 10px rgba(165,5,5,.42) !important; }

.tm-arrow {
  background: rgba(255,255,255,0.48) !important;
  border: 1px solid rgba(255,255,255,0.70) !important;
  color: #1A1A1A !important;
}
.tm-arrow:hover { background: rgba(255,255,255,.72) !important; border-color: rgba(255,255,255,.90) !important; }

/* ══════════════════════════════════════════════════════
   FOOTER → mellow gold #DCAA5A — deepest warm, never muddy
══════════════════════════════════════════════════════ */
#site-footer {
  background: linear-gradient(180deg, #fdf3e0 0%, #fdf3e0 50%, #fdf3e0 100%) !important;
}

.fo-nl { border-bottom: 1px solid rgba(255,255,255,.18) !important; }
.fo-nl-h { color: #1A1A1A !important; }
.fo-nl-h em {
  background: linear-gradient(135deg,#A50505,#6B0303) !important;
  -webkit-background-clip: text !important; background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.fo-nl-tag { color: #1A1A1A !important; }
.fo-nl-tag::before { background: #1A1A1A !important; }

.fo-nl-input {
  background: rgba(255,255,255,0.45) !important;
  border: 1px solid rgba(255,255,255,.55) !important;
  backdrop-filter: blur(12px) !important;
  color: #1A1A1A !important;
}
.fo-nl-input::placeholder { color: rgba(30,15,5,.55) !important; }
.fo-nl-input:focus {
  border-color: rgba(255,255,255,.85) !important;
  background: rgba(255,255,255,.68) !important;
  box-shadow: 0 0 0 3px rgba(255,255,255,.20) !important;
}

.fo-nl-btn {
  background: linear-gradient(135deg,#A50505,#8B0404) !important;
  color: #FDEFD4 !important;
  box-shadow: 0 4px 18px rgba(165,5,5,.30) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
.fo-nl-btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(165,5,5,.45) !important;
}

/*.fo-logo { filter: drop-shadow(0 0 10px rgba(0,0,0,.20)) !important; }*/
.fo-tagline { color: rgba(30,10,0,.75) !important; }
.fo-col-h { color: #1A1A1A !important; }
.fo-links a { color: rgba(30,10,0,.70) !important; }
.fo-links a:hover { color: #1A1A1A !important; }
.fo-links a::before { background: #1A1A1A !important; }

.fo-soc {
  background: rgba(255,255,255,0.35) !important;
  border: 1px solid rgba(255,255,255,.50) !important;
  color: #1A1A1A !important;
  transition: background .22s, transform .22s, box-shadow .22s !important;
}
.fo-soc:hover {
  background: rgba(255,255,255,.58) !important;
  border-color: rgba(255,255,255,.80) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.14) !important;
}

.fo-contact-ic {
  background: rgba(255,255,255,.30) !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  color: #1A1A1A !important;
}
.fo-contact-text { color: rgba(30,10,0,.72) !important; }
.fo-contact-text strong { color: #1A1A1A !important; }
.fo-copy { color: rgba(30,10,0,.68) !important; }
.fo-copy a { color: #1A1A1A !important; }
.fo-legal a { color: rgba(30,10,0,.65) !important; }
.fo-legal a:hover { color: #1A1A1A !important; }
.fo-bottom { border-top: 1px solid rgba(184,58,58,0.56) !important; }

/* ══════════════════════════════════════════════════════
   MOBILE APP-LIKE ENHANCEMENTS
══════════════════════════════════════════════════════ */
#mobile-nav {
  background: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(32px) !important;
  border-bottom: 1px solid rgba(165,5,5,.12) !important;
  box-shadow: 0 12px 40px rgba(165,5,5,.10) !important;
}
#mobile-nav a { color: #1e293b !important; border-radius: 12px !important; min-height: 48px !important; }
#mobile-nav a:hover { background: rgba(165,5,5,.07) !important; color: #A50505 !important; }

.mob-search input {
  background: rgba(165,5,5,.05) !important;
  border: 1px solid rgba(165,5,5,.16) !important;
  border-radius: 50px !important;
}

/* Touch-friendly button sizes on mobile */
@media (max-width: 767px) {
  .cta-primary, .cta-ghost {
    padding: .7rem 1.3rem !important;
    font-size: .95rem !important;
    border-radius: 14px !important;
    min-height: 48px !important;
  }
  .btn-login { min-height: 44px !important; padding: .55rem 1.4rem !important; }
  .sl-seg-btn { min-height: 42px !important; }
  .sl-bm { width: 38px !important; height: 38px !important; }

  /* Rounded mobile sections */
  .sl-panel { border-radius: 18px !important; }
  .ec-card { border-radius: 18px !important; }
  .tm-card { border-radius: 18px !important; }

  /* Compact but breathable spacing */
  #explore-events  { padding: 3rem 0 4rem !important; }
  #explore-categories { padding: 3rem 0 3.5rem !important; }
  #about-us { padding: 3.5rem 0 4rem !important; }
  #testimonials { padding: 3rem 0 3.5rem !important; }
}

/* ══════════════════════════════════════════════════════
   STAGGER ANIMATION — cards reveal on scroll
   Note: ec-card uses IntersectionObserver + CSS transition,
   not a CSS animation, so hover transform works cleanly.
══════════════════════════════════════════════════════ */
.ec-card.ec-in { opacity: 1 !important; transform: translateY(0) !important; }

/* Fade-up for section headings */
.sl-reveal, .ec-fade, .au-rl, .au-rr, .au-rf, .tm-fade {
  transition: opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1) !important;
}

/* Image hover zoom */
.au-img-top img, .au-img-bot img, .ec-img {
  transition: transform .55s cubic-bezier(.25,.8,.25,1) !important;
}

/* ══════════════════════════════════════════════════════
   PREMIUM BUTTON GRADIENT HOVER
══════════════════════════════════════════════════════ */
.fo-nl-btn:hover,
.sl-seg-btn.active,
.btn-login:hover {
  background: linear-gradient(135deg,#A50505,#8B0404) !important;
}

/* Smooth global transitions */
*, *::before, *::after {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a, button { transition: color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease; }

#explore-events{background: #fefdfa;padding:2.5rem 0 4rem;position:relative;overflow:hidden;}
#explore-events::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(165,5,5,.04) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:0;}
.sl-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(110px);}
.sl-orb-1{width:560px;height:560px;background:radial-gradient(circle,rgba(165,5,5,.09),transparent 70%);top:-200px;left:-200px;}
.sl-orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.07),transparent 70%);bottom:-180px;right:-180px;}
.sl-wrap{max-width:1180px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1;}
.sl-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);}
.sl-reveal.sl-in{opacity:1;transform:translateY(0);}
.sl-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:3rem;flex-wrap:wrap;}
.sl-header-left{flex:1;min-width:180px;}
.sl-eyebrow{display:inline-flex;align-items:center;gap:.42rem;font-family:'DM Sans',sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-bottom:.5rem;}
.sl-eyebrow::before{content:'';width:18px;height:2px;border-radius:2px;background:var(--sky);flex-shrink:0;}
.sl-h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2rem,3.8vw,2.9rem);font-weight:700;color:var(--t1);line-height:1.1;letter-spacing:-.025em;margin:0 0 .45rem;}
.sl-h2 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sl-h2-sub{font-family:'DM Sans',sans-serif;font-size:.87rem;color:var(--t3);line-height:1.6;margin:0;}
.sl-all{display:inline-flex;align-items:center;gap:.4rem;font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:600;color:var(--t3);border:1px solid rgba(165,5,5,.18);background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:50px;padding:.5rem 1.15rem;text-decoration:none;white-space:nowrap;flex-shrink:0;align-self:flex-start;transition:color .2s,background .2s,border-color .2s,transform .18s;box-shadow:var(--sm);}
.sl-all:hover{color:var(--sky);background:rgba(165,5,5,.08);border-color:rgba(165,5,5,.32);transform:translateY(-1px);}
.sl-all i{font-size:.7rem;}
.sl-switcher-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.4rem;flex-wrap:wrap;}
.sl-seg{display:inline-flex;align-items:center;background:rgba(255,255,255,.8);border:1px solid rgba(165,5,5,.16);border-radius:50px;padding:.28rem;gap:0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--sm);}
.sl-seg-btn{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:600;color:var(--t3);background:none;border:none;border-radius:50px;padding:.52rem 1.6rem;cursor:pointer;white-space:nowrap;transition:color .25s,background .25s,box-shadow .25s,transform .15s;letter-spacing:.01em;}
.sl-seg-btn:hover{color:var(--t1);background:rgba(165,5,5,.07);}
.sl-seg-btn.active{background:var(--grad);color:#fff;box-shadow:0 4px 18px rgba(165,5,5,.28);transform:scale(1.02);}
.sl-count{font-family:'DM Sans',sans-serif;font-size:.72rem;color:var(--t4);flex-shrink:0;}
.sl-count strong{color:var(--sky);font-weight:700;}
.sl-panel{background:rgba(255,255,255,.78);border:1px solid rgba(165,5,5,.10);border-radius:20px;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--md);}
.sl-row{display:grid;grid-template-columns:80px 180px 1fr auto;align-items:center;gap:0;padding:0;border-bottom:1px solid rgba(165,5,5,.07);cursor:pointer;position:relative;overflow:hidden;opacity:0;transform:translateX(-16px);transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.4,0,.2,1),background .22s;}
.sl-row:last-child{border-bottom:none;}
.sl-row.sl-in{opacity:1;transform:translateX(0);}
.sl-row.sl-hidden{display:none;}
.sl-row::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(253,239,212,.35) 0%,rgba(253,239,212,.10) 100%);opacity:0;transition:opacity .25s;pointer-events:none;}
.sl-row:hover::before{opacity:1;}
.sl-row:hover{background:rgba(253,239,212,.28);}
.sl-row::after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad);transform:scaleY(0);transform-origin:center;transition:transform .3s cubic-bezier(.4,0,.2,1);border-radius:0 2px 2px 0;}
.sl-row:hover::after{transform:scaleY(1);}
.sl-thumb-col{display:flex;align-items:center;justify-content:center;padding:1.35rem 0 1.35rem 1.4rem;}
.sl-thumb{width:62px;height:62px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(165,5,5,.12);box-shadow:var(--sm);transition:border-color .25s,transform .25s,box-shadow .25s;}
.sl-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.sl-row:hover .sl-thumb{border-color:rgba(165,5,5,.35);transform:scale(1.06);box-shadow:0 6px 20px rgba(165,5,5,.14);}
.sl-time-col{padding:1.35rem 1.2rem;border-right:1px solid rgba(165,5,5,.08);}
.sl-time{font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:700;color:var(--t1);letter-spacing:-.01em;white-space:nowrap;margin-bottom:.28rem;}
.sl-date{font-family:'DM Sans',sans-serif;font-size:.72rem;color:var(--t3);}
.sl-content-col{padding:1.35rem 1.5rem;}
.sl-ev-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1rem;font-weight:700;color:var(--t1);line-height:1.28;letter-spacing:-.01em;margin-bottom:.38rem;transition:color .22s;}
.sl-row:hover .sl-ev-title{color:var(--blue);}
.sl-ev-desc{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);line-height:1.68;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sl-meta-col{padding:1.35rem 1.4rem 1.35rem 1rem;display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;border-left:1px solid rgba(165,5,5,.08);min-width:160px;}
.sl-loc{display:flex;align-items:flex-start;gap:.38rem;text-align:right;}
.sl-loc-icon{width:28px;height:28px;border-radius:8px;background:rgba(165,5,5,.07);border:1px solid rgba(165,5,5,.14);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,border-color .2s;}
.sl-loc-icon i{color:var(--blue);font-size:.72rem;}
.sl-row:hover .sl-loc-icon{background:rgba(165,5,5,.14);border-color:rgba(165,5,5,.32);}
.sl-loc-text{font-family:'DM Sans',sans-serif;font-size:.71rem;color:var(--t3);line-height:1.55;}
.sl-loc-text strong{display:block;color:var(--t2);font-weight:500;font-size:.73rem;}
.sl-foot-row{display:flex;align-items:center;gap:.55rem;}
.sl-price{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:700;padding:.22rem .72rem;border-radius:50px;white-space:nowrap;letter-spacing:.02em;}
.sl-price.free{background:rgba(165,5,5,.09);border:1px solid rgba(165,5,5,.20);color:var(--sky);}
.sl-price.paid{background:rgba(200,56,10,.09);border:1px solid rgba(200,56,10,.20);color:var(--blue);}
.sl-bm{width:30px;height:30px;border-radius:8px;background:rgba(165,5,5,.07);border:1px solid rgba(165,5,5,.14);color:var(--blue);font-size:.875rem;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .18s;}
.sl-bm:hover{background:rgba(165,5,5,.14);border-color:rgba(165,5,5,.32);color:var(--sky);box-shadow:0 0 12px rgba(165,5,5,.22);transform:scale(1.1);}
.sl-bm.saved{background:rgba(165,5,5,.14);border-color:rgba(165,5,5,.30);color:var(--sky);}
.sl-cat-tag{display:inline-flex;align-items:center;font-family:'DM Sans',sans-serif;font-size:.57rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.14rem .6rem;border-radius:50px;border:1px solid currentColor;margin-bottom:.3rem;}

@media(max-width:1100px){.sl-row{grid-template-columns:72px 160px 1fr auto;}.sl-meta-col{min-width:140px;}}
@media(max-width:991px){#explore-events{padding:3.5rem 0 4.5rem;}.sl-h2{font-size:clamp(1.75rem,4.5vw,2.3rem);}.sl-row{grid-template-columns:66px 1fr auto;}.sl-time-col{border-right:none;padding:1.1rem .9rem;}.sl-ev-desc{display:none;}.sl-content-col{padding:1.1rem 1rem;}.sl-meta-col{min-width:130px;padding:1.1rem 1.1rem 1.1rem .8rem;}}
@media(max-width:767px){#explore-events{padding:2.75rem 0 3.75rem;}.sl-h2{font-size:clamp(1.55rem,6vw,2rem);}.sl-header{flex-direction:column;align-items:flex-start;gap:.75rem;}.sl-switcher-row{flex-direction:column;align-items:flex-start;gap:.55rem;}.sl-seg{overflow-x:auto;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;}.sl-seg::-webkit-scrollbar{display:none;}.sl-seg-btn{flex-shrink:0;padding:.5rem 1.2rem;}.sl-panel{border-radius:16px;}.sl-row{display:flex;flex-direction:column;align-items:stretch;padding:1rem;gap:0;border-bottom:1px solid rgba(165,5,5,.07);}.sl-row::after{width:100%;height:3px;top:0;bottom:auto;left:0;right:0;transform:scaleX(0);transform-origin:left;}.sl-row:hover::after{transform:scaleX(1);}.sl-thumb-col{flex-direction:row;justify-content:flex-start;align-items:center;gap:.9rem;padding:0 0 .75rem 0;}.sl-thumb{width:52px;height:52px;}.sl-time-col{display:none;}.sl-content-col{padding:0 0 .65rem 0;border:none;}.sl-ev-desc{display:block;-webkit-line-clamp:2;}.sl-meta-col{flex-direction:row;align-items:center;justify-content:space-between;padding:.65rem 0 0 0;border-left:none;border-top:1px solid rgba(165,5,5,.065);min-width:unset;}.sl-loc{text-align:left;}.sl-loc-text strong{display:inline;}}
@media(max-width:480px){.sl-ev-desc{display:none;}.sl-seg-btn{padding:.46rem .95rem;}}

#explore-categories{background: #fefdfa;padding:3rem 0 3rem;position:relative;overflow:hidden;}
#explore-categories::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(200,56,10,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:0;}
.ec-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(120px);}
.ec-orb-1{width:580px;height:580px;background:radial-gradient(circle,rgba(165,5,5,.09),transparent 70%);top:-180px;right:-160px;}
.ec-orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.07),transparent 70%);bottom:-160px;left:-140px;}
.ec-wrap{max-width:1220px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1;}
.ec-fade{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);}
.ec-fade.ec-in{opacity:1;transform:translateY(0);}
.ec-header{text-align:center;margin-bottom:3rem;}
.ec-eyebrow{display:inline-flex;align-items:center;gap:.52rem;font-family:'DM Sans',sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);background:rgba(200,56,10,.07);border:1px solid rgba(200,56,10,.16);border-radius:50px;padding:.3rem 1rem;margin-bottom:.75rem;}
.ec-eyebrow i{font-size:.72rem;}
.ec-h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2rem,3.8vw,2.9rem);font-weight:800;color:var(--t1);line-height:1.08;letter-spacing:-.03em;margin:0 0 .6rem;}
.ec-h2 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ec-sub{font-family:'DM Sans',sans-serif;font-size:.94rem;color:var(--t3);line-height:1.65;margin:0 auto;max-width:460px;}
.ec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.35rem;}
.ec-card{position:relative;border-radius:18px;overflow:hidden;cursor:pointer;aspect-ratio:3/4;display:block;text-decoration:none;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.04),0 10px 30px rgba(165,5,5,.09),0 0 0 1px rgba(165,5,5,.07);opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.25,.8,.25,1),box-shadow .55s cubic-bezier(.25,.8,.25,1);}
.ec-card.ec-in{opacity:1;transform:translateY(0);}
.ec-card:hover{transform:translateY(-12px);box-shadow:0 20px 48px rgba(165,5,5,.18),0 8px 24px rgba(165,5,5,.10);}
.ec-card:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;}
.ec-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.25,.8,.25,1);will-change:transform;}
.ec-card:hover .ec-img{transform:scale(1.06);}
.ec-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,25,.02) 0%,rgba(5,10,25,.04) 30%,rgba(5,10,25,.52) 65%,rgba(5,10,25,.90) 100%);transition:background .35s;}
.ec-card:hover .ec-grad{background:linear-gradient(180deg,rgba(5,10,25,.05) 0%,rgba(5,10,25,.08) 30%,rgba(5,10,25,.62) 65%,rgba(5,10,25,.95) 100%);}
.ec-glow{position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(180deg,transparent 0%,rgba(165,5,5,.0) 50%,rgba(165,5,5,.06) 100%);opacity:0;transition:opacity .4s;pointer-events:none;}
.ec-card:hover .ec-glow{opacity:1;}
.ec-count{position:absolute;top:.88rem;right:.88rem;font-family:'DM Sans',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.06em;color:#fff;background:rgba(10,18,40,.52);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);border-radius:50px;padding:.22rem .65rem;transition:background .2s,border-color .2s;}
.ec-card:hover .ec-count{background:rgba(200,56,10,.75);border-color:rgba(200,56,10,.9);}
.ec-arrow{position:absolute;top:.85rem;left:.85rem;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);font-size:.875rem;opacity:0;transform:scale(.85) translateY(-4px);transition:opacity .28s,transform .28s,background .2s,border-color .2s,color .2s;}
.ec-card:hover .ec-arrow{opacity:1;transform:scale(1) translateY(0);background:rgba(200,56,10,.82);border-color:rgba(200,56,10,1);color:#fff;}
.ec-label{position:absolute;bottom:0;left:0;right:0;padding:.8rem 1rem 1rem;}
.ec-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1.05rem;font-weight:700;color:#fff;line-height:1.2;letter-spacing:-.01em;margin:0 0 .32rem;transition:color .22s;text-shadow:0 1px 10px rgba(0,0,0,.55);}
.ec-card:hover .ec-title{color:#FDEFD4;}
.ec-sub-line{display:flex;align-items:center;gap:.28rem;font-family:'DM Sans',sans-serif;font-size:.66rem;font-weight:500;color:rgba(255,255,255,.65);}
.ec-sub-line i{color:#9F0505;font-size:.62rem;}
.ec-bar{position:absolute;bottom:0;left:0;right:0;height:2.5px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.4,0,.2,1);border-radius:0 2px 2px 0;}
.ec-card:hover .ec-bar{transform:scaleX(1);}

@media(max-width:1100px){.ec-grid{gap:1rem;}}
@media(max-width:991px){#explore-categories{padding:3.5rem 0 4.5rem;}.ec-h2{font-size:clamp(1.75rem,4.5vw,2.3rem);}.ec-grid{grid-template-columns:repeat(3,1fr);gap:.95rem;}}
@media(max-width:767px){#explore-categories{padding:2.75rem 0 3.5rem;}.ec-h2{font-size:clamp(1.55rem,6vw,2rem);}.ec-grid{grid-template-columns:repeat(2,1fr);gap:.85rem;}.ec-card{border-radius:15px;aspect-ratio:3/3.8;}.ec-title{font-size:.92rem;}.ec-count{font-size:.56rem;padding:.18rem .55rem;}.ec-label{padding:.65rem .8rem .85rem;}}
@media(max-width:380px){.ec-grid{gap:.7rem;}.ec-title{font-size:.875rem;}.ec-sub-line{display:none;}}

#about-us{background: #fefdfa;padding:3rem 0 3rem;position:relative;overflow:hidden;}
#about-us::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(200,56,10,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:0;}
.au-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(110px);}
.au-orb-a{width:520px;height:520px;background:radial-gradient(circle,rgba(165,5,5,.10),transparent 70%);top:-170px;left:-170px;}
.au-orb-b{width:480px;height:480px;background:radial-gradient(circle,rgba(139,92,246,.08),transparent 70%);bottom:-150px;right:-150px;}
.au-inner{max-width:1180px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1;}
.au-rl{opacity:0;transform:translateX(-30px);transition:opacity .75s cubic-bezier(.4,0,.2,1),transform .75s cubic-bezier(.4,0,.2,1);}
.au-rr{opacity:0;transform:translateX(30px);transition:opacity .75s cubic-bezier(.4,0,.2,1),transform .75s cubic-bezier(.4,0,.2,1);}
.au-rf{opacity:0;transform:translateY(22px);transition:opacity .72s cubic-bezier(.4,0,.2,1),transform .72s cubic-bezier(.4,0,.2,1);}
.au-rl.au-v,.au-rr.au-v,.au-rf.au-v{opacity:1;transform:translate(0);}
.au-grid{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:5rem;}
.au-col-img{position:relative;min-height:520px;}
.au-img-top{position:absolute;top:0;left:0;width:68%;aspect-ratio:4/3;border-radius:22px;overflow:hidden;box-shadow:0 18px 52px rgba(165,5,5,.14),0 0 0 1px rgba(165,5,5,.10);z-index:2;}
.au-img-top img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.8,.25,1);}
.au-img-top:hover img{transform:scale(1.05);}
.au-img-top::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(165,5,5,.12);pointer-events:none;}
.au-img-bot{position:absolute;bottom:0;right:0;width:78%;aspect-ratio:4/3.1;border-radius:22px;overflow:hidden;box-shadow:0 24px 64px rgba(165,5,5,.16),0 0 0 1px rgba(139,92,246,.10);z-index:3;}
.au-img-bot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.8,.25,1);}
.au-img-bot:hover img{transform:scale(1.05);}
.au-img-bot::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(139,92,246,.10);pointer-events:none;}
.au-dots{position:absolute;bottom:18px;left:-10px;width:88px;height:88px;background-image:radial-gradient(circle,rgba(165,5,5,.35) 1.5px,transparent 1.5px);background-size:10px 10px;z-index:1;pointer-events:none;}
.au-pill{position:absolute;bottom:-16px;left:-16px;z-index:10;background:rgba(255,255,255,.90);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(165,5,5,.16);border-radius:14px;padding:.65rem 1rem;display:flex;align-items:center;gap:.7rem;box-shadow:var(--md);}
.au-pill-ic{width:34px;height:34px;border-radius:9px;flex-shrink:0;background:linear-gradient(135deg,rgba(165,5,5,.15),rgba(200,56,10,.15));border:1px solid rgba(165,5,5,.20);display:flex;align-items:center;justify-content:center;}
.au-pill-ic i{color:var(--sky);font-size:.875rem;}
.au-pill-n{font-family:'Bricolage Grotesque',sans-serif;font-size:1.05rem;font-weight:700;color:var(--t1);line-height:1;letter-spacing:-.02em;}
.au-pill-n span{font-size:.75rem;color:var(--sky);}
.au-pill-l{font-family:'DM Sans',sans-serif;font-size:.63rem;color:var(--t3);margin-top:.1rem;}
.au-badge{position:absolute;top:-20px;right:-20px;z-index:10;width:110px;height:110px;display:flex;align-items:center;justify-content:center;}
.au-badge-svg{position:absolute;inset:0;animation:au-spin 11s linear infinite;}
.au-badge:hover .au-badge-svg{animation-play-state:paused;}
@keyframes au-spin{to{transform:rotate(360deg);}}
.au-badge-ctr{position:relative;z-index:2;width:54px;height:54px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;box-shadow:0 0 24px rgba(165,5,5,.35),0 6px 20px rgba(165,5,5,.20);cursor:pointer;transition:transform .3s,box-shadow .3s;}
.au-badge-ctr:hover{transform:scale(1.1);box-shadow:0 0 36px rgba(165,5,5,.50),0 10px 28px rgba(165,5,5,.25);}
.au-badge-ctr i{font-size:1.15rem;color:#fff;}
.au-kicker{display:inline-flex;align-items:center;gap:.45rem;font-family:'DM Sans',sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--sky);margin-bottom:.7rem;}
.au-kicker-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--sky);box-shadow:0 0 8px rgba(165,5,5,.6);}
.au-h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:var(--t1);line-height:1.16;letter-spacing:-.025em;margin:0 0 1rem;}
.au-h2 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.au-body{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);line-height:1.82;margin-bottom:1.6rem;}
.au-checks{display:grid;grid-template-columns:1fr 1fr;gap:.72rem 1.4rem;margin-bottom:1.8rem;}
.au-check{display:flex;align-items:flex-start;gap:.55rem;}
.au-check-ic{width:20px;height:20px;border-radius:50%;flex-shrink:0;margin-top:.06rem;background:var(--grad);display:flex;align-items:center;justify-content:center;box-shadow:0 0 10px rgba(165,5,5,.20);}
.au-check-ic i{font-size:.56rem;color:#fff;}
.au-check span{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);line-height:1.55;}
.au-trust{background:rgba(255,255,255,.78);border:1px solid rgba(165,5,5,.14);border-left:3px solid var(--sky);border-radius:0 14px 14px 0;padding:.85rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.au-trust-txt{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:600;color:var(--t1);line-height:1.5;}
.au-avs{display:flex;align-items:center;flex-shrink:0;}
.au-av{width:32px;height:32px;border-radius:50%;flex-shrink:0;border:2.5px solid rgba(255,255,255,.9);margin-left:-9px;overflow:hidden;}
.au-avs .au-av:first-child{margin-left:0;}
.au-av img{width:100%;height:100%;object-fit:cover;display:block;}
.au-av-more{width:32px;height:32px;border-radius:50%;flex-shrink:0;border:2.5px solid rgba(255,255,255,.9);margin-left:-9px;background:var(--grad);font-family:'DM Sans',sans-serif;font-size:.58rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;}
.au-ctas{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;}
.au-btn{font-family:'DM Sans',sans-serif;font-size:.83rem;font-weight:700;background:var(--grad);color:#fff;border:none;border-radius:50px;padding:.7rem 1.75rem;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;white-space:nowrap;box-shadow:0 4px 18px rgba(165,5,5,.28);transition:transform .22s,box-shadow .22s,filter .22s;}
.au-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 28px rgba(165,5,5,.40);filter:brightness(1.06);color:#fff;}
.au-email{display:flex;align-items:center;gap:.75rem;text-decoration:none;}
.au-email-ic{width:44px;height:44px;border-radius:50%;flex-shrink:0;background:rgba(165,5,5,.08);border:1px solid rgba(165,5,5,.18);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:1.2rem;transition:background .22s,border-color .22s,box-shadow .22s;}
.au-email:hover .au-email-ic{background:rgba(165,5,5,.15);border-color:rgba(165,5,5,.32);box-shadow:0 0 18px rgba(165,5,5,.20);}
.au-email-lbl{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:700;color:var(--t1);display:block;transition:color .2s;}
.au-email:hover .au-email-lbl{color:var(--blue);}
.au-email-val{font-family:'DM Sans',sans-serif;font-size:.71rem;color:var(--t3);}
.au-stats{margin-top:4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-radius:18px;overflow:hidden;}
.au-stat{background:#fef8ee;padding:1.6rem 1.2rem;text-align:center;position:relative;transition:background .25s;}
.au-stat:hover{background:#fff;}
.au-stat::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--grad);border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1);}
.au-stat:hover::after{width:55%;}
.au-stat-n{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:700;line-height:1;margin-bottom:.35rem;color:var(--t1);}
.au-stat-n em{font-style:normal;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.au-stat-l{font-family:'DM Sans',sans-serif;font-size:.73rem;color:var(--t3);}

@media(max-width:1100px){.au-grid{gap:3.5rem;}}
@media(max-width:991px){#about-us{padding:3.5rem 0 4.5rem;}.au-grid{grid-template-columns:1fr;gap:3rem;}.au-col-img{min-height:420px;}.au-checks{grid-template-columns:1fr;}.au-stats{grid-template-columns:repeat(2,1fr);margin-top:2.5rem;}}
@media(max-width:767px){#about-us{padding:2.75rem 0 3.5rem;}.au-h2{font-size:clamp(1.5rem,6vw,1.9rem);}.au-col-img{min-height:340px;}.au-img-top{width:65%;border-radius:16px;}.au-img-bot{width:76%;border-radius:16px;}.au-badge{width:88px;height:88px;top:-12px;right:-12px;}.au-badge-ctr{width:46px;height:46px;}.au-trust{flex-direction:column;align-items:flex-start;gap:.75rem;}.au-ctas{flex-direction:column;align-items:flex-start;}}

#ev-features{background: #fefdfa;padding:2rem 0 3rem;position:relative;overflow:hidden;}
#ev-features::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(200,56,10,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:0;}
#ev-features::after{content:'';position:absolute;inset:0;background:linear-gradient(118deg,transparent 0%,transparent 55%,rgba(165,5,5,.022) 55%,rgba(200,56,10,.016) 100%);pointer-events:none;z-index:0;}
.fv-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(120px);}
.fv-orb-1{width:560px;height:560px;background:radial-gradient(circle,rgba(165,5,5,.09),transparent 70%);bottom:-160px;left:-160px;}
.fv-orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.07),transparent 70%);top:-140px;right:-120px;}
.fv-wrap{max-width:1200px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1;}
.fv-fade{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);}
.fv-fade.fv-on{opacity:1;transform:none;}
.fv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:3.5rem;flex-wrap:wrap;}
.fv-head-l{max-width:580px;}
.fv-eyebrow{display:inline-flex;align-items:center;gap:.42rem;font-family:'DM Sans',sans-serif;font-size:.63rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--sky);margin-bottom:.55rem;}
.fv-eyebrow::before{content:'';width:18px;height:2px;border-radius:2px;background:var(--sky);flex-shrink:0;}
.fv-h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2rem,3.6vw,2.85rem);font-weight:700;color:var(--t1);line-height:1.1;letter-spacing:-.025em;margin:0 0 .5rem;}
.fv-h2 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fv-sub{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);line-height:1.7;margin:0;}
.fv-badge{background:rgba(255,255,255,.82);border:1px solid rgba(165,5,5,.16);border-radius:14px;padding:.9rem 1.4rem;text-align:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);flex-shrink:0;box-shadow:var(--sm);}
.fv-badge-n{font-family:'Bricolage Grotesque',sans-serif;font-size:2rem;font-weight:700;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fv-badge-l{font-family:'DM Sans',sans-serif;font-size:.65rem;color:var(--t3);letter-spacing:.06em;text-transform:uppercase;margin-top:.2rem;}
.fv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.fv-card{background:rgba(255,255,255,.82);border:1px solid rgba(165,5,5,.10);border-radius:20px;padding:1.8rem 1.8rem 1.9rem;position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sm);opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1),background .28s,border-color .28s,box-shadow .28s;}
.fv-card.fv-on{opacity:1;transform:translateY(0);}
.fv-card:hover{background:rgba(255,255,255,.98);border-color:rgba(165,5,5,.28);box-shadow:0 22px 52px rgba(165,5,5,.14),0 0 0 1px rgba(165,5,5,.16),0 0 32px rgba(165,5,5,.06);transform:translateY(-7px) !important;}
.fv-card::before{content:'';position:absolute;inset:-1px;border-radius:21px;background:linear-gradient(135deg,rgba(165,5,5,.0) 0%,rgba(165,5,5,.05) 50%,rgba(200,56,10,.03) 100%);opacity:0;transition:opacity .35s;pointer-events:none;}
.fv-card:hover::before{opacity:1;}
.fv-num{position:absolute;bottom:-.4rem;right:.6rem;font-family:'Bricolage Grotesque',sans-serif;font-size:7rem;font-weight:700;line-height:1;background:linear-gradient(180deg,rgba(165,5,5,.06) 0%,transparent 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;pointer-events:none;user-select:none;transition:opacity .3s;}
.fv-card:hover .fv-num{opacity:.7;}
.fv-dot{position:absolute;top:1.3rem;right:1.3rem;width:8px;height:8px;border-radius:50%;background:rgba(165,5,5,.15);transition:background .25s,box-shadow .25s;}
.fv-card:hover .fv-dot{background:var(--sky);box-shadow:0 0 10px rgba(165,5,5,.5);}
.fv-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.3rem;position:relative;z-index:1;flex-shrink:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;}
.fv-card:hover .fv-icon{transform:scale(1.1) rotate(-4deg);}
.fv-icon i{font-size:1.35rem;}
.fv-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1.05rem;font-weight:700;color:var(--t1);line-height:1.25;letter-spacing:-.01em;margin-bottom:.6rem;position:relative;z-index:1;transition:color .22s;}
.fv-card:hover .fv-title{color:var(--sky);}
.fv-body{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);line-height:1.75;flex:1;position:relative;z-index:1;}
.fv-link{display:inline-flex;align-items:center;gap:.4rem;font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;color:var(--t4);margin-top:1.2rem;text-decoration:none;position:relative;z-index:1;transition:color .22s,gap .22s;}
.fv-card:hover .fv-link{color:var(--sky);gap:.6rem;}
.fv-link i{font-size:.68rem;transition:transform .22s;}
.fv-card:hover .fv-link i{transform:translateX(3px);}
.fv-featured{background:rgba(165,5,5,.05);border-color:rgba(165,5,5,.18);}
.fv-featured .fv-body{color:var(--t2);}
.fv-featured::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad);border-radius:2px 2px 0 0;}
.fv-cta{margin-top:2.5rem;background:rgba(255,255,255,.82);border:1px solid rgba(165,5,5,.14);border-radius:18px;padding:1.4rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;overflow:hidden;box-shadow:var(--sm);}
.fv-cta::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad);border-radius:2px;}
.fv-cta-txt{font-family:'Bricolage Grotesque',sans-serif;font-size:1rem;font-weight:700;color:var(--t1);margin:0;}
.fv-cta-txt span{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fv-cta-s{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);margin:.25rem 0 0;}
.fv-cta-btns{display:flex;align-items:center;gap:.75rem;flex-shrink:0;}
.fv-btn-p{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:700;background:var(--grad);color:#fff;border:none;border-radius:50px;padding:.62rem 1.55rem;cursor:pointer;display:inline-flex;align-items:center;gap:.42rem;text-decoration:none;white-space:nowrap;box-shadow:0 4px 16px rgba(165,5,5,.26);transition:transform .2s,box-shadow .2s,filter .2s;}
.fv-btn-p:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(165,5,5,.38);filter:brightness(1.06);color:#fff;}
.fv-btn-g{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:600;background:rgba(255,255,255,.82);color:var(--t2);border:1px solid rgba(165,5,5,.18);border-radius:50px;padding:.62rem 1.4rem;cursor:pointer;display:inline-flex;align-items:center;gap:.42rem;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s;}
.fv-btn-g:hover{background:#fff;border-color:rgba(165,5,5,.36);color:var(--sky);transform:translateY(-1px);}

@media(max-width:1100px){.fv-grid{gap:1rem;}.fv-card{padding:1.5rem 1.5rem 1.6rem;}}
@media(max-width:991px){#ev-features{padding:3.5rem 0 4.5rem;}.fv-h2{font-size:clamp(1.75rem,4.5vw,2.3rem);}.fv-grid{grid-template-columns:repeat(2,1fr);}.fv-head{flex-direction:column;align-items:flex-start;gap:1rem;}}
@media(max-width:767px){#ev-features{padding:2.75rem 0 3.5rem;}.fv-h2{font-size:clamp(1.55rem,6vw,2rem);}.fv-grid{grid-template-columns:1fr;gap:.85rem;}.fv-card{border-radius:16px;padding:1.3rem 1.3rem 1.4rem;}.fv-num{font-size:5.5rem;}.fv-cta{flex-direction:column;align-items:flex-start;gap:1rem;}.fv-cta-btns{width:100%;}.fv-btn-p,.fv-btn-g{flex:1;justify-content:center;}}

#testimonials{background: #fefdfa;padding:3rem 0 3rem;position:relative;overflow:hidden;}
#testimonials::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(200,56,10,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:0;}
.tm-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(120px);}
.tm-orb-1{width:560px;height:560px;background:radial-gradient(circle,rgba(165,5,5,.08),transparent 70%);top:-180px;right:-160px;}
.tm-orb-2{width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.07),transparent 70%);bottom:-160px;left:-140px;}
.tm-dot-grid{position:absolute;top:2rem;right:2.5rem;width:110px;height:110px;background-image:radial-gradient(circle,rgba(165,5,5,.20) 1.5px,transparent 1.5px);background-size:11px 11px;z-index:0;pointer-events:none;}
.tm-wrap{max-width:1220px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1;}
.tm-fade{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1);}
.tm-fade.tm-in{opacity:1;transform:translateY(0);}
.tm-head{text-align:center;margin-bottom:3rem;}
.tm-kicker{display:inline-flex;align-items:center;gap:.4rem;font-family:'DM Sans',sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--sky);margin-bottom:.65rem;}
.tm-kicker-dot{width:7px;height:7px;border-radius:50%;background:var(--sky);box-shadow:0 0 8px rgba(165,5,5,.6);}
.tm-h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(1.9rem,3.8vw,2.85rem);font-weight:700;color:var(--t1);line-height:1.13;letter-spacing:-.025em;margin:0;max-width:660px;margin-inline:auto;}
.tm-h2 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.tm-row{display:grid;grid-template-columns:300px 1fr;gap:1.4rem;align-items:stretch;}
.tm-panel{background:var(--grad);border:1px solid rgba(200,56,10,.2);border-radius:22px;padding:2rem 1.75rem;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 20px 56px rgba(165,5,5,.20),0 0 0 1px rgba(165,5,5,.10),inset 0 1px 0 rgba(255,255,255,.15);min-height:320px;}
.tm-panel::before{content:'';position:absolute;inset:0;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none;}
.tm-panel::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.08));pointer-events:none;}
.tm-panel-avs{display:flex;align-items:center;margin-bottom:auto;}
.tm-panel-av{width:38px;height:38px;border-radius:50%;border:2.5px solid rgba(255,255,255,.5);overflow:hidden;margin-left:-10px;flex-shrink:0;}
.tm-panel-avs .tm-panel-av:first-child{margin-left:0;}
.tm-panel-av img{width:100%;height:100%;object-fit:cover;display:block;}
.tm-panel-stat{font-family:'DM Sans',sans-serif;font-size:.875rem;color:rgba(255,255,255,.82);line-height:1.55;margin-top:.9rem;}
.tm-panel-stat strong{display:block;font-size:.85rem;color:#fff;font-weight:600;}
.tm-panel-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1.15rem;font-weight:700;color:#fff;line-height:1.3;letter-spacing:-.01em;margin-top:auto;padding-top:1.5rem;position:relative;z-index:1;}
.tm-panel-btn{display:inline-flex;align-items:center;gap:.45rem;font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:700;background:var(--sky);color:var(--blue);border:none;border-radius:50px;padding:.6rem 1.4rem;margin-top:1.1rem;cursor:pointer;text-decoration:none;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:transform .2s,box-shadow .2s,background .2s;position:relative;z-index:1;align-self:flex-start;}
.tm-panel-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.18);background:rgba(255,255,255,.92);color:var(--blue);}
.tm-viewport{overflow:hidden;border-radius:22px;position:relative;}
.tm-track{display:flex;gap:1.4rem;transition:transform .65s cubic-bezier(.77,0,.18,1);will-change:transform;}
.tm-card{flex:0 0 calc(50% - .7rem);background:rgba(255,255,255,.82);border:1px solid rgba(165,5,5,.10);border-radius:22px;padding:1.9rem 1.8rem 1.7rem;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--sm);transition:border-color .28s,box-shadow .28s,background .28s,transform .28s;min-height:330px;}
.tm-card:hover{background:#fff;border-color:rgba(165,5,5,.22);box-shadow:0 18px 48px rgba(165,5,5,.14),0 0 0 1px rgba(165,5,5,.14);transform:translateY(-4px);}
.tm-card-dot{position:absolute;top:1.1rem;right:1.2rem;width:8px;height:8px;border-radius:50%;background:rgba(165,5,5,.25);box-shadow:0 0 8px rgba(165,5,5,.20);}
.tm-stars{display:flex;gap:.28rem;margin-bottom:1.1rem;}
.tm-star{font-size:.9rem;color:var(--amber);filter:drop-shadow(0 0 3px rgba(245,158,11,.4));}
.tm-quote{font-family:'Bricolage Grotesque',sans-serif;font-size:.9rem;font-weight:400;color:var(--t2);line-height:1.75;flex:1;font-style:italic;letter-spacing:.005em;}
.tm-card-div{height:1px;background:rgba(165,5,5,.10);margin:1.3rem 0 1.1rem;}
.tm-author{display:flex;align-items:center;justify-content:space-between;gap:.75rem;}
.tm-author-left{display:flex;align-items:center;gap:.75rem;}
.tm-av{width:42px;height:42px;border-radius:50%;border:2px solid rgba(165,5,5,.14);overflow:hidden;flex-shrink:0;box-shadow:0 2px 10px rgba(165,5,5,.10);transition:border-color .22s;}
.tm-card:hover .tm-av{border-color:rgba(165,5,5,.30);}
.tm-av img{width:100%;height:100%;object-fit:cover;display:block;}
.tm-name{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:700;color:var(--t1);transition:color .2s;}
.tm-card:hover .tm-name{color:var(--sky);}
.tm-role{font-family:'DM Sans',sans-serif;font-size:.68rem;color:var(--t3);margin-top:.08rem;}
.tm-qicon{font-size:1.6rem;line-height:1;color:rgba(165,5,5,.28);font-family:Georgia,serif;flex-shrink:0;user-select:none;transition:color .2s;}
.tm-card:hover .tm-qicon{color:rgba(165,5,5,.55);}
.tm-nav{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem;}
.tm-dot{width:8px;height:8px;border-radius:50%;background:rgba(165,5,5,.18);border:none;padding:0;cursor:pointer;transition:background .3s,width .3s,border-radius .3s;}
.tm-dot.active{background:var(--sky);width:26px;border-radius:4px;box-shadow:0 0 8px rgba(165,5,5,.40);}
.tm-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:36px;height:36px;border-radius:10px;border:1px solid rgba(165,5,5,.16);background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--t2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:var(--sm);transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;}
.tm-arrow:hover{background:rgba(165,5,5,.12);border-color:rgba(165,5,5,.32);box-shadow:0 4px 16px rgba(165,5,5,.20);}
.tm-arrow-prev{left:.6rem;} .tm-arrow-next{right:.6rem;}
.tm-arrow:hover{transform:translateY(-50%) scale(1.08);}

@media(max-width:1100px){.tm-row{grid-template-columns:260px 1fr;}.tm-card{flex:0 0 calc(50% - .7rem);}}
@media(max-width:991px){#testimonials{padding:3.5rem 0 4.5rem;}.tm-h2{font-size:clamp(1.75rem,4.5vw,2.3rem);}.tm-row{grid-template-columns:1fr;}.tm-panel{flex-direction:row;flex-wrap:wrap;min-height:unset;padding:1.5rem;align-items:center;gap:1rem;}.tm-panel-title{padding-top:0;flex:1 1 100%;}.tm-panel-stat{margin-top:0;}.tm-card{flex:0 0 calc(50% - .7rem);}}
@media(max-width:767px){#testimonials{padding:2.75rem 0 3.5rem;}.tm-h2{font-size:clamp(1.55rem,6vw,2rem);}.tm-card{flex:0 0 100%;}.tm-panel{flex-direction:column;}.tm-panel-title{font-size:1rem;}.tm-arrow{display:none;}}

#site-footer{background:linear-gradient(180deg,#FDEFD4 0%,#dde8fa 100%);position:relative;overflow:hidden;}
#site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(165,5,5,.35) 30%,rgba(200,56,10,.35) 70%,transparent);}
#site-footer::after{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(165,5,5,.04) 1px,transparent 1px);background-size:26px 26px;pointer-events:none;z-index:0;}
.fo-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(130px);}
.fo-orb-1{width:500px;height:500px;background:radial-gradient(circle,rgba(165,5,5,.08),transparent 70%);bottom:-200px;left:-150px;}
.fo-orb-2{width:460px;height:460px;background:radial-gradient(circle,rgba(139,92,246,.06),transparent 70%);top:-180px;right:-140px;}
/* Newsletter */
.fo-nl{position:relative;z-index:1;border-bottom:1px solid rgba(165,5,5,.10);padding:3.2rem 1.5rem;}
.fo-nl-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.fo-nl-tag{display:inline-flex;align-items:center;gap:.4rem;font-family:'DM Sans',sans-serif;font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sky);margin-bottom:.5rem;}
.fo-nl-tag::before{content:'';width:16px;height:2px;border-radius:2px;background:var(--sky);}
.fo-nl-h{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(1.4rem,2.5vw,1.95rem);font-weight:700;color:var(--t1);line-height:1.15;letter-spacing:-.02em;margin:0;}
.fo-nl-h em{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fo-nl-form{display:flex;align-items:center;gap:.55rem;flex-shrink:0;flex-wrap:wrap;}
.fo-nl-input{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t1);background:rgba(255,255,255,.78);border:1px solid rgba(165,5,5,.18);border-radius:50px;padding:.65rem 1.3rem;outline:none;width:260px;max-width:100%;transition:border-color .22s,background .22s,box-shadow .22s;}
.fo-nl-input::placeholder{color:var(--t4);}
.fo-nl-input:focus{border-color:rgba(165,5,5,.40);background:rgba(255,255,255,.96);box-shadow:0 0 0 3px rgba(165,5,5,.08);}
.fo-nl-btn{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:700;background:var(--grad);color:#fff;border:none;border-radius:50px;padding:.65rem 1.5rem;cursor:pointer;display:inline-flex;align-items:center;gap:.42rem;white-space:nowrap;box-shadow:0 4px 16px rgba(165,5,5,.26);transition:transform .2s,box-shadow .2s,filter .2s;}
.fo-nl-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(165,5,5,.38);filter:brightness(1.06);}
/* Main grid */
.fo-main{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:3.5rem 1.5rem 0;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem 3rem;}
.fo-logo{font-family:'Bricolage Grotesque',sans-serif;font-size:1.5rem;font-weight:700;text-decoration:none;letter-spacing:-.3px;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;white-space:nowrap;}
.fo-logo i{-webkit-text-fill-color:var(--sky);filter:none;background:none;font-size:1.2rem;}
.fo-tagline{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);line-height:1.72;margin-bottom:1.4rem;max-width:280px;}
.fo-socials{display:flex;gap:.55rem;}
.fo-soc{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.65);border:1px solid rgba(165,5,5,.14);display:flex;align-items:center;justify-content:center;color:var(--t3);font-size:.88rem;text-decoration:none;box-shadow:var(--sm);transition:background .2s,border-color .2s,color .2s,transform .18s,box-shadow .2s;}
.fo-soc:hover{background:rgba(165,5,5,.12);border-color:rgba(165,5,5,.30);color:var(--sky);transform:translateY(-2px);box-shadow:0 4px 14px rgba(165,5,5,.18);}
.fo-col-h{font-family:'Bricolage Grotesque',sans-serif;font-size:.9rem;font-weight:700;color:var(--t1);margin-bottom:1.15rem;letter-spacing:-.01em;}
.fo-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.52rem;}
.fo-links a{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);text-decoration:none;display:inline-flex;align-items:center;gap:.35rem;transition:color .2s,gap .2s;}
.fo-links a::before{content:'';width:0;height:1px;border-radius:1px;background:var(--sky);flex-shrink:0;transition:width .22s;}
.fo-links a:hover{color:var(--sky);gap:.5rem;}
.fo-links a:hover::before{width:12px;}
.fo-contact-item{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.7rem;}
.fo-contact-ic{width:30px;height:30px;border-radius:8px;flex-shrink:0;background:rgba(165,5,5,.08);border:1px solid rgba(165,5,5,.14);display:flex;align-items:center;justify-content:center;color:var(--blue) !important;font-size:.72rem;transition:background .2s,border-color .2s;}
.fo-contact-item:hover .fo-contact-ic{background:rgba(165,5,5,.14);border-color:rgba(165,5,5,.28);}
.fo-contact-text{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);line-height:1.55;transition:color .2s;}
.fo-contact-text strong{display:block;color:var(--t2);font-weight:500;margin-bottom:.05rem;}
.fo-contact-item:hover .fo-contact-text{color:var(--t2);}
/* Bottom bar */
.fo-bottom{position:relative;z-index:1;max-width:1180px;margin:2.8rem auto 0;padding:1.3rem 1.5rem 1rem;border-top:1px solid rgba(165,5,5,.10);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.fo-copy{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);}
.fo-copy a{color:var(--sky);text-decoration:none;transition:opacity .2s;}
.fo-copy a:hover{opacity:.8;}
.fo-legal{display:flex;align-items:center;gap:1.4rem;}
.fo-legal a{font-family:'DM Sans',sans-serif;font-size:.875rem;color:var(--t3);text-decoration:none;transition:color .2s;}
.fo-legal a:hover{color:var(--sky);}

@media(max-width:1100px){.fo-main{grid-template-columns:1.4fr 1fr 1fr;}}
@media(max-width:991px){.fo-nl-inner{flex-direction:column;align-items:flex-start;gap:1.2rem;}.fo-main{grid-template-columns:1fr 1fr;gap:2rem 2.5rem;}}
@media(max-width:767px){.fo-nl{padding:2.2rem 1.5rem;}.fo-nl-input{width:100%;}.fo-nl-form{width:100%;flex-direction:column;}.fo-nl-btn{width:100%;justify-content:center;}.fo-main{grid-template-columns:1fr 1fr;padding:2.5rem 1.5rem 0;gap:1.8rem 2rem;}.fo-bottom{flex-direction:column;align-items:flex-start;gap:.55rem;}}
@media(max-width:480px){
  .fo-main{grid-template-columns:1fr 1fr;}
  .fo-brand{grid-column:1 / -1;}
  .fo-main > div:last-child{grid-column:1 / -1;}
}
/* ══════════════════════════════════════════════════════
   WHAT WE DO SECTION
══════════════════════════════════════════════════════ */
#what-we-do {
  background: #fefdfa;
  padding: 3rem 0 3rem;
  position: relative;
  overflow: hidden;
}
/* #what-we-do::before { */
  /* content: ''; */
  /* position: absolute; */
  /* inset: 0; */
  /* background-image: url("mungya.png"); */
  /* background-size: 80px 80px; */
  /* pointer-events: none; */
  /* z-index: 0; */
/* } */

.wwd-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
  position: relative;
  z-index: 1;
}

/* ── Header ── */
.wwd-fade {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1);
}
.wwd-fade.wwd-in { opacity: 1; transform: translateY(0); }

.wwd-head {
  text-align: center;
  margin-bottom: 3.5rem;
}
.wwd-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: 'Inter', sans-serif;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #A50505;
  margin-bottom: .9rem;
}
.wwd-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #A50505;
  box-shadow: 0 0 8px rgba(165,5,5,.55);
  flex-shrink: 0;
}
.wwd-h2 {
  font-family: 'Gelasio', serif;
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  font-weight: 700;
  color: #1A1A1A;
  line-height: 1.1;
  margin: 0 0 .85rem;
  letter-spacing: -.01em;
}
.wwd-h2 em {
  font-style: italic;
  background: linear-gradient(135deg, #A50505, #C8380A);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.wwd-sub {
  font-family: 'Inter', sans-serif;
  font-size: .97rem;
  color: #5c3a1e;
  line-height: 1.72;
  max-width: 540px;
  margin: 0 auto;
}

/* ── Grid ── */
.wwd-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.wwd-empty { /* intentional gap */ }

/* ── Cards ── */
.wwd-card {
  background: rgba(255,255,255,0.60);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.80);
  border-radius: 20px;
  padding: 1.8rem 1.8rem 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(165,5,5,.07), 0 1px 3px rgba(0,0,0,.04);
  cursor: pointer;
  transition: transform .45s cubic-bezier(.25,.8,.25,1),
              box-shadow .45s cubic-bezier(.25,.8,.25,1),
              background .3s ease;
  will-change: transform;
}
.wwd-card.wwd-in { opacity: 1; transform: translateY(0); }
.wwd-card:hover {
  transform: translateY(-8px);
  background: rgba(255,255,255,0.88);
  box-shadow: 0 20px 48px rgba(165,5,5,.14), 0 6px 16px rgba(0,0,0,.06);
}

/* Red left-border accent on hover */
.wwd-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #A50505, #C8380A);
  border-radius: 3px 0 0 3px;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .4s cubic-bezier(.4,0,.2,1);
}
.wwd-card:hover::before { transform: scaleY(1); }

.wwd-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: .1rem;
}
.wwd-card-title {
  font-family: 'Gelasio', serif;
  font-size: 1.08rem;
  font-weight: 700;
  color: #1A1A1A;
  line-height: 1.25;
  transition: color .25s;
}
.wwd-card:hover .wwd-card-title { color: #A50505; }

.wwd-card-num {
  font-family: 'Inter', sans-serif;
  font-size: .82rem;
  font-weight: 700;
  color: rgba(165,5,5,.28);
  flex-shrink: 0;
  letter-spacing: .02em;
  transition: color .25s;
}
.wwd-card:hover .wwd-card-num { color: rgba(165,5,5,.55); }

.wwd-card-div {
  height: 1px;
  background: rgba(165,5,5,.12);
  margin: 1rem 0 1.1rem;
  transition: background .25s;
}
.wwd-card:hover .wwd-card-div { background: rgba(165,5,5,.22); }

.wwd-card-body {
  font-family: 'Inter', sans-serif;
  font-size: .875rem;
  color: #5c3a1e;
  line-height: 1.75;
  flex: 1;
  margin: 0 0 1.6rem;
}

.wwd-card-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: .75rem;
}
.wwd-card-link {
  font-family: 'Inter', sans-serif;
  font-size: .78rem;
  font-weight: 600;
  color: #7a4a22;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  transition: color .22s, gap .22s;
}
.wwd-card:hover .wwd-card-link {
  color: #A50505;
  gap: .55rem;
}
.wwd-card-link i { font-size: .68rem; transition: transform .22s; }
.wwd-card:hover .wwd-card-link i { transform: translateX(3px); }

/* Icon badge — bottom right corner peeking out */
.wwd-card-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px 0 14px 0;
  background: var(--ic-bg, #A50505);
  box-shadow: 0 4px 18px var(--ic-glow, rgba(165,5,5,.35));
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
  flex-shrink: 0;
  position: relative;
  margin-bottom: -1.6rem;
  margin-right: -1.8rem;
  transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s;
}
.wwd-card:hover .wwd-card-icon {
  transform: scale(1.1) rotate(-5deg);
  box-shadow: 0 8px 24px var(--ic-glow, rgba(165,5,5,.45));
}

/* ── Responsive ── */
@media(max-width:1100px) { .wwd-grid { gap: 1rem; } }
@media(max-width:991px) {
  #what-we-do { padding: 3.5rem 0 4.5rem; }
  .wwd-grid { grid-template-columns: repeat(2,1fr); }
  .wwd-empty { display: none; }
}
@media(max-width:767px) {
  #what-we-do { padding: 2.75rem 0 3.5rem; }
  .wwd-h2 { font-size: clamp(1.7rem,6vw,2.3rem); }
  .wwd-grid { grid-template-columns: 1fr; gap: .85rem; }
  .wwd-card { padding: 1.4rem 1.4rem 1.35rem; border-radius: 16px; }
  .wwd-card-icon { width: 44px; height: 44px; font-size: 1.05rem; border-radius: 12px 0 12px 0; margin-bottom: -1.35rem; margin-right: -1.4rem; }
}

/* ════════════════════════════════════════════════════════
   EVENT COUNTDOWN SECTION
════════════════════════════════════════════════════════ */
#event-countdown {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 6rem 1.5rem;
}

/* Background photo */
.cd-bg {
  position: absolute;
  inset: 0;
  background-image: url('https://images.unsplash.com/photo-1470229722913-7c0e2dbbafd3?w=1600&q=80&auto=format&fit=crop');
  background-size: cover;
  background-position: center;
  z-index: 0;
}

/* Warm brand overlay */
.cd-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(12, 6, 2, 0.84) 0%,
    rgba(100, 8, 8, 0.76) 45%,
    rgba(28, 10, 2, 0.90) 100%
  );
  z-index: 1;
}

/* Grid texture */
.cd-grid {
  position: absolute;
  inset: 0;
  z-index: 2;
  background-image:
    linear-gradient(rgba(253,239,212,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(253,239,212,.04) 1px, transparent 1px);
  background-size: 60px 60px;
}

/* Glow orbs */
.cd-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
  filter: blur(65px);
}
.cd-orb-a {
  width: 560px; height: 560px;
  top: -130px; left: -110px;
  background: radial-gradient(circle, rgba(165,5,5,0.42), transparent 70%);
  animation: cd-drift 9s ease-in-out infinite alternate;
}
.cd-orb-b {
  width: 420px; height: 420px;
  bottom: -90px; right: -70px;
  background: radial-gradient(circle, rgba(200,56,10,0.36), transparent 70%);
  animation: cd-drift 11s ease-in-out infinite alternate-reverse;
}
.cd-orb-c {
  width: 320px; height: 320px;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(253,239,212,0.06), transparent 70%);
  animation: cd-pulse 6s ease-in-out infinite;
}
@keyframes cd-drift {
  from { transform: translate(0,0) scale(1); }
  to   { transform: translate(28px, 18px) scale(1.07); }
}
@keyframes cd-pulse {
  0%, 100% { opacity: .4; transform: translate(-50%,-50%) scale(1); }
  50%       { opacity: .9; transform: translate(-50%,-50%) scale(1.14); }
}

/* ── Content ── */
.cd-content {
  position: relative;
  z-index: 10;
  text-align: center;
  max-width: 800px;
  width: 100%;
}

/* Tag pill */
.cd-tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: 'DM Sans', sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sky);
  background: rgba(165,5,5,.28);
  border: 1px solid rgba(253,239,212,.22);
  border-radius: 50px;
  padding: .38rem 1rem;
  margin-bottom: 1.6rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.cd-pip {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #C8380A;
  box-shadow: 0 0 8px rgba(200,56,10,.8);
  animation: cd-blink 1.4s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes cd-blink {
  0%, 100% { opacity: 1; } 50% { opacity: .25; }
}

/* Headline */
.cd-headline {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: clamp(2.6rem, 6vw, 4.2rem);
  font-weight: 800;
  line-height: 1.08;
  color: #fff;
  margin-bottom: .3rem;
  letter-spacing: -.02em;
}
.cd-headline em {
  font-style: italic;
  font-family: 'Gelasio', serif;
  background: var(--grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

/* Sub */
.cd-sub {
  font-size: 1rem;
  font-weight: 400;
  color: rgba(253,239,212,.72);
  max-width: 540px;
  margin: 1.2rem auto 2.8rem;
  line-height: 1.72;
}

/* ── Timer row ── */
.cd-timer-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

.cd-time-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  min-width: 114px;
}

.cd-time-box {
  background: rgba(253,239,212,.07);
  border: 1px solid rgba(253,239,212,.14);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 18px;
  padding: 1.3rem 1.5rem;
  min-width: 114px;
  position: relative;
  overflow: hidden;
  transition: transform .22s, border-color .22s, box-shadow .22s;
}
.cd-time-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(253,239,212,.28), transparent);
}
.cd-time-box:hover {
  transform: translateY(-4px);
  border-color: rgba(165,5,5,.5);
  box-shadow: 0 12px 32px rgba(165,5,5,.22);
}

/* Flip animation */
.cd-time-box.cd-flip .cd-num {
  animation: cd-flip-in .32s ease;
}
@keyframes cd-flip-in {
  from { transform: translateY(-12px); opacity: 0; }
  to   { transform: translateY(0);     opacity: 1; }
}

.cd-num {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 2.9rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  letter-spacing: -.03em;
  display: block;
}

.cd-unit {
  font-family: 'DM Sans', sans-serif;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(253,239,212,.55);
}

/* Colon separator */
.cd-sep {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 2.4rem;
  font-weight: 800;
  color: rgba(165,5,5,.85);
  line-height: 1;
  margin-bottom: 1.5rem;
  animation: cd-blink 1.1s ease-in-out infinite;
}

/* ── CTA row ── */
.cd-cta-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.cd-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: 'DM Sans', sans-serif;
  font-size: .95rem;
  font-weight: 700;
  color: var(--sky);
  background: var(--grad);
  border: none;
  border-radius: 50px;
  padding: .85rem 2rem;
  cursor: pointer;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 6px 28px rgba(165,5,5,.45), 0 1px 0 rgba(255,255,255,.1) inset;
}
.cd-btn-primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.15), transparent);
  border-radius: inherit;
  opacity: 0;
  transition: opacity .2s;
}
.cd-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(165,5,5,.6);
  color: var(--sky);
  text-decoration: none;
}
.cd-btn-primary:hover::before { opacity: 1; }

.cd-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: 'DM Sans', sans-serif;
  font-size: .95rem;
  font-weight: 600;
  color: rgba(253,239,212,.85);
  background: rgba(253,239,212,.08);
  border: 1.5px solid rgba(253,239,212,.25);
  border-radius: 50px;
  padding: .85rem 2rem;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s, border-color .2s, color .2s, transform .2s;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.cd-btn-ghost:hover {
  background: rgba(253,239,212,.16);
  border-color: rgba(253,239,212,.5);
  color: #fff;
  transform: translateY(-2px);
  text-decoration: none;
}

/* ── Responsive ── */
@media(max-width:600px) {
  #event-countdown { padding: 4rem 1rem; }
  .cd-timer-row { gap: .35rem; }
  .cd-time-block { min-width: 74px; }
  .cd-time-box { min-width: 74px; padding: .9rem .8rem; border-radius: 14px; }
  .cd-num { font-size: 2rem; }
  .cd-sep { font-size: 1.7rem; margin-bottom: 1.1rem; }
  .cd-headline { font-size: 2.2rem; }
  .cd-sub { font-size: .9rem; }
}

/* ════════════════════════════════════════════════════════
   ABOUT US — INFO CARDS (Growth + Belonging & Mission)
════════════════════════════════════════════════════════ */

/* Shared card base */
.au-info-card {
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(165,5,5,.12);
  border-radius: 14px;
  padding: 1.1rem 1.25rem;
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: border-color .25s, box-shadow .25s, background .25s;
}
.au-info-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(165,5,5,.04) 0%, transparent 60%);
  pointer-events: none;
}
.au-info-card:hover {
  background: rgba(255,255,255,.80);
  border-color: rgba(165,5,5,.28);
  box-shadow: 0 8px 28px rgba(165,5,5,.10);
}

/* Card 1 — Tagline style (left accent border + icon + text inline) */
.au-info-card--tagline {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  border-left: 3px solid #A50505;
  border-radius: 0 14px 14px 0;
}
.au-info-card--tagline .au-info-card-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background: rgba(165,5,5,.10);
  border: 1px solid rgba(165,5,5,.18);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  color: #A50505;
  margin-top: .05rem;
}
.au-info-card--tagline p {
  font-family: 'DM Sans', sans-serif;
  font-size: .88rem;
  color: #5c3a1e;
  line-height: 1.65;
  margin: 0;
}
.au-info-card--tagline p strong {
  color: #1A1A1A;
  font-weight: 700;
}

/* Card 2 — Mission style (header + body + pill tags) */
.au-info-card--mission {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.au-info-card-header {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: 'DM Sans', sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #A50505;
}
.au-info-card-header i {
  font-size: .85rem;
}
.au-info-card-body {
  font-family: 'DM Sans', sans-serif;
  font-size: .875rem;
  color: #5c3a1e;
  line-height: 1.72;
  margin: 0;
}
.au-info-card-body strong {
  color: #1A1A1A;
  font-weight: 700;
}
.au-info-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.au-info-tag {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  font-family: 'DM Sans', sans-serif;
  font-size: .76rem;
  font-weight: 500;
  color: #3a1e0a;
  background: rgba(165,5,5,.07);
  border: 1px solid rgba(165,5,5,.16);
  border-radius: 50px;
  padding: .32rem .85rem;
  transition: background .2s, border-color .2s, color .2s;
}
.au-info-tag i {
  color: #A50505;
  font-size: .75rem;
}
.au-info-tag:hover {
  background: rgba(165,5,5,.14);
  border-color: rgba(165,5,5,.32);
  color: #A50505;
}

/* Responsive */
@media(max-width:767px) {
  .au-info-card-tags { gap: .4rem; }
  .au-info-tag { font-size: .72rem; padding: .28rem .7rem; }
}


/* ════════════════════════════════════════════════════════
   EVENT CALENDAR POPUP — Full Calendar Style
════════════════════════════════════════════════════════ */

/* Overlay backdrop */
.cal-overlay {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(10, 4, 2, 0.62);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  opacity: 0; pointer-events: none;
  transition: opacity .28s cubic-bezier(.4,0,.2,1);
}
.cal-overlay.open { opacity: 1; pointer-events: all; }

/* Modal shell */
.cal-modal {
  background: #fff;
  border-radius: 24px;
  box-shadow:
    0 40px 100px rgba(165,5,5,.22),
    0 8px 32px rgba(0,0,0,.12),
    0 0 0 1px rgba(165,5,5,.08) inset;
  width: 100%; max-width: 960px;
  max-height: 90vh;
  display: flex; flex-direction: column;
  overflow: hidden;
  transform: translateY(28px) scale(.96);
  transition: transform .35s cubic-bezier(.34,1.56,.64,1);
}
.cal-overlay.open .cal-modal { transform: translateY(0) scale(1); }

/* ── Top bar ── */
.cal-topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.4rem .85rem;
  background: linear-gradient(to bottom, rgba(253,239,212,.55) 0%, rgba(255,255,255,0) 100%);
  border-bottom: 1px solid rgba(165,5,5,.1);
  flex-shrink: 0; gap: 1rem; flex-wrap: wrap;
}
.cal-topbar-left { display: flex; align-items: center; gap: .5rem; }
.cal-topbar-right { display: flex; align-items: center; gap: .6rem; }

/* Today button */
.cal-today-btn {
  font-family: 'DM Sans', sans-serif; font-size: .8rem; font-weight: 600;
  color: var(--blue); background: rgba(165,5,5,.07);
  border: 1.5px solid rgba(165,5,5,.22); border-radius: 8px;
  padding: .38rem .9rem; cursor: pointer;
  transition: background .18s, border-color .18s, color .18s, transform .15s;
}
.cal-today-btn:hover {
  background: var(--blue); color: #fff;
  border-color: var(--blue); transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(165,5,5,.28);
}

/* Nav arrows */
.cal-nav-btn {
  width: 34px; height: 34px; border-radius: 9px;
  border: 1.5px solid rgba(165,5,5,.18);
  background: #fff; color: var(--t3); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: .82rem;
  transition: background .18s, color .18s, border-color .18s, transform .15s, box-shadow .18s;
}
.cal-nav-btn:hover {
  background: var(--blue); color: #fff;
  border-color: var(--blue); transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(165,5,5,.28);
}

/* Month/Year title */
.cal-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.3rem; font-weight: 800; color: var(--t1);
  letter-spacing: -.03em; margin-left: .3rem;
}

/* View switcher */
.cal-view-switcher {
  display: flex;
  background: rgba(165,5,5,.06);
  border: 1.5px solid rgba(165,5,5,.16);
  border-radius: 10px;
  overflow: hidden;
  padding: 3px;
  gap: 2px;
}
.cal-view-btn {
  font-family: 'DM Sans', sans-serif; font-size: .78rem; font-weight: 600;
  padding: .32rem .78rem; border: none; background: transparent; color: var(--t3);
  cursor: pointer; border-radius: 7px;
  transition: background .18s, color .18s, box-shadow .18s;
}
.cal-view-btn:hover { background: rgba(165,5,5,.1); color: var(--blue); }
.cal-view-btn.active {
  background: var(--grad); color: #fff;
  box-shadow: 0 2px 8px rgba(165,5,5,.3);
}

/* Close button */
.cal-close {
  width: 34px; height: 34px; border-radius: 9px;
  border: 1.5px solid rgba(165,5,5,.18);
  background: rgba(165,5,5,.06); color: var(--blue);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  font-size: .82rem;
  transition: background .18s, color .18s, transform .15s, box-shadow .18s;
}
.cal-close:hover {
  background: var(--blue); color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(165,5,5,.3);
}

/* ── CRITICAL FIX: Weekday header + Grid must share identical column layout ── */
/* Use a wrapper so both share the SAME grid context and column widths */
.cal-grid-wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
  /* No padding here — padding must NOT exist on the container that holds both header & grid */
}

/* ── Weekday header row ── */
.cal-weekdays {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-bottom: 1.5px solid rgba(165,5,5,.12);
  flex-shrink: 0;
  /* CRITICAL: zero margin/padding so columns align pixel-perfect with grid below */
  margin: 0; padding: 0;
  background: linear-gradient(to bottom, rgba(253,239,212,.3), rgba(255,255,255,0));
}
.cal-weekdays div {
  padding: .6rem .4rem;
  text-align: center; font-size: .65rem; font-weight: 800;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--blue);
  /* Use border-right approach — same as grid cells */
  border-right: 1px solid rgba(165,5,5,.07);
  box-sizing: border-box;
}
.cal-weekdays div:last-child { border-right: none; }
/* Highlight weekend headers */
.cal-weekdays div:first-child,
.cal-weekdays div:last-child {
  color: rgba(165,5,5,.5);
}

/* ── Month Grid ── */
.cal-month-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  flex: 1; overflow-y: auto;
  /* CRITICAL: zero margin/padding so columns align with header above */
  margin: 0; padding: 0;
}

.cal-cell {
  min-height: 105px;
  border-right: 1px solid rgba(165,5,5,.08);
  border-bottom: 1px solid rgba(165,5,5,.08);
  padding: .45rem .4rem .4rem;
  display: flex; flex-direction: column; gap: 3px;
  background: #fff;
  transition: background .15s;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}
.cal-cell:nth-child(7n) { border-right: none; }
.cal-cell:hover { background: rgba(253,239,212,.5); }
/* Subtle weekend column tint */
.cal-cell:nth-child(7n+1),
.cal-cell:nth-child(7n) {
  background: rgba(253,239,212,.18);
}
.cal-cell:nth-child(7n+1):hover,
.cal-cell:nth-child(7n):hover {
  background: rgba(253,239,212,.55);
}

.cal-other-month { background: #fafafa !important; }
.cal-other-month .cal-day-num { color: #d0d0d0 !important; }

/* Day number */
.cal-day-num {
  font-size: .78rem; font-weight: 700; color: var(--t3);
  text-align: right; line-height: 1; margin-bottom: .1rem;
  flex-shrink: 0;
  font-family: 'Bricolage Grotesque', sans-serif;
}

/* Today circle */
.cal-today-circle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--grad); color: #fff;
  font-size: .8rem; font-weight: 800;
  box-shadow: 0 2px 8px rgba(165,5,5,.35);
}

/* Event pills inside cells */
.cal-ev-pill {
  display: flex; align-items: center; gap: .22rem;
  width: 100%; text-align: left; border: none; cursor: pointer;
  border-radius: 5px; padding: .2rem .38rem;
  background: color-mix(in srgb, var(--ev-color) 13%, #fff);
  border-left: 3px solid var(--ev-color);
  font-family: 'DM Sans', sans-serif;
  font-size: .69rem; line-height: 1.25;
  transition: background .15s, transform .12s, box-shadow .15s;
  white-space: nowrap; overflow: hidden;
  box-sizing: border-box;
}
.cal-ev-pill:hover {
  background: color-mix(in srgb, var(--ev-color) 22%, #fff);
  transform: translateX(2px);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--ev-color) 25%, transparent);
}

.cal-ev-time {
  font-weight: 800; color: var(--ev-color);
  font-size: .62rem; flex-shrink: 0;
}
.cal-ev-name {
  color: var(--t1); font-weight: 500;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* ── Week View ── */
.cal-week-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  flex: 1; overflow-y: auto;
  margin: 0; padding: 0;
}

.cal-week-col {
  border-right: 1px solid rgba(165,5,5,.08);
  padding: .5rem .3rem;
  display: flex; flex-direction: column; gap: .4rem;
  min-height: 200px;
  background: #fff;
  transition: background .15s;
}
.cal-week-col:last-child { border-right: none; }
.cal-week-col:nth-child(1),
.cal-week-col:nth-child(7) { background: rgba(253,239,212,.18); }

.cal-week-today {
  background: rgba(165,5,5,.04) !important;
  border-top: 2px solid var(--blue);
}

.cal-week-empty { flex: 1; }

.cal-week-pill {
  display: flex; flex-direction: column; gap: .1rem;
  width: 100%; text-align: left; border: none; cursor: pointer;
  border-radius: 7px; padding: .4rem .45rem;
  background: color-mix(in srgb, var(--ev-color) 13%, #fff);
  border-left: 3px solid var(--ev-color);
  font-family: 'DM Sans', sans-serif;
  transition: background .15s, transform .12s, box-shadow .15s;
}
.cal-week-pill:hover {
  background: color-mix(in srgb, var(--ev-color) 22%, #fff);
  transform: translateX(2px);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--ev-color) 25%, transparent);
}
.cal-week-pill-time {
  font-size: .6rem; font-weight: 800;
  color: var(--ev-color); line-height: 1;
}
.cal-week-pill-title {
  font-size: .7rem; font-weight: 700; color: var(--t1);
  line-height: 1.2; overflow: hidden; text-overflow: ellipsis;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.cal-week-pill-loc {
  font-size: .6rem; color: var(--t4); font-weight: 500;
  display: flex; align-items: center; gap: .2rem;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cal-week-pill-loc i { font-size: .58rem; color: var(--blue); }

/* Week header date numbers */
.wk-hdr-name { display: block; font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.wk-hdr-date {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 50%;
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: .82rem; font-weight: 800; margin-top: .15rem;
}
.wk-hdr-today {
  background: var(--grad); color: #fff;
  box-shadow: 0 2px 8px rgba(165,5,5,.35);
}

/* ── Day View ── */
.cal-day-grid {
  flex: 1; overflow-y: auto;
  display: flex; flex-direction: column;
  padding: 1.2rem 1.4rem;
  gap: .8rem;
}

.cal-day-hdr {
  display: flex; align-items: center; gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1.5px solid rgba(165,5,5,.1);
}
.cal-day-hdr-circle {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 60px; height: 60px; border-radius: 50%;
  background: rgba(165,5,5,.06); border: 2px solid rgba(165,5,5,.15);
  flex-shrink: 0;
}
.cal-day-hdr-circle.today {
  background: var(--grad); border-color: transparent;
  box-shadow: 0 4px 16px rgba(165,5,5,.35);
}
.cal-day-hdr-circle.today .cal-day-hdr-num,
.cal-day-hdr-circle.today .cal-day-hdr-wday { color: #fff; }
.cal-day-hdr-num {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.3rem; font-weight: 800; color: var(--t1); line-height: 1;
}
.cal-day-hdr-wday {
  font-size: .55rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: var(--t3);
}
.cal-day-hdr-count {
  font-family: 'DM Sans', sans-serif; font-size: .82rem; font-weight: 600;
  color: var(--t3); background: rgba(165,5,5,.07);
  border: 1px solid rgba(165,5,5,.14); border-radius: 50px;
  padding: .3rem .85rem;
}

.cal-day-empty {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: .5rem;
  color: var(--t4); font-size: .9rem;
}

.cal-day-card {
  display: flex; align-items: stretch; gap: 0;
  background: #fff; border: 1px solid rgba(165,5,5,.1);
  border-radius: 14px; overflow: hidden; cursor: pointer;
  text-align: left; font-family: 'DM Sans', sans-serif;
  box-shadow: 0 2px 8px rgba(165,5,5,.06);
  transition: transform .18s, box-shadow .18s, background .15s;
  width: 100%;
}
.cal-day-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--ev-color) 22%, rgba(0,0,0,.06));
  background: color-mix(in srgb, var(--ev-color) 4%, #fff);
}
.cal-day-card-bar {
  width: 5px; flex-shrink: 0;
  background: var(--ev-color);
}
.cal-day-card-body {
  flex: 1; padding: .85rem 1rem;
  display: flex; flex-direction: column; gap: .35rem;
}
.cal-day-card-top {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
}
.cal-day-card-cat {
  font-size: .68rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: var(--ev-color);
  background: color-mix(in srgb, var(--ev-color) 12%, #fff);
  border: 1px solid color-mix(in srgb, var(--ev-color) 25%, transparent);
  border-radius: 50px; padding: .18rem .6rem;
}
.cal-day-card-price {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: .9rem; font-weight: 800; color: var(--t1);
}
.cal-day-card-price.free {
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}
.cal-day-card-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.05rem; font-weight: 800; color: var(--t1);
  letter-spacing: -.02em; line-height: 1.25;
}
.cal-day-card-meta {
  display: flex; align-items: center; gap: 1rem;
  font-size: .77rem; color: var(--t3); font-weight: 500;
}
.cal-day-card-meta span { display: flex; align-items: center; gap: .3rem; }
.cal-day-card-meta i { color: var(--blue); font-size: .72rem; }

/* ── List View ── */
.cal-list-grid {
  flex: 1; overflow-y: auto;
  display: flex; flex-direction: column;
  padding: .8rem 1.2rem;
  gap: .5rem;
}

.cal-list-empty {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: .5rem;
  color: var(--t4); font-size: .9rem; padding: 3rem;
}
.cal-list-empty i { font-size: 2rem; }

.cal-list-row {
  display: flex; align-items: stretch; gap: .9rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid rgba(165,5,5,.07);
}
.cal-list-row:last-child { border-bottom: none; }

.cal-list-date {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-width: 42px; text-align: center;
}
.cal-list-day { font-family: 'Bricolage Grotesque', sans-serif; font-size: 1.4rem; font-weight: 800; color: var(--t1); line-height: 1; }
.cal-list-weekday { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--t4); }

.cal-list-ev {
  flex: 1; display: flex; align-items: center; gap: .75rem;
  background: color-mix(in srgb, var(--ev-color) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--ev-color) 20%, transparent);
  border-left: 4px solid var(--ev-color);
  border-radius: 10px; padding: .7rem .9rem;
  cursor: pointer; text-align: left;
  transition: background .18s, transform .14s, box-shadow .18s;
  font-family: 'DM Sans', sans-serif;
}
.cal-list-ev:hover {
  background: color-mix(in srgb, var(--ev-color) 14%, #fff);
  transform: translateX(2px);
  box-shadow: 0 4px 16px color-mix(in srgb, var(--ev-color) 20%, transparent);
}

.cal-list-bar { width: 0; } /* hidden, border-left handles color */
.cal-list-info { flex: 1; display: flex; flex-direction: column; gap: .18rem; }
.cal-list-title { font-size: .9rem; font-weight: 700; color: var(--t1); }
.cal-list-meta { font-size: .73rem; color: var(--t3); display: flex; align-items: center; gap: .25rem; }
.cal-list-meta i { color: var(--blue); font-size: .68rem; }

.cal-list-price {
  font-family: 'Bricolage Grotesque', sans-serif; font-size: .9rem; font-weight: 800;
  color: var(--t1); flex-shrink: 0;
}
.cal-list-price.free {
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}

/* Scrollbars */
.cal-month-grid::-webkit-scrollbar,
.cal-list-grid::-webkit-scrollbar,
.cal-week-grid::-webkit-scrollbar,
.cal-day-grid::-webkit-scrollbar { width: 4px; }
.cal-month-grid::-webkit-scrollbar-track,
.cal-list-grid::-webkit-scrollbar-track,
.cal-week-grid::-webkit-scrollbar-track,
.cal-day-grid::-webkit-scrollbar-track { background: transparent; }
.cal-month-grid::-webkit-scrollbar-thumb,
.cal-list-grid::-webkit-scrollbar-thumb,
.cal-week-grid::-webkit-scrollbar-thumb,
.cal-day-grid::-webkit-scrollbar-thumb { background: rgba(165,5,5,.18); border-radius: 4px; }

/* ── Week View ── */
.cal-week-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  flex: 1; overflow-y: auto;
  margin: 0; padding: 0;
}

.cal-week-col {
  border-right: 1px solid rgba(165,5,5,.08);
  padding: .55rem .35rem;
  display: flex; flex-direction: column; gap: .4rem;
  min-height: 220px;
  background: #fff;
  transition: background .15s;
  box-sizing: border-box;
}
.cal-week-col:last-child { border-right: none; }
.cal-week-col:nth-child(1),
.cal-week-col:nth-child(7) { background: rgba(253,239,212,.18); }

.cal-week-today {
  background: rgba(253,239,212,.45) !important;
  box-shadow: inset 0 0 0 1.5px rgba(165,5,5,.18);
}

.cal-week-empty {
  flex: 1;
}

.cal-week-pill {
  display: flex; flex-direction: column; gap: .1rem;
  width: 100%; text-align: left; border: none; cursor: pointer;
  border-radius: 7px; padding: .4rem .45rem;
  background: color-mix(in srgb, var(--ev-color) 13%, #fff);
  border-left: 3px solid var(--ev-color);
  font-family: 'DM Sans', sans-serif;
  transition: background .15s, transform .12s, box-shadow .15s;
  box-sizing: border-box;
}
.cal-week-pill:hover {
  background: color-mix(in srgb, var(--ev-color) 22%, #fff);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--ev-color) 25%, transparent);
}

.cal-week-pill-time {
  font-size: .63rem; font-weight: 800; color: var(--ev-color);
  line-height: 1;
}
.cal-week-pill-title {
  font-size: .72rem; font-weight: 700; color: var(--t1);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  line-height: 1.2;
}
.cal-week-pill-loc {
  font-size: .63rem; color: var(--t4);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  display: flex; align-items: center; gap: .15rem;
}
.cal-week-pill-loc i { font-size: .6rem; color: var(--blue); }

/* Week view weekday header — overrides for date numbers */
.wk-hdr-name {
  display: block;
  font-size: .62rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .08em;
}
.wk-hdr-date {
  display: inline-flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 50%;
  font-size: .88rem; font-weight: 800;
  font-family: 'Bricolage Grotesque', sans-serif;
  margin-top: .15rem;
}
.wk-hdr-today {
  background: var(--grad); color: #fff;
  box-shadow: 0 2px 8px rgba(165,5,5,.3);
}

/* Make weekday header cells flex-column when in week view */
.cal-week-grid ~ .cal-weekdays div,
.cal-weekdays div {
  display: flex; flex-direction: column; align-items: center;
}

/* ── Day View ── */
.cal-day-grid {
  flex: 1; overflow-y: auto;
  display: flex; flex-direction: column;
  padding: 1rem 1.4rem 1.4rem;
  gap: .75rem;
}

.cal-day-hdr {
  display: flex; align-items: center; gap: 1rem;
  padding-bottom: .8rem;
  border-bottom: 1.5px solid rgba(165,5,5,.1);
}

.cal-day-hdr-circle {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 58px; height: 58px; border-radius: 16px;
  background: rgba(165,5,5,.07);
  border: 1.5px solid rgba(165,5,5,.14);
}
.cal-day-hdr-circle.today {
  background: var(--grad);
  border-color: transparent;
  box-shadow: 0 4px 16px rgba(165,5,5,.3);
}
.cal-day-hdr-circle.today .cal-day-hdr-num,
.cal-day-hdr-circle.today .cal-day-hdr-wday { color: #fff; }

.cal-day-hdr-num {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.5rem; font-weight: 800; color: var(--t1); line-height: 1;
}
.cal-day-hdr-wday {
  font-size: .6rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: var(--t3); line-height: 1;
}

.cal-day-hdr-count {
  font-size: .8rem; font-weight: 600; color: var(--t4);
  font-family: 'DM Sans', sans-serif;
}

.cal-day-empty {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: .6rem;
  color: var(--t4); font-size: .9rem;
  font-family: 'DM Sans', sans-serif;
}

.cal-day-card {
  display: flex; align-items: stretch; gap: 0;
  width: 100%; text-align: left; border: none; cursor: pointer;
  border-radius: 14px; overflow: hidden;
  background: color-mix(in srgb, var(--ev-color) 9%, #fff);
  border: 1px solid color-mix(in srgb, var(--ev-color) 22%, transparent);
  font-family: 'DM Sans', sans-serif;
  transition: background .18s, transform .14s, box-shadow .18s;
}
.cal-day-card:hover {
  background: color-mix(in srgb, var(--ev-color) 16%, #fff);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--ev-color) 22%, transparent);
}

.cal-day-card-bar {
  width: 5px; flex-shrink: 0;
  background: var(--ev-color);
  border-radius: 0;
}

.cal-day-card-body {
  flex: 1; padding: .9rem 1rem;
  display: flex; flex-direction: column; gap: .35rem;
}

.cal-day-card-top {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
}

.cal-day-card-cat {
  font-size: .68rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; color: var(--ev-color);
  background: color-mix(in srgb, var(--ev-color) 12%, transparent);
  padding: .18rem .55rem; border-radius: 50px;
}

.cal-day-card-price {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: .9rem; font-weight: 800; color: var(--t1);
}
.cal-day-card-price.free {
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}

.cal-day-card-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.05rem; font-weight: 800; color: var(--t1);
  letter-spacing: -.02em; line-height: 1.2;
}

.cal-day-card-meta {
  display: flex; align-items: center; gap: .8rem; flex-wrap: wrap;
  font-size: .76rem; color: var(--t3);
}
.cal-day-card-meta span {
  display: flex; align-items: center; gap: .25rem;
}
.cal-day-card-meta i { color: var(--blue); font-size: .7rem; }

/* ════════════════════════════════════════════════════════
   EVENT DETAIL PANEL
════════════════════════════════════════════════════════ */
.ev-detail-overlay {
  position: fixed; inset: 0; z-index: 9500;
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  background: rgba(10, 4, 2, 0.65);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  opacity: 0; pointer-events: none;
  transition: opacity .28s cubic-bezier(.4,0,.2,1);
}
.ev-detail-overlay.open { opacity: 1; pointer-events: all; }

.ev-detail-panel {
  background: var(--bg);
  border-radius: 24px;
  width: 100%; max-width: 520px;
  max-height: 90vh; overflow-y: auto;
  box-shadow: var(--lg), 0 0 0 1px rgba(255,255,255,.7) inset;
  border: 1px solid rgba(165,5,5,.12);
  transform: translateX(40px) scale(.97);
  transition: transform .32s cubic-bezier(.34,1.56,.64,1);
}
.ev-detail-overlay.open .ev-detail-panel { transform: translateX(0) scale(1); }

.ev-detail-back {
  display: inline-flex; align-items: center; gap: .45rem;
  margin: 1.2rem 1.4rem .4rem;
  font-size: .8rem; font-weight: 600; color: var(--blue);
  background: rgba(165,5,5,.08); border: 1px solid rgba(165,5,5,.16);
  border-radius: 50px; padding: .38rem .9rem;
  cursor: pointer; transition: background .18s, transform .15s;
}
.ev-detail-back:hover { background: rgba(165,5,5,.14); transform: translateX(-2px); }

.ev-detail-hero {
  position: relative; height: 200px; overflow: hidden;
  margin: 0 1.4rem; border-radius: 16px;
}
.ev-detail-img { width: 100%; height: 100%; object-fit: cover; }
.ev-detail-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(12,4,2,.7) 0%, transparent 55%);
}
.ev-detail-badge-wrap { position: absolute; bottom: .8rem; left: .8rem; }
.ev-detail-cat {
  font-size: .7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .07em; padding: .28rem .7rem;
  background: var(--grad); color: #fff; border-radius: 50px;
}

.ev-detail-body { padding: 1.2rem 1.4rem 1.6rem; }
.ev-detail-meta-row { display: flex; flex-wrap: wrap; gap: .5rem .9rem; margin-bottom: .9rem; }
.ev-detail-meta-item { display: flex; align-items: center; gap: .3rem; font-size: .78rem; color: var(--t3); font-weight: 500; }
.ev-detail-meta-item i { color: var(--blue); }

.ev-detail-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.45rem; font-weight: 800; color: var(--t1);
  letter-spacing: -.02em; line-height: 1.2; margin-bottom: .8rem;
}
.ev-detail-desc { font-size: .88rem; color: var(--t3); line-height: 1.65; margin-bottom: 1.4rem; }

.ev-detail-price-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.ev-detail-price { font-size: 1.3rem; font-weight: 800; font-family: 'Bricolage Grotesque', sans-serif; }
.ev-detail-price.free { background: var(--grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.ev-detail-price.paid { color: var(--t1); }

.ev-detail-cta {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .65rem 1.4rem; border-radius: 50px;
  background: var(--grad); color: #fff;
  font-weight: 700; font-size: .88rem;
  text-decoration: none;
  box-shadow: 0 4px 18px rgba(165,5,5,.28);
  transition: transform .18s, box-shadow .18s;
}
.ev-detail-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(165,5,5,.38); color: #fff; }

.ev-detail-panel::-webkit-scrollbar { width: 4px; }
.ev-detail-panel::-webkit-scrollbar-track { background: transparent; }
.ev-detail-panel::-webkit-scrollbar-thumb { background: rgba(165,5,5,.2); border-radius: 4px; }

/* Responsive */
@media (max-width: 640px) {
  .cal-modal { border-radius: 14px; }
  .cal-cell { min-height: 72px; }
  .cal-ev-pill { font-size: .64rem; }
  .cal-view-switcher { display: none; }
  .cal-title { font-size: 1rem; }
  .ev-detail-hero { height: 150px; }
  .ev-detail-title { font-size: 1.15rem; }
}

/* ════════════════════════════════════════════════════════
   MEMBERSHIP COMING SOON POPUP
════════════════════════════════════════════════════════ */
.member-overlay {
  position: fixed; inset: 0; z-index: 9900;
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  background: rgba(10, 4, 2, 0.62);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  opacity: 0; pointer-events: none;
  transition: opacity .3s cubic-bezier(.4,0,.2,1);
}
.member-overlay.open { opacity: 1; pointer-events: all; }

.member-modal {
  position: relative; overflow: hidden;
  background: var(--bg);
  border-radius: 28px;
  width: 100%; max-width: 480px;
  padding: 2.4rem 2.2rem 2rem;
  box-shadow: var(--lg), 0 0 0 1px rgba(255,255,255,.75) inset;
  border: 1px solid rgba(165,5,5,.13);
  transform: translateY(28px) scale(.96);
  transition: transform .38s cubic-bezier(.34,1.56,.64,1);
  text-align: center;
}
.member-overlay.open .member-modal { transform: translateY(0) scale(1); }

/* Decorative orbs */
.member-orb {
  position: absolute; border-radius: 50%; pointer-events: none;
  filter: blur(60px); animation: orbPulse 7s ease-in-out infinite;
}
.member-orb-1 {
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(165,5,5,.18) 0%, transparent 70%);
  top: -80px; right: -80px; animation-delay: 0s;
}
.member-orb-2 {
  width: 200px; height: 200px;
  background: radial-gradient(circle, rgba(200,56,10,.14) 0%, transparent 70%);
  bottom: -60px; left: -60px; animation-delay: 3.5s;
}

/* Close button */
.member-close {
  position: absolute; top: 1rem; right: 1rem;
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(165,5,5,.08); border: 1px solid rgba(165,5,5,.14);
  color: var(--t3); font-size: .8rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .18s, color .18s, transform .15s;
  z-index: 2;
}
.member-close:hover { background: rgba(165,5,5,.16); color: var(--blue); transform: scale(1.08); }

/* Badge */
.member-badge {
  display: inline-flex; align-items: center; gap: .45rem;
  font-family: 'DM Sans', sans-serif; font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .09em; color: var(--blue);
  background: rgba(165,5,5,.09); border: 1px solid rgba(165,5,5,.18);
  border-radius: 50px; padding: .32rem .85rem;
  margin-bottom: 1.1rem;
}
.member-badge-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--grad);
  animation: blink 1.8s ease-in-out infinite;
}

/* Icon */
.member-icon-wrap {
  width: 68px; height: 68px; border-radius: 50%;
  background: var(--grad);
  box-shadow: 0 8px 28px rgba(165,5,5,.32);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto .9rem;
  font-size: 1.6rem; color: #fff;
  animation: floatUp 4s ease-in-out infinite;
}

/* Title */
.member-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.9rem; font-weight: 800; color: var(--t1);
  letter-spacing: -.03em; line-height: 1.18; margin-bottom: .75rem;
}
.member-title em {
  font-style: normal;
  background: var(--grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}

/* Subtitle */
.member-sub {
  font-family: 'DM Sans', sans-serif; font-size: .9rem;
  color: var(--t3); line-height: 1.65;
  max-width: 380px; margin: 0 auto 1.4rem;
}

/* Form */
.member-form {
  display: flex; gap: .55rem; flex-direction: column;
  margin-bottom: .7rem;
}
.member-input-wrap {
  position: relative; display: flex; align-items: center;
}
.member-input-icon {
  position: absolute; left: 1rem; color: var(--t4); font-size: .85rem;
  pointer-events: none; z-index: 1;
  transition: color .2s;
}
.member-input-wrap:focus-within .member-input-icon { color: var(--blue); }

.member-input {
  font-family: 'DM Sans', sans-serif; font-size: .9rem; color: var(--t1);
  width: 100%; padding: .78rem 1rem .78rem 2.6rem;
  background: rgba(255,255,255,.78);
  border: 1.5px solid rgba(165,5,5,.2);
  border-radius: 50px; outline: none;
  transition: border-color .22s, box-shadow .22s, background .22s;
}
.member-input::placeholder { color: var(--t4); font-weight: 400; }
.member-input:focus {
  border-color: rgba(165,5,5,.48);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(165,5,5,.1), 0 4px 14px rgba(165,5,5,.07);
}

.member-submit {
  font-family: 'DM Sans', sans-serif; font-size: .9rem; font-weight: 700;
  padding: .78rem 1.6rem; border-radius: 50px; border: none; cursor: pointer;
  background: var(--grad); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  box-shadow: 0 6px 22px rgba(165,5,5,.3);
  transition: transform .2s, box-shadow .2s, filter .2s;
}
.member-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(165,5,5,.4); filter: brightness(1.06); }
.member-submit:active { transform: translateY(0); }

/* Note */
.member-note {
  font-size: .75rem; color: var(--t4);
  display: flex; align-items: center; justify-content: center; gap: .35rem;
}
.member-note i { color: rgba(165,5,5,.45); }

/* Success state */
.member-success {
  display: none; flex-direction: column;
  align-items: center; gap: .8rem;
  padding: 1rem 0 .5rem; animation: fadeUp .4s ease both;
}
.member-success.show { display: flex; }
.member-success-icon {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--grad);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.5rem;
  box-shadow: 0 6px 22px rgba(165,5,5,.3);
  animation: subtlePulse 2s ease-in-out infinite;
}
.member-success-msg {
  font-family: 'DM Sans', sans-serif; font-size: .95rem; font-weight: 600;
  color: var(--t2); text-align: center;
}

@media (max-width: 520px) {
  .member-modal { padding: 2rem 1.3rem 1.6rem; border-radius: 20px; }
  .member-title { font-size: 1.55rem; }
}


/* ════════════════════════════════════════════════════════
   VIDEO CARD SLIDER — TESTIMONIALS
════════════════════════════════════════════════════════ */

/* Section */
#testimonials {
  background: #fefdfa;
  padding: 5rem 0 5.5rem;
  position: relative; overflow: hidden;
}
#testimonials::before {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(200,56,10,.045) 1px, transparent 1px);
  background-size: 28px 28px; pointer-events: none; z-index: 0;
}

/* Header row */
.vsl-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0rem;
  margin-bottom: 2.4rem;
  flex-wrap: wrap;
}
.vsl-header-left { flex: 1; }

.tm-sub {
  font-family: 'DM Sans', sans-serif; font-size: .92rem;
  color: var(--t3); margin-top: .5rem; line-height: 1.6;
}

/* Arrow buttons — circular outline style like reference */
.vsl-arrows {
  display: flex; gap: .6rem; flex-shrink: 0; align-items: center;
  padding-bottom: .3rem;
}
.vsl-arrow {
  width: 40px; height: 40px; border-radius: 50%;
  background: #fff !important;
  border: 1.5px solid rgba(165,5,5,.28);
  color: var(--t2);
  font-size: .95rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s, transform .18s, box-shadow .2s;
}
.vsl-arrow:hover:not(:disabled) {
  background: var(--grad) !important;
  border-color: transparent;
  color: #fff;
  transform: scale(1.07);
  box-shadow: 0 6px 20px rgba(165,5,5,.3);
}
.vsl-arrow:disabled {
  opacity: .82; cursor: not-allowed;
}

/* Viewport — clips overflow */
.vsl-viewport {
  overflow: hidden;
  margin: 0 -0.2rem;
  padding: 0.2rem;
}

/* Track — flex row that slides */
.vsl-track {
  display: flex;
  gap: 1.25rem;
  transition: transform .6s cubic-bezier(.77,0,.18,1);
  will-change: transform;
}

/* Card */
.vsl-card {
  flex: 0 0 calc(20% - 1rem);   /* 5 visible by default */
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(165,5,5,.09);
  box-shadow: 0 4px 18px rgba(165,5,5,.07), 0 1px 0 rgba(255,255,255,.9) inset;
  overflow: hidden;
  cursor: pointer;
  transition: transform .28s cubic-bezier(.4,0,.2,1), box-shadow .28s;
}
.vsl-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 48px rgba(165,5,5,.14), 0 0 0 1px rgba(165,5,5,.12);
}

/* Thumbnail area */
.vsl-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--t1);
}
.vsl-thumb img,
.vsl-thumb video {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.4,0,.2,1), filter .35s;
  pointer-events: none; /* prevent video from intercepting card clicks */
}
.vsl-card:hover .vsl-thumb img,
.vsl-card:hover .vsl-thumb video {
  transform: scale(1.06);
  filter: brightness(.82);
}
.vsl-thumb-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(12,4,2,.55) 0%, transparent 60%);
  z-index: 1;
}

/* Play button — centered, always visible with subtle style */
.vsl-play {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(255,255,255,.2);
  backdrop-filter: blur(6px);
  border: 2px solid rgba(255,255,255,.55);
  color: #fff; font-size: 1.2rem;
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
  transition: background .25s, border-color .25s, transform .25s, box-shadow .25s;
}
.vsl-card:hover .vsl-play {
  background: var(--grad);
  border-color: transparent;
  box-shadow: 0 6px 24px rgba(165,5,5,.45);
  transform: translate(-50%, -50%) scale(1.1);
}

/* Category badge */
.vsl-cat-badge {
  position: absolute; top: .75rem; left: .75rem; z-index: 3;
  font-family: 'DM Sans', sans-serif; font-size: .62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em;
  padding: .22rem .65rem; border-radius: 50px;
  background: var(--grad); color: #fff;
  box-shadow: 0 2px 10px rgba(165,5,5,.3);
}

/* Info area below thumbnail — like product card */
.vsl-info {
  padding: .95rem 1rem 1.05rem;
}
.vsl-card-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: .95rem; font-weight: 800; color: var(--t1);
  letter-spacing: -.01em; line-height: 1.3;
  margin-bottom: .45rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.vsl-card-meta {
  font-family: 'DM Sans', sans-serif;
  font-size: .76rem; color: var(--t3); font-weight: 500;
  display: flex; align-items: center; gap: .3rem;
}
.vsl-card-meta i { color: var(--blue); font-size: .7rem; }

/* ── Responsive breakpoints ── */
@media (max-width: 1100px) {
  .vsl-card { flex: 0 0 calc(33.333% - 0.84rem); }
}
@media (max-width: 768px) {
  .vsl-card { flex: 0 0 calc(50% - 0.63rem); }
}
@media (max-width: 600px) {
  .vsl-card { flex: 0 0 100%; }
  .vsl-track { gap: 0; }
  .vsl-viewport { margin: 0; padding: 0; overflow: hidden; }
}

/* ════ LIGHTBOX (reused) ════ */
.vg-lightbox {
  position: fixed; inset: 0; z-index: 9800;
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
  opacity: 0; pointer-events: none;
  transition: opacity .28s cubic-bezier(.4,0,.2,1);
}
.vg-lightbox.open { opacity: 1; pointer-events: all; }
.vg-lb-backdrop {
  position: absolute; inset: 0;
  background: rgba(8,3,2,.88);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.vg-lb-box {
  position: relative; z-index: 1;
  width: 100%; max-width: 860px;
  background: var(--bg);
  border-radius: 24px;
  border: 1px solid rgba(165,5,5,.14);
  box-shadow: 0 40px 100px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.08) inset;
  overflow: hidden;
  transform: scale(.94) translateY(16px);
  transition: transform .36s cubic-bezier(.34,1.56,.64,1);
}
.vg-lightbox.open .vg-lb-box { transform: scale(1) translateY(0); }
.vg-lb-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.2rem .8rem;
  border-bottom: 1px solid rgba(165,5,5,.1);
  background: rgba(255,255,255,.5);
}
.vg-lb-info { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.vg-lb-tag {
  font-family: 'DM Sans', sans-serif; font-size: .7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .08em;
  padding: .22rem .65rem; border-radius: 50px;
  background: var(--grad); color: #fff;
}
.vg-lb-date { font-family: 'DM Sans', sans-serif; font-size: .78rem; color: var(--t4); font-weight: 500; }
.vg-lb-title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.05rem; font-weight: 800; color: var(--t1);
  letter-spacing: -.02em; padding: .7rem 1.2rem .4rem;
}
.vg-lb-close {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(165,5,5,.08); border: 1px solid rgba(165,5,5,.14);
  color: var(--t3); font-size: .82rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .18s, color .18s, transform .15s; flex-shrink: 0;
}
.vg-lb-close:hover { background: rgba(165,5,5,.18); color: var(--blue); transform: scale(1.08); }
.vg-lb-frame-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.vg-lb-iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; }


/* ══════════════════════════════════════════════════════
   EVENT DETAIL PAGE
══════════════════════════════════════════════════════ */

/* ════ ADDITIONAL KEYFRAMES ════ */
@keyframes progressFill{from{width:0}to{width:var(--target-w)}}
@keyframes floatBadge{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(-2deg)}}

/* ════ EVENT HERO ════ */
.ev-hero{
  position:relative;min-height:72vh;padding-top:0;margin-top:var(--h-h);
  display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;
}
.ev-hero-bg{position:absolute;inset:0;z-index:0;}
.ev-hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.45) saturate(1.1);}
.ev-hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top, rgba(12,16,36,.92) 0%, rgba(12,16,36,.5) 45%, rgba(12,16,36,.2) 100%);
}
.ev-hero-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(90px);animation:orbPulse 9s ease-in-out infinite;z-index:1;}
.ev-hero-orb-1{width:500px;height:500px;top:-80px;right:-80px;background:radial-gradient(circle,rgba(165,5,5,.28),transparent 70%);}
.ev-hero-orb-2{width:350px;height:350px;bottom:0;left:-60px;background:radial-gradient(circle,rgba(200,56,10,.18),transparent 70%);animation-delay:4.5s;}
.ev-hero-ring{
  position:absolute;top:100px;right:80px;width:220px;height:220px;
  border-radius:50%;border:1px dashed rgba(255,255,255,.14);
  animation:spinSlow 40s linear infinite;pointer-events:none;z-index:1;
}
.ev-hero-content{
  position:relative;z-index:2;padding:2.5rem 2rem 3rem;max-width:1200px;margin:0 auto;width:100%;
  animation:fadeUp .7s cubic-bezier(.4,0,.2,1) both;
}
.ev-breadcrumb{
  display:flex;align-items:center;gap:.45rem;
  font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:500;color:rgba(255,255,255,.55);
  margin-bottom:1.4rem;
}
.ev-breadcrumb a{color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s;}
.ev-breadcrumb a:hover{color:rgba(255,255,255,.9);}
.ev-breadcrumb i{font-size:.6rem;}
.ev-breadcrumb .current{color:rgba(255,255,255,.9);}
.ev-hero-tags{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1.1rem;}
.ev-tag{
  font-family:'DM Sans',sans-serif;font-size:.68rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  padding:.24rem .72rem;border-radius:50px;
}
.ev-tag-cat{background:var(--grad);color:#fff;box-shadow:0 3px 12px rgba(165,5,5,.35);}
.ev-tag-live{background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.35);color:#4ade80;}
.ev-tag-live::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#4ade80;margin-right:.38rem;animation:orbPulse 1.8s ease-in-out infinite;}
.ev-tag-free{background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);color:#fbbf24;}
.ev-hero-title{
  font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(2rem,4.5vw,3.6rem);
  font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1.1;margin-bottom:.9rem;
}
.ev-hero-title em{
  font-style:italic;font-family:'Gelasio',serif;
  background:linear-gradient(135deg,#ff8a70,#f43f5e);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.ev-hero-meta{
  display:flex;flex-wrap:wrap;gap:.9rem 1.8rem;
  font-family:'DM Sans',sans-serif;font-size:.875rem;color:rgba(255,255,255,.72);
  margin-bottom:1.8rem;
}
.ev-hero-meta-item{display:flex;align-items:center;gap:.42rem;}
.ev-hero-meta-item i{color:rgba(165,5,5,.9);font-size:.88rem;}
.ev-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;}
.btn-register{
  font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:700;
  padding:.72rem 2rem;border-radius:50px;cursor:pointer;border:none;
  background:var(--grad);color:#fff;
  display:inline-flex;align-items:center;gap:.5rem;
  box-shadow:0 6px 24px rgba(165,5,5,.42);
  transition:transform .22s,box-shadow .22s,filter .22s;text-decoration:none;
}
.btn-register:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(165,5,5,.52);filter:brightness(1.07);color:#fff;}
.btn-ghost-white{
  font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:600;
  padding:.72rem 1.5rem;border-radius:50px;cursor:pointer;
  border:1.5px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  display:inline-flex;align-items:center;gap:.45rem;
  transition:background .22s,border-color .22s,color .22s,transform .22s;text-decoration:none;
}
.btn-ghost-white:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.48);color:#fff;transform:translateY(-2px);}

/* ════ STICKY TICKET BAR ════ */
.ticket-bar{
  position:sticky;top:var(--h-h);z-index:800;
  background:rgba(255,255,255,.92);backdrop-filter:blur(24px) saturate(160%);
  border-bottom:1px solid rgba(165,5,5,.1);box-shadow:0 4px 20px rgba(165,5,5,.08);
  transition:transform .3s;
}
.ticket-bar-inner{
  max-width:1200px;margin:0 auto;padding:.65rem 2rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.tb-info{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;}
.tb-event-name{font-family:'Bricolage Grotesque',sans-serif;font-size:1rem;font-weight:800;color:var(--t1);letter-spacing:-.01em;}
.tb-meta{font-family:'DM Sans',sans-serif;font-size:.78rem;color:var(--t3);display:flex;gap:1rem;flex-wrap:wrap;}
.tb-meta span{display:flex;align-items:center;gap:.3rem;}
.tb-meta i{color:var(--blue);font-size:.75rem;}
.tb-right{display:flex;align-items:center;gap:.85rem;}
.tb-price{
  font-family:'Bricolage Grotesque',sans-serif;font-size:1.15rem;font-weight:800;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.tb-price small{font-family:'DM Sans',sans-serif;font-size:.7rem;font-weight:500;color:var(--t4);-webkit-text-fill-color:var(--t4);}

/* ════ MAIN LAYOUT ════ */
.ev-main{max-width:1200px;margin:0 auto;padding:2.5rem 2rem 4rem;display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start;}
@media(max-width:900px){.ev-main{grid-template-columns:1fr;}}

/* ════ SECTION HEADINGS ════ */
.sec-label{
  font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:var(--blue);
  display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem;
}
.sec-label::before{content:'';width:18px;height:2px;border-radius:2px;background:var(--grad);}
.sec-title{
  font-family:'Bricolage Grotesque',sans-serif;font-size:1.55rem;font-weight:800;
  color:var(--t1);letter-spacing:-.02em;line-height:1.25;margin-bottom:1.2rem;
}

/* ════ ABOUT CARD ════ */
.ev-card{
  background:rgba(255,255,255,.72);border:1px solid rgba(165,5,5,.09);
  border-radius:var(--r);box-shadow:var(--md);backdrop-filter:blur(8px);
  padding:1.75rem;margin-bottom:1.75rem;
  animation:fadeUp .55s cubic-bezier(.4,0,.2,1) both;
}
.ev-card:nth-child(2){animation-delay:.08s;}
.ev-card:nth-child(3){animation-delay:.16s;}
.ev-card:nth-child(4){animation-delay:.24s;}
.ev-about-body{font-family:'DM Sans',sans-serif;font-size:.925rem;color:var(--t2);line-height:1.75;}
.ev-about-body p{margin-bottom:.9rem;}
.ev-about-body p:last-child{margin-bottom:0;}
.ev-about-body strong{color:var(--t1);}

/* ════ SCHEDULE ════ */
.ev-schedule{list-style:none;}
.ev-schedule-item{
  display:grid;grid-template-columns:70px 1fr;gap:1rem;
  padding:1.1rem 0;border-bottom:1px solid rgba(165,5,5,.07);position:relative;
}
.ev-schedule-item:last-child{border-bottom:none;padding-bottom:0;}
.ev-schedule-item::before{content:'';position:absolute;left:69px;top:0;bottom:0;width:1px;background:rgba(165,5,5,.1);}
.ev-sch-time{font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:700;color:var(--blue);text-align:right;padding-top:.12rem;}
.ev-sch-dot{
  position:absolute;left:63px;top:1.35rem;width:12px;height:12px;border-radius:50%;
  background:var(--grad);border:2.5px solid var(--bg);box-shadow:0 0 0 2px rgba(165,5,5,.2);z-index:1;
}
.ev-sch-body{padding-left:.5rem;}
.ev-sch-title{font-family:'Bricolage Grotesque',sans-serif;font-size:.95rem;font-weight:700;color:var(--t1);margin-bottom:.22rem;}
.ev-sch-desc{font-family:'DM Sans',sans-serif;font-size:.8rem;color:var(--t3);line-height:1.5;}
.ev-sch-speaker{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;color:var(--blue);margin-top:.35rem;
}
.ev-sch-speaker img{width:20px;height:20px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(165,5,5,.2);}

/* ════ SIDEBAR ════ */
.ev-sidebar{position:sticky;top:calc(var(--h-h) + 60px);}
.ev-ticket-card{
  background:rgba(255,255,255,.85);border:1px solid rgba(165,5,5,.12);
  border-radius:var(--r);box-shadow:var(--lg);overflow:hidden;margin-bottom:1.25rem;
  animation:fadeUp .5s .1s cubic-bezier(.4,0,.2,1) both;
}
.ev-ticket-head{background:var(--grad);padding:1.3rem 1.5rem 1.2rem;position:relative;overflow:hidden;}
.ev-ticket-head::before{content:'';position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;border:1px dashed rgba(255,255,255,.25);}
.ev-ticket-head::after{content:'';position:absolute;bottom:-20px;left:20px;width:80px;height:80px;border-radius:50%;border:1px dashed rgba(255,255,255,.18);}
.ev-ticket-type{font-family:'DM Sans',sans-serif;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7);margin-bottom:.3rem;}
.ev-ticket-price-row{display:flex;align-items:baseline;gap:.4rem;}
.ev-ticket-price{font-family:'Bricolage Grotesque',sans-serif;font-size:2.2rem;font-weight:800;color:#fff;letter-spacing:-.03em;line-height:1;}
.ev-ticket-price-orig{font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:500;color:rgba(255,255,255,.55);text-decoration:line-through;}
.ev-ticket-save{font-family:'DM Sans',sans-serif;font-size:.65rem;font-weight:700;background:rgba(255,255,255,.2);color:#fff;padding:.18rem .55rem;border-radius:50px;margin-left:.3rem;}
.ev-ticket-body{padding:1.4rem 1.5rem 1.5rem;}
.ev-ticket-spots{margin-bottom:1rem;}
.ev-spots-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem;}
.ev-spots-label{font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:500;color:var(--t3);}
.ev-spots-count{font-family:'Bricolage Grotesque',sans-serif;font-size:.82rem;font-weight:700;color:var(--blue);}
.ev-spots-bar{height:6px;border-radius:50px;background:rgba(165,5,5,.1);overflow:hidden;}
.ev-spots-fill{height:100%;border-radius:50px;background:var(--grad);--target-w:68%;width:var(--target-w);animation:progressFill 1.2s .6s cubic-bezier(.4,0,.2,1) both;}
.ev-ticket-perks{list-style:none;margin-bottom:1.25rem;}
.ev-ticket-perks li{font-family:'DM Sans',sans-serif;font-size:.82rem;color:var(--t2);display:flex;align-items:center;gap:.55rem;padding:.38rem 0;border-bottom:1px solid rgba(165,5,5,.05);}
.ev-ticket-perks li:last-child{border-bottom:none;}
.ev-ticket-perks li i{color:var(--blue);font-size:.82rem;flex-shrink:0;}
.btn-reg-full{
  width:100%;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;
  padding:.85rem;border-radius:50px;cursor:pointer;border:none;
  background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;gap:.5rem;
  box-shadow:0 6px 24px rgba(165,5,5,.32);transition:transform .22s,box-shadow .22s,filter .22s;text-decoration:none;
}
.btn-reg-full:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(165,5,5,.42);filter:brightness(1.06);color:#fff;}
.ev-ticket-note{font-family:'DM Sans',sans-serif;font-size:.72rem;color:var(--t4);text-align:center;margin-top:.7rem;display:flex;align-items:center;justify-content:center;gap:.3rem;}
.ev-ticket-note i{font-size:.7rem;}

/* Quick info card */
.ev-quick-info{
  background:rgba(255,255,255,.72);border:1px solid rgba(165,5,5,.09);
  border-radius:var(--r);box-shadow:var(--sm);overflow:hidden;margin-bottom:1.25rem;
  animation:fadeUp .5s .2s cubic-bezier(.4,0,.2,1) both;
}
.ev-qi-head{
  padding:.9rem 1.3rem;background:linear-gradient(135deg,rgba(165,5,5,.06),rgba(200,56,10,.04));
  border-bottom:1px solid rgba(165,5,5,.08);
  font-family:'Bricolage Grotesque',sans-serif;font-size:.95rem;font-weight:800;color:var(--t1);
}
.ev-qi-list{list-style:none;}
.ev-qi-item{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.3rem;border-bottom:1px solid rgba(165,5,5,.06);}
.ev-qi-item:last-child{border-bottom:none;}
.ev-qi-icon{
  width:34px;height:34px;border-radius:9px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(165,5,5,.1),rgba(200,56,10,.06));
  border:1px solid rgba(165,5,5,.1);display:flex;align-items:center;justify-content:center;
  color:var(--blue);font-size:.88rem;
}
.ev-qi-label{font-family:'DM Sans',sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--t4);margin-bottom:.12rem;}
.ev-qi-val{font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:600;color:var(--t1);}

/* Share card */
.ev-share{
  background:rgba(255,255,255,.72);border:1px solid rgba(165,5,5,.09);
  border-radius:var(--r);box-shadow:var(--sm);padding:1.3rem;margin-top:1.25rem;
  animation:fadeUp .5s .35s cubic-bezier(.4,0,.2,1) both;
}
.ev-share-title{font-family:'Bricolage Grotesque',sans-serif;font-size:.88rem;font-weight:800;color:var(--t1);margin-bottom:.8rem;}
.ev-share-btns{display:flex;gap:.6rem;flex-wrap:wrap;}
.btn-share{
  flex:1;min-width:60px;font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:600;
  padding:.52rem .6rem;border-radius:10px;cursor:pointer;
  border:1px solid rgba(165,5,5,.1);background:rgba(255,255,255,.8);color:var(--t2);
  display:flex;align-items:center;justify-content:center;gap:.35rem;
  transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;
}
.btn-share:hover{background:#fff;border-color:rgba(165,5,5,.22);transform:translateY(-2px);box-shadow:var(--sm);}
.btn-share i{font-size:.9rem;}
.btn-share.copy i{color:var(--blue);}
.btn-share.twitter i{color:#1d9bf0;}
.btn-share.whatsapp i{color:#25d366;}
.btn-share.linkedin i{color:#0077b5;}

/* ════ MAP SECTION ════ */
.ev-map-wrapper{border-radius:18px;overflow:hidden;border:1px solid rgba(165,5,5,.1);box-shadow:var(--md);margin-top:.8rem;position:relative;}
.ev-map-placeholder{
  width:100%;height:220px;
  background:linear-gradient(135deg,rgba(165,5,5,.06) 0%,rgba(250,232,198,.5) 100%);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.6rem;
  font-family:'DM Sans',sans-serif;color:var(--t3);font-size:.85rem;position:relative;overflow:hidden;
}
.ev-map-placeholder::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(165,5,5,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(165,5,5,.04) 1px,transparent 1px);
  background-size:30px 30px;
}
.ev-map-placeholder i{font-size:2rem;color:var(--blue);opacity:.6;}
.ev-map-pin{
  position:absolute;bottom:58px;left:50%;
  width:36px;height:36px;background:var(--grad);border-radius:50% 50% 50% 0;
  transform:translateX(-50%) rotate(-45deg);box-shadow:0 4px 16px rgba(165,5,5,.35);
  display:flex;align-items:center;justify-content:center;
  animation:floatBadge 3s ease-in-out infinite;
}
.ev-map-pin i{transform:rotate(45deg);color:#fff;font-size:.85rem;}
.ev-map-address{
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-top:1px solid rgba(165,5,5,.08);
  padding:.85rem 1.1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.ev-map-addr-text{font-family:'DM Sans',sans-serif;font-size:.8rem;color:var(--t2);font-weight:500;}
.ev-map-addr-text strong{font-family:'Bricolage Grotesque',sans-serif;font-size:.9rem;font-weight:700;color:var(--t1);display:block;margin-bottom:.12rem;}
.btn-directions{
  font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:700;
  padding:.45rem .9rem;border-radius:50px;cursor:pointer;
  background:var(--grad);color:#fff;border:none;
  display:flex;align-items:center;gap:.35rem;white-space:nowrap;
  box-shadow:0 3px 12px rgba(165,5,5,.28);transition:transform .18s,filter .18s;
}
.btn-directions:hover{transform:translateY(-1px);filter:brightness(1.08);}

/* ════ RELATED EVENTS ════ */
.ev-related{max-width:1200px;margin:0 auto;padding:3rem 2rem 4rem;}
.ev-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.6rem;}
@media(max-width:768px){.ev-related-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.ev-related-grid{grid-template-columns:1fr;}}
.ev-rel-card{
  background:#fff;border:1px solid rgba(165,5,5,.08);border-radius:22px;overflow:hidden;
  box-shadow:0 4px 24px rgba(165,5,5,.07),0 1px 0 rgba(255,255,255,.9) inset;
  cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s;
  text-decoration:none;display:flex;flex-direction:column;
}
.ev-rel-card:hover{transform:translateY(-6px);box-shadow:0 20px 52px rgba(165,5,5,.13),0 4px 16px rgba(0,0,0,.06);}
.ev-rel-img{position:relative;aspect-ratio:4/3;overflow:hidden;flex-shrink:0;}
.ev-rel-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.4,0,.2,1),filter .4s;}
.ev-rel-card:hover .ev-rel-img img{transform:scale(1.07);filter:brightness(.85);}
.ev-rel-cat{
  position:absolute;top:.75rem;left:.75rem;z-index:2;
  font-family:'DM Sans',sans-serif;font-size:.62rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
  padding:.24rem .7rem;border-radius:50px;background:var(--grad);color:#fff;box-shadow:0 3px 12px rgba(165,5,5,.32);
}
.ev-rel-body{padding:1.15rem 1.2rem 0;flex:1;display:flex;flex-direction:column;}
.ev-rel-meta-row{
  display:flex;align-items:center;gap:1.1rem;
  font-family:'DM Sans',sans-serif;font-size:.76rem;font-weight:500;color:var(--t3);margin-bottom:.75rem;
}
.ev-rel-meta-row span{display:flex;align-items:center;gap:.32rem;}
.ev-rel-meta-row i{color:var(--blue);font-size:.75rem;}
.ev-rel-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1.05rem;font-weight:800;color:var(--t1);letter-spacing:-.02em;line-height:1.28;margin-bottom:.5rem;}
.ev-rel-desc{font-family:'DM Sans',sans-serif;font-size:.82rem;color:var(--t3);line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ev-rel-foot{border-top:1px solid rgba(165,5,5,.08);padding:1rem 1.2rem 1.2rem;margin-top:auto;}
.btn-view-details{
  display:flex;align-items:center;justify-content:center;
  width:100%;font-family:'DM Sans',sans-serif;font-size:.88rem;font-weight:700;
  padding:.72rem;border-radius:50px;background:var(--grad);color:#fff;border:none;cursor:pointer;
  box-shadow:0 4px 18px rgba(165,5,5,.28);transition:transform .22s,box-shadow .22s,filter .22s;text-decoration:none;
}
.btn-view-details:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(165,5,5,.4);filter:brightness(1.06);color:#fff;}
.ev-rel-price{display:inline-flex;align-items:center;font-family:'DM Sans',sans-serif;font-size:.7rem;font-weight:700;padding:.18rem .6rem;border-radius:50px;margin-left:auto;flex-shrink:0;}
.ev-rel-price.free{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.25);}
.ev-rel-price.paid{background:rgba(165,5,5,.07);color:var(--blue);border:1px solid rgba(165,5,5,.16);}

/* ════ EVENT DETAIL RESPONSIVE ════ */
@media(max-width:900px){
  .ev-hero-content{padding:2rem 1.2rem 2.5rem;}
  .ev-main{padding:2rem 1.2rem 3rem;}
  .ev-related{padding:2rem 1.2rem 3rem;}
  .ticket-bar-inner{padding:.55rem 1.2rem;}
}
@media(max-width:600px){
  .ev-hero-actions{flex-direction:column;}
  .btn-register,.btn-ghost-white{justify-content:center;}

  /* Schedule — collapse time column, stack vertically */
  .ev-schedule-item{grid-template-columns:1fr;padding:.9rem 0 .9rem 1rem;}
  .ev-schedule-item::before{left:0;}
  .ev-sch-dot{left:-6px;top:1.1rem;}
  .ev-sch-time{text-align:left;margin-bottom:.25rem;}
  .ev-sch-body{padding-left:0;}

  /* Getting There — full width content, button below */
  .ev-map-address{flex-direction:column;align-items:flex-start;}
  .ev-map-addr-text{width:100%;}
  .btn-directions{width:100%;justify-content:center;}
}
