/* ===== Sections shared ===== */
.container{max-width:1280px;margin:0 auto;padding:0 2rem}
.section-head{max-width:760px;margin:0 auto 3rem;text-align:center}
.section-head.row{display:flex;align-items:flex-end;justify-content:space-between;text-align:left;max-width:none;gap:2rem}
.section-head.row > div{text-align:left}
.section-head.center{text-align:center}
.kicker{
  display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--brand-deep);
  padding:.35rem .7rem;border-radius:999px;background:rgba(34,193,230,.10);
  margin-bottom:1rem;
}
.h2{
  font-size:clamp(2rem,3.6vw,3rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin:0 0 1rem;
  color:var(--ink-900);text-wrap:balance;
}
.h2 em{
  background:var(--grad-vivid);-webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:normal;
}
.h2.light{color:#fff}
.h2.light em{background:linear-gradient(120deg,#BFFAE5,#A2E9FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.08rem;line-height:1.55;color:var(--ink-500);margin:0;text-wrap:pretty}
.lead.light{color:rgba(255,255,255,.78)}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;color:var(--brand-deep);font-weight:700;font-size:.95rem;white-space:nowrap}
.link-arrow:hover{color:var(--brand-blue)}

/* ===== Features ===== */
.features{padding:6rem 0;background:#fff}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.feat{
  position:relative;
  padding:1.6rem 1.4rem 1.4rem;border-radius:20px;
  background:#fff;border:1px solid rgba(15,40,70,.06);
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  overflow:hidden;
}
.feat::before{
  content:"";position:absolute;inset:auto -40% -60% auto;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle, rgba(34,193,230,.22), transparent 70%);
  opacity:0;transition:opacity .3s ease;
}
.feat:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(34,193,230,.25)}
.feat:hover::before{opacity:1}
.feat > *{position:relative;z-index:1}
.feat-icon{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;
  background:linear-gradient(135deg, rgba(123,227,168,.18), rgba(34,193,230,.18));
  color:var(--brand-deep);
}
.i-bolt{color:#0AA66B;background:linear-gradient(135deg, rgba(123,227,168,.25), rgba(63,215,199,.25))}
.i-shield{color:#0F6FB2;background:linear-gradient(135deg, rgba(63,215,199,.25), rgba(34,193,230,.25))}
.i-qr{color:#0F6FB2;background:linear-gradient(135deg, rgba(34,193,230,.25), rgba(27,143,214,.20))}
.i-compass{color:#7B3FFF;background:linear-gradient(135deg, rgba(155,123,255,.22), rgba(224,145,255,.22))}
.feat h3{font-size:1.08rem;margin:0 0 .4rem;font-weight:700;letter-spacing:-.01em}
.feat p{font-size:.92rem;color:var(--ink-500);line-height:1.5;margin:0 0 1rem}
.feat-meta{font-size:.8rem;color:var(--ink-400);font-weight:500;display:inline-block;padding-top:.8rem;border-top:1px dashed rgba(15,40,70,.08);width:100%}
.feat-meta strong{color:var(--brand-deep);font-weight:700}

/* ===== Categories ===== */
.categories{padding:6rem 0;background:var(--bg)}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.cat-card{
  position:relative;padding:1.4rem;border-radius:20px;background:#fff;
  border:1px solid rgba(15,40,70,.06);
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:1.2rem;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  overflow:hidden;min-height:170px;
}
.cat-card::after{
  content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;
  background:linear-gradient(135deg, var(--g1, #22C1E6), var(--g2, #7BE3A8));
  opacity:0;transition:opacity .3s ease;mix-blend-mode:multiply;
}
.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:transparent}
.cat-card:hover .cat-art{transform:scale(1.06) rotate(-3deg)}
.cat-art{
  width:60px;height:60px;border-radius:16px;
  background:linear-gradient(135deg, var(--g1), var(--g2));
  color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 22px -10px color-mix(in oklch, var(--g1) 60%, transparent);
  transition:transform .3s ease;
}
.cat-body h4{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:-.01em}
.cat-body span{font-size:.82rem;color:var(--ink-400)}

/* ===== Trending Events ===== */
.trending{padding:6rem 0;background:#fff}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.event-card{
  background:#fff;border-radius:22px;overflow:hidden;
  border:1px solid rgba(15,40,70,.06);
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease, box-shadow .3s ease, border-color .3s ease;
  position:relative;
}
.event-card::before{
  content:"";position:absolute;inset:-1px;border-radius:22px;
  padding:1px;background:var(--grad-vivid);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity .3s ease;pointer-events:none;
}
.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow), var(--shadow)}
.event-card:hover::before{opacity:1}

.event-media{
  position:relative;height:230px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.event-date-badge{
  position:absolute;top:.9rem;left:.9rem;z-index:2;
  background:rgba(255,255,255,.95);backdrop-filter:blur(8px);
  padding:.4rem .65rem;border-radius:10px;text-align:center;
  box-shadow:var(--shadow-sm);
  min-width:50px;
}
.d-day{font-size:1.2rem;font-weight:800;line-height:1;color:var(--ink-900)}
.d-mon{font-size:.7rem;font-weight:700;color:var(--brand-deep);letter-spacing:.08em}
.fav{
  position:absolute;top:.9rem;right:.9rem;z-index:2;
  width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.95);
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);
  box-shadow:var(--shadow-sm);
}
/* Decorative artwork inside event-media */
.event-art{position:relative;color:#fff;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;text-align:center}
.art-record{
  position:absolute;left:-30px;top:50%;transform:translateY(-50%);
  width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle at 50% 50%, #2c0612 0%, #6d1b2d 60%, #b91c4a 100%);
  box-shadow:inset 0 0 0 8px rgba(0,0,0,.35), inset 0 0 0 12px rgba(255,255,255,.05);
}
.art-record::after{content:"";position:absolute;inset:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:#1a0a2e}
.art-name{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);text-align:right;font-family:"Instrument Serif",serif;font-size:2.4rem;line-height:.9;color:#FF7847;letter-spacing:-.02em}
.art-name span{color:#fff;display:block;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:.05em;margin-top:.3rem}
.art-byline{position:absolute;right:.9rem;top:.9rem;font-size:.65rem;font-weight:700;letter-spacing:.15em;color:rgba(255,255,255,.8)}

.event-art.jazz .jazz-circle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:140px;height:140px;border-radius:50%;border:3px solid #f59e0b}
.event-art.jazz .jazz-title{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%) translateX(-10%);font-family:"Instrument Serif",serif;font-style:italic;font-size:2.6rem;color:#f59e0b;line-height:1}
.event-art.jazz .jazz-sub{position:absolute;right:1.5rem;top:calc(50% + 30px);transform:translateX(-10%);font-weight:800;letter-spacing:.05em;font-size:.95rem;color:#fff}
.event-art.jazz .jazz-date{position:absolute;right:1.5rem;bottom:1rem;font-size:.7rem;letter-spacing:.12em;color:#f59e0b;font-weight:700}

.event-art.carnival .carn-stripe{position:absolute;left:0;top:0;bottom:0;width:35%;background:repeating-linear-gradient(45deg, #d4a574 0 12px, #b88857 12px 24px);opacity:.85}
.event-art.carnival .carn-title{position:absolute;right:1rem;top:50%;transform:translateY(-50%);text-align:right;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.6rem;line-height:1;color:#fff;letter-spacing:.02em}
.event-art.carnival .carn-title span{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;color:#FFB347}
.event-art.carnival .carn-sub{position:absolute;right:1rem;bottom:1rem;font-size:.7rem;letter-spacing:.12em;color:rgba(255,255,255,.85);font-weight:700}

.event-body{padding:1.2rem 1.3rem 1.3rem}
.event-body h4{font-size:1.15rem;font-weight:700;margin:0 0 .8rem;letter-spacing:-.01em}
.event-meta{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}
.meta-row{display:inline-flex;align-items:center;gap:.5rem;font-size:.86rem;color:var(--ink-500)}
.event-foot{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(15,40,70,.06)}
.from{color:var(--ink-400);font-size:.78rem}
.event-foot strong{font-size:1.15rem;font-weight:800;color:var(--ink-900)}
.btn-grad.btn-sm{padding:.55rem 1rem;font-size:.85rem;border-radius:10px}

/* ===== Organizer Dashboard ===== */
.organizer{padding:7rem 0;background:linear-gradient(180deg,#F3FBFA 0%, #EAF6FB 100%);position:relative;overflow:hidden}
.org-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:5rem;align-items:center;position:relative;z-index:2}
.org-bullets{list-style:none;padding:0;margin:1.5rem 0 2rem;display:flex;flex-direction:column;gap:.85rem}
.org-bullets li{display:flex;align-items:flex-start;gap:.7rem;font-size:1rem;color:var(--ink-700);line-height:1.4}
.b-icon{
  flex:none;width:22px;height:22px;border-radius:50%;
  background:color-mix(in oklch, var(--c) 18%, white);
  color:var(--c);
  display:flex;align-items:center;justify-content:center;
  margin-top:1px;
}
.org-actions{display:flex;gap:.75rem;flex-wrap:wrap}

.dashboard{
  position:relative;border-radius:24px;
  background:#fff;
  box-shadow:0 40px 80px -30px rgba(20,80,120,.30), 0 12px 32px -10px rgba(20,80,120,.16);
  overflow:hidden;
  border:1px solid rgba(15,40,70,.06);
}
.dash-chrome{display:flex;align-items:center;gap:.4rem;padding:.7rem 1rem;background:#F5F8FB;border-bottom:1px solid rgba(15,40,70,.06)}
.dash-chrome span:not(.dash-tab){width:11px;height:11px;border-radius:50%;background:#E8ECF1}
.dash-chrome span:nth-child(1){background:#FF6058}
.dash-chrome span:nth-child(2){background:#FFBD2D}
.dash-chrome span:nth-child(3){background:#27CA40}
.dash-tab{margin-left:1rem;background:#fff;padding:.3rem .8rem;border-radius:6px;font-size:.75rem;color:var(--ink-500);border:1px solid rgba(15,40,70,.06);font-family:ui-monospace,SFMono-Regular,monospace}
.dash-body{padding:1.4rem 1.5rem 1.5rem}
.dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.dash-title{font-size:1.1rem;font-weight:800;letter-spacing:-.01em}
.dash-sub{font-size:.82rem;color:var(--ink-500);margin-top:.15rem}
.dash-pill{background:#E8F8EE;color:#0AA66B;font-size:.7rem;font-weight:700;padding:.3rem .55rem;border-radius:999px;letter-spacing:.08em;position:relative;padding-left:1.2rem}
.dash-pill::before{content:"";position:absolute;left:.55rem;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:#0AA66B;box-shadow:0 0 0 3px rgba(10,166,107,.25);animation:pingPulse 1.8s ease-out infinite}

.kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1.1rem}
.kpi{padding:.9rem 1rem;border-radius:14px;background:#F7FAFC;border:1px solid rgba(15,40,70,.05)}
.kpi-label{font-size:.72rem;color:var(--ink-400);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:.3rem}
.kpi-val{font-size:1.15rem;font-weight:800;color:var(--ink-900);letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}
.kpi-delta{font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:6px}
.kpi-delta.up{background:#E8F8EE;color:#0AA66B}

.chart-card{padding:1rem;border-radius:14px;border:1px solid rgba(15,40,70,.05);background:#fff;margin-bottom:1rem}
.chart-head{display:flex;justify-content:space-between;font-size:.82rem;color:var(--ink-500);margin-bottom:.5rem}
.muted{color:var(--ink-700);font-weight:700}
.chart{width:100%;height:90px;display:block}

.att-row{display:flex;flex-direction:column;gap:.55rem}
.att{display:flex;align-items:center;gap:.7rem;padding:.55rem .7rem;border-radius:10px;background:#F7FAFC}
.att-av{width:30px;height:30px;border-radius:50%;flex:none}
.att-name{font-size:.86rem;font-weight:700}
.att-sub{font-size:.72rem;color:var(--ink-400)}
.att > div{flex:1}
.dot{width:9px;height:9px;border-radius:50%}
.dot.ok{background:#0AA66B;box-shadow:0 0 0 3px rgba(10,166,107,.18)}
.dot.pending{background:#FFB020;box-shadow:0 0 0 3px rgba(255,176,32,.18)}

.dash-chip{
  position:absolute;bottom:-20px;left:-20px;
  background:#fff;padding:.8rem 1rem;border-radius:14px;
  box-shadow:var(--shadow-lg);
  display:flex;align-items:center;gap:.7rem;
  border:1px solid rgba(15,40,70,.06);
  animation:float 6s ease-in-out infinite;
}
.dash-chip .chip-pulse{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg, var(--brand-mint), var(--brand-aqua));
  display:flex;align-items:center;justify-content:center;position:relative;
}
.dash-chip .chip-pulse::after{content:"";width:14px;height:14px;border:2px solid #fff;border-radius:3px;border-top:none;border-left:none;transform:rotate(45deg) translate(-2px,-2px)}
.dash-chip .chip-title{font-size:.88rem;font-weight:700;color:var(--ink-900)}
.dash-chip .chip-sub{font-size:.74rem;color:var(--ink-500)}

/* ===== Mobile App Section ===== */
.appshow{padding:7rem 0;background:#fff;position:relative;overflow:hidden}
.orb.orb-app{width:600px;height:600px;background:radial-gradient(circle,#7BE3A8,transparent 70%);top:-200px;left:-200px;opacity:.3}
.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;z-index:2}
.phones{position:relative;height:600px}
.phone{
  position:absolute;width:280px;height:570px;
  background:#0B2540;border-radius:38px;padding:8px;
  box-shadow:0 40px 80px -30px rgba(20,80,120,.4), 0 0 0 1px rgba(15,40,70,.08);
}
.phone-back{top:30px;left:0;transform:rotate(-6deg)}
.phone-front{top:0;right:0;transform:rotate(4deg);z-index:2}
.phone-screen{
  width:100%;height:100%;border-radius:30px;overflow:hidden;
  background:#fff;
  position:relative;color:var(--ink-900);
}
.phone-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.ps-status{padding:.5rem 1rem .3rem;font-size:.7rem;font-weight:700;color:#fff;display:flex;justify-content:space-between}
.ps-status .ps-icons{display:inline-block;width:50px;height:10px;background:linear-gradient(90deg,#fff 60%,transparent);border-radius:3px;opacity:.9}

.ps-search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin:0 .5rem}
.ps-arrow{width:26px;height:26px;border-radius:8px;background:#fff;flex:none;position:relative}
.ps-arrow::before{content:"";position:absolute;inset:50%;width:8px;height:8px;border-left:1.5px solid var(--ink-700);border-bottom:1.5px solid var(--ink-700);transform:rotate(45deg) translate(-2px,-2px)}
.ps-search-bar{flex:1;background:#fff;border-radius:8px;padding:.4rem .7rem;font-size:.7rem;color:var(--ink-400)}
.ps-card{margin:.5rem;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.ps-card-art{height:90px;position:relative}
.ps-from{position:absolute;bottom:6px;left:6px;background:#fff;padding:.18rem .45rem;border-radius:6px;font-size:.6rem;font-weight:700}
.ps-card-body{padding:.6rem .7rem}
.ps-card-title{font-size:.78rem;font-weight:700;margin-bottom:.2rem}
.ps-card-meta{font-size:.62rem;color:var(--ink-500)}

/* Sign-in screen */
.sign-in-screen{background:linear-gradient(135deg,#7BE3A8 0%, #3FD7C7 30%, #22C1E6 100%)}
.sis-hero{text-align:center;padding:.5rem 0 .8rem;color:#fff}
.sis-logo{display:flex;justify-content:center;margin-bottom:.3rem}
.sis-brand{font-weight:800;letter-spacing:-.01em;font-size:1.05rem}
.sis-brand span{font-weight:500;opacity:.85}
.sis-sheet{background:#fff;margin:0 .5rem;border-radius:18px 18px 0 0;padding:1rem .9rem;flex:1}
.sis-title{font-size:1.2rem;font-weight:800;text-align:center;margin-bottom:.7rem}
.sis-socials{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:.6rem}
.sis-soc{height:40px;background:#fff;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.08);position:relative}
.sis-soc::before{content:"";position:absolute;inset:30%;border-radius:50%;background:#1FA9E5}
.sis-soc.fb::before{background:#1877F2}
.sis-soc.g::before{background:linear-gradient(135deg,#4285F4,#EA4335)}
.sis-divider{text-align:center;font-size:.6rem;color:var(--ink-400);margin:.5rem 0}
.sis-tabs{display:flex;justify-content:space-around;font-size:.7rem;font-weight:700;margin-bottom:.6rem;color:var(--ink-500)}
.sis-tabs .active{color:var(--ink-900)}
.sis-field{height:32px;border-radius:8px;border:1px solid rgba(15,40,70,.1);margin-bottom:.4rem;background:#fff}
.sis-cta{width:100%;height:36px;border-radius:10px;background:var(--grad);font-weight:700;font-size:.78rem;margin-top:.4rem}

.app-bullets{list-style:none;padding:0;margin:1.5rem 0 2rem;display:flex;flex-direction:column;gap:.65rem;font-size:1rem;color:var(--ink-700)}
.app-bullets li{display:flex;align-items:center;gap:.7rem}
.dotc{width:8px;height:8px;border-radius:50%;background:var(--grad-vivid);flex:none}

.app-stores{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.4rem}
.store-btn{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:.7rem 1.1rem;border-radius:12px;
  background:var(--ink-900);color:#fff;
  transition:transform .18s ease;
}
.store-btn:hover{transform:translateY(-1px)}
.store-btn span{display:block;font-size:.65rem;opacity:.7;line-height:1}
.store-btn strong{display:block;font-size:.95rem;font-weight:700;line-height:1.2}
.store-btn-lg{padding:.7rem 1.2rem;border-radius:12px;gap:.7rem}
.store-btn-lg strong{font-size:1rem}
.store-btn-lg span{font-size:.66rem}

.app-rating{display:flex;align-items:center;gap:.7rem;font-size:.85rem;color:var(--ink-500)}
.app-rating strong{color:var(--ink-900)}

/* ===== Testimonials ===== */
.testimonials{padding:6rem 0;background:linear-gradient(180deg,#F6FAFB 0%, #EEF7FA 100%)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.testi{
  background:rgba(255,255,255,.75);backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.8);
  border-radius:20px;padding:1.6rem 1.5rem;
  box-shadow:var(--shadow-sm);
  transition:transform .25s ease, box-shadow .25s ease;
}
.testi:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.testi-stars{display:flex;gap:.15rem;margin-bottom:.9rem}
.testi p{font-size:1rem;line-height:1.5;color:var(--ink-700);margin:0 0 1.3rem;text-wrap:pretty}
.testi-who{display:flex;align-items:center;gap:.7rem}
.testi-who strong{display:block;font-size:.92rem;font-weight:700}
.testi-who span{font-size:.78rem;color:var(--ink-400)}

/* ===== CTA band ===== */
.cta-band{
  padding:5rem 0;color:#fff;
  background:linear-gradient(115deg, #0B2540 0%, #0F6FB2 45%, #1FA9E5 100%);
  position:relative;overflow:hidden;
}
.cta-band::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 30%, rgba(123,227,168,.35), transparent 40%),
    radial-gradient(circle at 80% 60%, rgba(63,215,199,.35), transparent 40%);
}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem;flex-wrap:wrap;position:relative;z-index:1}
.cta-inner > div{flex:1;min-width:280px}
.cta-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.btn-white{padding:.95rem 1.6rem;background:#fff;color:var(--ink-900);font-weight:700;border-radius:14px;font-size:1rem;transition:transform .18s ease}
.btn-white:hover{transform:translateY(-1px)}
.btn-outline-light{padding:.95rem 1.4rem;background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff;font-weight:700;border-radius:14px;font-size:1rem;transition:all .18s ease}
.btn-outline-light:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* ===== Footer ===== */
.footer{background:#08182A;color:rgba(255,255,255,.7);padding:5rem 0 1.5rem;position:relative}
.footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--grad-vivid);
}
.foot-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr 1.2fr;gap:3rem;margin-bottom:3rem}
.foot-brand p{font-size:.92rem;line-height:1.5;margin:1rem 0 1.5rem;max-width:300px}
.socials{display:flex;gap:.5rem}
.socials a{
  width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);
  display:inline-flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);
  transition:all .18s ease;
}
.socials a:hover{background:var(--grad);color:var(--ink-900)}
.foot-col h5, .foot-news h5{color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 1.2rem}
.foot-col{display:flex;flex-direction:column;gap:.7rem}
.foot-col a{font-size:.92rem;color:rgba(255,255,255,.65);transition:color .18s ease}
.foot-col a:hover{color:#fff}
.foot-news p{font-size:.9rem;line-height:1.5;margin:0 0 1rem}
.news-form{display:flex;gap:.4rem;margin-bottom:.6rem}
.news-form input{flex:1;height:42px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;padding:0 .85rem;font-size:.88rem}
.news-form input::placeholder{color:rgba(255,255,255,.4)}
.news-form input:focus{outline:none;border-color:var(--brand-aqua)}
.news-form .btn-grad{padding:.65rem 1rem;font-size:.85rem;border-radius:10px}
.news-fine{font-size:.75rem;color:rgba(255,255,255,.4)}

.foot-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);font-size:.85rem;color:rgba(255,255,255,.5)}
.foot-legal{display:flex;gap:1.5rem}
.foot-legal a:hover{color:#fff}

/* ===== Responsive ===== */
@media (max-width:1100px){
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .event-grid{grid-template-columns:repeat(2,1fr)}
  .testi-grid{grid-template-columns:1fr}
  .org-grid{grid-template-columns:1fr;gap:3rem}
  .app-grid{grid-template-columns:1fr;gap:3rem}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .foot-brand{grid-column:1/-1}
  .foot-news{grid-column:1/-1}
  .section-head.row{flex-direction:column;align-items:flex-start;gap:.6rem}
}
@media (max-width:640px){
  .container{padding:0 1.25rem}
  .features, .categories, .trending, .organizer, .appshow, .testimonials{padding:4rem 0}
  .feat-grid, .cat-grid, .event-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column;gap:1rem;text-align:center}
  .phones{height:520px;transform:scale(.85);transform-origin:top left}
}
