/* ===== THEME ===== */
:root{
  --bg: #252a34;
  --bg-alt: #20262f;
  --text: #bec1cb;
  --white: #fff;
  --muted: #9aa1ac;
  --primary: #e5193d;
  --primary-20: rgba(229,25,61,.2);
  --glass: rgba(255,255,255,.04);
  --stroke: #3B4252;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family:'Rajdhani',sans-serif;
  background: radial-gradient(1200px 800px at 80% -10%, rgba(229,25,61,.15), transparent 60%),
              radial-gradient(900px 600px at -10% 20%, rgba(229,25,61,.10), transparent 55%),
              var(--bg);
  color:var(--text);
}

/* ===== NAV ===== */
.navbar{padding:1rem 0;border-bottom:1px solid transparent}
.nav-glass{background:rgba(25,28,35,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:box-shadow .2s,border-color .2s,background .2s}
.nav-scrolled{box-shadow:0 8px 30px rgba(0,0,0,.35);border-color:var(--stroke)}
.navbar-brand img{height:28px}
.brand-text{font-weight:700;letter-spacing:.2px}

/* ===== LINKS / BUTTONS ===== */
a{color:var(--white);text-decoration:none}
a:hover{color:var(--white)}
.btn{border-radius:12px;font-weight:700;transition:transform .08s,box-shadow .2s,background-color .2s,border-color .2s}
.btn-lg{padding:.65rem 1.4rem}
.btn-primary{background:linear-gradient(180deg,var(--primary),#b7122f);border:1px solid transparent;box-shadow:0 10px 24px rgba(229,25,61,.35)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(229,25,61,.45)}
.btn-ghost{background:transparent;border:1px solid #3a3f4c}
.btn-ghost:hover{border-color:var(--primary);box-shadow:0 10px 24px var(--primary-20)}

/* ===== TYPO ===== */
h1,h2,h3,h4{color:var(--white);font-weight:600}
h1{font-size:3.2rem}
h2{font-size:2rem}
h3{font-size:1.6rem}
h4{font-size:1.25rem}
.lead{font-family:'Titillium Web',sans-serif;font-size:1.15rem}
.muted{color:var(--muted)}
.alt{color:var(--primary)}
.washed{color:#323844}
p{font-family:'Titillium Web',sans-serif}

/* ===== HERO ===== */
.hero{position:relative;padding:8rem 0 4rem}
.hero-fade{position:absolute;inset:auto 0 -1px 0;height:120px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.25),rgba(0,0,0,0));pointer-events:none}
.pill{display:inline-block;padding:.25rem .6rem;font-weight:700;font-size:.85rem;border:1px solid #3a3f4c;border-radius:999px;background:rgba(255,255,255,.03)}
.hero-cta{display:flex;flex-wrap:wrap}
.hero-bullets{list-style:none;padding:0;margin:0}
.hero-bullets li{opacity:.9}
.hero-anim{filter:drop-shadow(0 40px 120px rgba(0,0,0,.45))}

/* ===== SECTIONS ===== */
.section{padding:4rem 0}
.section-tight{padding:2rem 0}

/* ===== CARDS / GLASS ===== */
.card.glass{background:var(--glass);border:1px solid #333a46;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.tile{position:relative;border:1px solid #333a46;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));box-shadow:0 16px 40px rgba(0,0,0,.35);overflow:hidden}
.tile .washed{position:absolute;top:-6px;left:12px;font-size:4rem;z-index:0;opacity:.25}
.tile .floating{position:relative;z-index:1}

/* ===== MAP ===== */
.map-embed{height:360px;width:100%}
.map-embed iframe{border:0}

/* ===== ICONS ===== */
.icon-row .icon{height:72px}
.title-icon{height:80px}

/* ===== PARTNERS ===== */
.bg-alt{background:var(--bg-alt)}
.partners-grid .partner-card{display:inline-block;padding:18px 22px;border-radius:14px;background:rgba(255,255,255,.02);border:1px solid #343a45;transition:transform .1s,box-shadow .2s,border-color .2s,filter .2s;filter:grayscale(30%) contrast(105%)}
.partners-grid .partner-card:hover{transform:translateY(-2px);border-color:var(--primary);filter:none;box-shadow:0 14px 32px rgba(229,25,61,.25)}
.partner-logo{height:40px}

/* ===== PRIZES ===== */
.prize{width:7.5rem;height:7.5rem;margin-bottom:.75rem}

/* ===== ROADMAP ===== */
ul.roadmap{padding-left:1.5rem}
ul.roadmap li{list-style:none;position:relative;padding-left:1.25rem;margin:.85rem 0}
ul.roadmap li:after{content:'';position:absolute;top:.3rem;left:-1.6rem;width:.7rem;height:.7rem;background:var(--primary);border-radius:50%}
ul.roadmap li:before{content:'';position:absolute;top:.3rem;left:-1.25rem;width:1px;height:100%;background:rgba(255,255,255,.18)}
ul.roadmap li:last-child:before{height:0}

/* ===== FAQ ===== */
ul.faq-list{list-style:none;margin:0;background:#2d343f;border-radius:16px;overflow:hidden}
ul.faq-list li.faq-entry{padding:1rem 0;border-bottom:1px solid #424855}
ul.faq-list li.faq-entry:last-child{border-bottom:none}
ul.faq-list li.faq-entry h4{margin:0;padding:1rem 2.25rem 1rem 0;cursor:pointer}
ul.faq-list li.faq-entry .chev{float:right;opacity:.7;transition:transform .15s}
ul.faq-list li.faq-entry h4[aria-expanded="true"] .chev{transform:rotate(-180deg)}
ul.faq-list li.faq-entry p{margin:.5rem 0 0}

/* ===== FOOTER ===== */
.footer a{color:#fff;text-decoration:underline}
.footer a:hover{text-decoration:none}

/* ===== UTIL ===== */
.quote:before{content:'';display:block;float:left;background-image:url('assets/images/quote.svg');background-repeat:no-repeat;background-size:contain;background-position:left center;width:.9em;height:1em;margin-right:.25em}

/* ===== INSTAGRAM (Mirror) ===== */
#gallery .container { max-width: 980px; }
.ig-widget .widget-frame{
  border-radius:14px; overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.32);
  border:1px solid #343a45; background:rgba(255,255,255,.02);
}
#mirror-ig{ display:block; width:100%; min-height:520px; border:0; }
#gallery h4.bold{ margin-bottom:.25rem; }
#gallery .muted{ margin-bottom:1.25rem; font-size:.95rem; }

/* ===== COMPACT TUNE-UPS ===== */
.section { padding: 2.75rem 0; }
.section-tight { padding: 1.5rem 0; }
.container { max-width: 1080px; }
.hero { padding: 6.5rem 0 2.5rem; }
.hero .lead { font-size: 1.05rem; }
.hero h1 { font-size: 2.6rem; line-height: 1.15; }
.hero-cta .btn-lg { padding: .55rem 1.1rem; }
.hero-bullets li { font-size: .95rem; }
.card.glass, .tile { border-radius: 14px; box-shadow: 0 14px 36px rgba(0,0,0,.32); }
#details .card.glass h2 { font-size: 1.5rem; margin-bottom: .25rem; }
#details .card.glass p { font-size: .95rem; }
.icon-row .icon { height: 64px; }
.icon-row h4 { font-size: 1.05rem; }
.partners-grid .partner-card { padding: 14px 18px; border-radius: 12px; }
.partner-logo { height: 34px; }
ul.roadmap li { margin: .65rem 0; }
ul.faq-list li.faq-entry { padding: .75rem 0; }
ul.faq-list li.faq-entry h4 { padding: .75rem 2rem .75rem 0; font-size: 1.05rem; }
.bg-alt h3 { font-size: 1.15rem; line-height: 1.4; }
.navbar { padding: .65rem 0; }
.brand-text { font-size: 1rem; opacity: .95; }

/* Responsive compactness */
@media (max-width: 991px){
  .hero { padding: 6rem 0 2rem; }
  .hero h1 { font-size: 2.2rem; }
  .container { max-width: 92%; }
  .map-embed{height:300px}
}
@media (max-width: 575px){
  .hero h1 { font-size: 2rem; }
}