*{margin:0;padding:0;box-sizing:border-box}
:root{
  --red:#DC2626;--red-h:#EF4444;--red-d:#991B1B;
  --green:#16A34A;--green-l:#22C55E;--green-d:#166534;
  --black:#09090B;--black2:#18181B;--black3:#111113;
  --white:#FFFFFF;
  --g50:#FAFAFA;--g100:#F4F4F5;--g200:#E4E4E7;--g300:#D4D4D8;
  --g400:#A1A1AA;--g500:#71717A;--g600:#52525B;--g700:#3F3F46;--g800:#27272A;
}
html{scroll-behavior:smooth}
body{font-family:'Outfit',sans-serif;background:var(--white);color:var(--black);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

/* ─── NAV ─── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 4%;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--g200);transition:.3s}
.nav.sticky{padding:.6rem 4%;box-shadow:0 4px 30px rgba(0,0,0,.06)}
.nav-logo{display:flex;align-items:center;gap:.6rem}
.nav-logo img{height:40px}
.nav-logo b{font-family:'Bebas Neue',sans-serif;font-size:1.65rem;letter-spacing:.06em}
.nav-logo b em{font-style:normal;color:var(--red)}
.nav-links{display:flex;align-items:center;gap:.3rem;list-style:none}
.nav-links a{font-size:.9rem;font-weight:500;color:var(--g600);padding:.5rem .8rem;border-radius:8px;transition:.2s}
.nav-links a:hover{color:var(--black);background:var(--g100)}
.nav-links .cta-link{background:var(--red);color:#fff;font-weight:600;padding:.55rem 1.4rem;border-radius:8px;margin-left:.3rem}
.nav-links .cta-link:hover{background:var(--red-h)}
.burger{display:none;background:0;border:1px solid var(--g300);border-radius:8px;padding:.4rem .6rem;cursor:pointer;font-size:1.3rem;color:var(--black)}

/* ─── HERO ─── */
.hero {
  background: var(--black);  /* fallback */
  background-image: 
    linear-gradient(rgba(9,9,11,0.75), rgba(9,9,11,0.85)),  /* dark overlay so text stays readable */
    url('https://bsideskerala.in/img/bsideskerala-intro-bg.jpg');
  background-size: cover;
  background-position: center;
}
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 5% 6rem;position:relative;overflow:hidden;color:#fff}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-bg .c1{position:absolute;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(220,38,38,.18),transparent 70%);top:-20%;left:-10%;animation:drift 12s ease-in-out infinite}
.hero-bg .c2{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.1),transparent 70%);bottom:-10%;right:-5%;animation:drift 15s ease-in-out infinite reverse}
.hero-bg .lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:80px 80px}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-20px) scale(1.08)}}
.hero-content{position:relative;z-index:1;max-width:1100px}
.hero-chip{display:inline-flex;align-items:center;gap:.6rem;/*! background:rgba(220,38,38,.12); *//*! border:1px solid rgba(220,38,38,.3); */padding:.6rem 1.5rem;border-radius:999px;margin-bottom:3rem;font-family:'JetBrains Mono',monospace;font-size:.85rem;/*! color:var(--red-h); */text-transform:uppercase;letter-spacing:.14em}
.hero-chip .dot{width:8px;height:8px;background:var(--red-h);border-radius:50%;animation:pls 2s infinite}
@keyframes pls{0%,100%{opacity:1}50%{opacity:.2}}
.hero h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(5rem,14vw,12rem);line-height:.88;letter-spacing:.05em;margin-bottom:2rem}
.hero h1 .block{display:block}
.hero h1 .red{color:var(--red)}
.hero-text{font-size:clamp(1.15rem,2vw,1.45rem);color:rgba(255,255,255,.55);line-height:1.7;max-width:650px;margin:0 auto 1rem}
.hero-text strong{color:rgba(255,255,255,.9)}
.hero-loc{font-family:'JetBrains Mono',monospace;font-size:1.05rem;color:rgba(255,255,255,.3);margin-bottom:3rem}
.hero-btns{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:'Outfit',sans-serif;font-weight:700;font-size:1.1rem;padding:1rem 2.5rem;border-radius:10px;border:none;cursor:pointer;transition:.3s}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-h);box-shadow:0 8px 30px rgba(220,38,38,.35);transform:translateY(-2px)}
.btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.18)}
.btn-secondary:hover{border-color:rgba(255,255,255,.5);transform:translateY(-2px)}

/* ─── COUNTDOWN ─── */
.cd-wrap{position:relative;z-index:2;margin-top:-4rem;padding:0 5%;margin-bottom:2rem}
.cd-title{text-align:center;padding-top:5rem;margin-bottom:1.5rem;font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,3.5vw,2.8rem);letter-spacing:.06em;color:var(--black)}
.cd-title em{font-style:normal;color:var(--red)}
.cd-grid{max-width:820px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.cd-item{background:#fff;border:1px solid var(--g200);border-radius:16px;padding:2rem 1rem;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.06);transition:.3s}
.cd-item:hover{border-color:var(--red);box-shadow:0 10px 40px rgba(220,38,38,.1);transform:translateY(-4px)}
.cd-item .val{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6vw,4.5rem);color:var(--red);line-height:1}
.cd-item .lbl{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--g500);text-transform:uppercase;letter-spacing:.16em;margin-top:.4rem}

/* ════════════════════════════════════════════════════════
   CONFERENCE INFO - HACKER + ENTERPRISE HYBRID
   Left: terminal readout  |  Right: clean enterprise cards
   ════════════════════════════════════════════════════════ */
.conf-info{
  background:var(--black);
  padding:0;overflow:hidden;
  position:relative;
}

.conf-split{
  max-width:1400px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;
  min-height:520px;
}

/* LEFT - Terminal Panel */
.conf-terminal{
  padding:3.5rem 4rem;
  position:relative;
  display:flex;flex-direction:column;justify-content:center;
  background:var(--black);
  border-right:1px solid rgba(255,255,255,.06);
}
.conf-terminal::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.008) 2px,rgba(255,255,255,.008) 3px);
}
.term-bar{
  display:flex;align-items:center;gap:.5rem;margin-bottom:2rem;position:relative;z-index:1;
}
.term-dot{width:10px;height:10px;border-radius:50%}
.term-dot.r{background:#EF4444}
.term-dot.y{background:#F59E0B}
.term-dot.g{background:#22C55E}
.term-bar span{
  margin-left:.8rem;font-family:'JetBrains Mono',monospace;
  font-size:.72rem;color:var(--g500);letter-spacing:.04em;
}
.term-body{position:relative;z-index:1}
.term-line{
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(.82rem,1.1vw,1rem);
  line-height:2.2;color:rgba(255,255,255,.45);
  white-space:nowrap;overflow:hidden;
}
.term-line .prompt{color:var(--green-l)}
.term-line .cmd{color:rgba(255,255,255,.85)}
.term-line .flag{color:var(--red-h)}
.term-line .val-str{color:var(--green-l)}
.term-line .comment{color:rgba(255,255,255,.2);font-style:italic}
.term-line .output{color:rgba(255,255,255,.55)}
.term-line .status-ok{color:var(--green-l);font-weight:700}
.term-line .status-pend{color:#F59E0B;font-weight:700}
.term-cursor{
  display:inline-block;width:8px;height:1.1em;
  background:var(--green-l);vertical-align:text-bottom;
  animation:tc .8s step-end infinite;margin-left:2px;
}
@keyframes tc{0%,100%{opacity:1}50%{opacity:0}}

/* Scan line overlay */
.conf-terminal::after{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(to right,transparent,rgba(34,197,94,.08),transparent);
  animation:scanline 4s linear infinite;pointer-events:none;z-index:2;
}
@keyframes scanline{0%{top:0}100%{top:100%}}

/* RIGHT - Enterprise Cards */
.conf-enterprise{
  padding:3.5rem 4rem;
  background:var(--white);
  display:grid;grid-template-columns:1fr 1fr;
  gap:1.2rem;align-content:center;
}
.ent-card{
  padding:2rem 1.8rem;
  border:1px solid var(--g200);
  border-radius:14px;
  transition:.35s;
  position:relative;
  overflow:hidden;
}
.ent-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--red);border-radius:14px 0 0 14px;
  opacity:0;transition:.3s;
}
.ent-card:hover{
  box-shadow:0 12px 40px rgba(0,0,0,.06);
  transform:translateY(-4px);
  border-color:var(--g300);
}
.ent-card:hover::before{opacity:1}

.ent-card:nth-child(2)::before{background:var(--green)}
.ent-card:nth-child(4)::before{background:var(--green)}

.ent-card-top{
  display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;
}
.ent-icon{
  width:42px;height:42px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.ent-icon.red-bg{background:var(--red);background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.12)}
.ent-icon.green-bg{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.12)}
.ent-icon svg{width:20px;height:20px}

.ent-card-label{
  font-family:'JetBrains Mono',monospace;
  font-size:.65rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--g400);
}
.ent-card h3{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(1.7rem,2.5vw,2.3rem);
  letter-spacing:.04em;color:var(--black);
  line-height:1.1;margin-bottom:.35rem;
}
.ent-card p{
  font-size:1.05rem;color:var(--g500);font-weight:500;line-height:1.45;
}

/* ─── SECTIONS ─── */
.sect{padding:5.5rem 5%}
.sect-alt{background:var(--g50)}
.wrap{max-width:1200px;margin:0 auto}
.sect-label{font-family:'JetBrains Mono',monospace;font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin-bottom:.8rem;display:flex;align-items:center;gap:.6rem}
.sect-label::before{content:'';width:24px;height:2px;background:var(--green)}
.sect-heading{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.8rem,6vw,4.8rem);line-height:.98;letter-spacing:.04em;margin-bottom:1.5rem}
.sect-heading .red{color:var(--red)}
.sect-text{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--g600);line-height:1.7;max-width:700px;margin-bottom:2.5rem}

.img-frame{border-radius:20px;overflow:hidden;border:1px solid var(--g200);box-shadow:0 20px 60px rgba(0,0,0,.08)}
.img-frame img{width:100%}

/* ─── KEYNOTE ─── */
.keynote-layout{display:grid;grid-template-columns:380px 1fr;gap:3.5rem;align-items:start;margin-top:.5rem}
.keynote-photo{border-radius:18px;overflow:hidden;border:1px solid var(--g200);box-shadow:0 16px 48px rgba(0,0,0,.07);position:relative}
.keynote-photo img{width:100%}
.keynote-photo .accent{position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(to bottom,var(--red),var(--green-l))}
.keynote-info h3{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:.04em;margin-bottom:.25rem}
.keynote-info .role{font-size:1.15rem;font-weight:700;color:var(--red);margin-bottom:1.8rem}
.keynote-info p{font-size:1.1rem;color:var(--g600);line-height:1.85;margin-bottom:1rem}
.keynote-info .note{font-weight:700;color:var(--green);font-size:1.05rem;padding:1rem 1.4rem;background:rgba(22,163,74,.06);border-left:4px solid var(--green);border-radius:0 12px 12px 0;margin-top:1rem}

/* ─── SPONSORS ─── */
.sponsors-img{max-width:100%;border-radius:20px;overflow:hidden;border:1px solid var(--g200);box-shadow:0 20px 60px rgba(0,0,0,.08)}

/* ─── VENUE ─── */
.venue-grid{display:grid;grid-template-columns:1.3fr 1fr;border-radius:20px;overflow:hidden;border:1px solid var(--g200);box-shadow:0 16px 48px rgba(0,0,0,.07);background:var(--white)}
.venue-map{min-height:400px;background:var(--black);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.venue-map::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 50px,rgba(220,38,38,.04) 50px,rgba(220,38,38,.04) 51px),repeating-linear-gradient(90deg,transparent,transparent 50px,rgba(220,38,38,.04) 50px,rgba(220,38,38,.04) 51px)}
.venue-map .pin{display:flex;flex-direction:column;align-items:center;gap:.8rem;position:relative;z-index:1}
.venue-map .pin svg{width:56px;height:56px;stroke:var(--red);filter:drop-shadow(0 0 20px rgba(220,38,38,.5));animation:bob 3s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.venue-map .pin span{font-family:'JetBrains Mono',monospace;font-size:.85rem;color:rgba(255,255,255,.4)}
.venue-right{padding:3.5rem;display:flex;flex-direction:column;justify-content:center}
.venue-right h3{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,3.5vw,2.8rem);letter-spacing:.04em;margin-bottom:.3rem}
.venue-right .vsub{color:var(--red);font-weight:700;font-size:1.1rem;margin-bottom:2rem}
.venue-right .vlist{display:flex;flex-direction:column;gap:1.2rem}
.venue-right .vitem{display:flex;align-items:center;gap:.8rem;font-size:1.1rem;color:var(--g600)}
.venue-right .vitem svg{width:22px;height:22px;stroke:var(--green);flex-shrink:0}

/* ─── CTA ─── */
.cta-block{background:var(--black);color:#fff;text-align:center;padding:7rem 5%;position:relative;overflow:hidden}
.cta-block::before{content:'';position:absolute;inset:0;pointer-events:none;}
.cta-block .inner{position:relative;z-index:1}
.cta-block h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(3.5rem,8vw,7rem);line-height:.92;letter-spacing:.05em;margin-bottom:1.2rem}
.cta-block h2 .red{color:var(--red)}
.cta-block p{font-size:clamp(1.05rem,1.5vw,1.3rem);color:rgba(255,255,255,.45);max-width:600px;margin:0 auto 2.5rem;line-height:1.7}
.blink{display:inline-block;width:4px;height:.8em;background:var(--red);margin-left:6px;vertical-align:text-bottom;animation:bk 1s step-end infinite}
@keyframes bk{0%,100%{opacity:1}50%{opacity:0}}

/* ─── FOOTER ─── */
.ft{border-top:1px solid var(--g200);padding:5rem 5% 2rem;background:var(--g50)}
.ft-inner{max-width:1200px;margin:0 auto}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:3rem;margin-bottom:4rem}
.ft-brand img{height:52px;margin-bottom:1.2rem}
.ft-brand p{font-size:1.05rem;color:var(--g600);line-height:1.7;max-width:340px}
.ft-col h4{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:.06em;margin-bottom:1.2rem;color:var(--black)}
.ft-col a{display:block;font-size:1rem;color:var(--g600);padding:.4rem 0;transition:.2s}
.ft-col a:hover{color:var(--red)}
.ft-bottom{border-top:1px solid var(--g200);padding-top:1.8rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.ft-bottom p{font-size:.9rem;color:var(--g500)}
.ft-bottom .love .heart{color:var(--red)}
.ft-bottom .love .grn{color:var(--green)}

.sep{max-width:1200px;margin:0 auto;height:1px;background:var(--g200)}

/* ─── RESPONSIVE ─── */
@media(max-width:1024px){
  .keynote-layout{grid-template-columns:300px 1fr;gap:2.5rem}
  .conf-split{grid-template-columns:1fr}
  .conf-terminal{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
}
@media(max-width:900px){
  .conf-enterprise{grid-template-columns:1fr}
  .keynote-layout{grid-template-columns:1fr}
  .venue-grid{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links{display:none}.burger{display:block}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--g200);padding:1rem 5%;backdrop-filter:blur(16px);gap:.2rem}
  .nav{padding:.7rem 5%}.hero{min-height:92vh;padding:7rem 5% 5rem}
  .cd-grid{grid-template-columns:repeat(2,1fr)}
  .conf-terminal{padding:2.5rem 2rem}
  .conf-enterprise{padding:2.5rem 2rem}
  .ft-grid{grid-template-columns:1fr;gap:2.5rem}
  .sect{padding:4rem 5%}
  .term-line{font-size:.78rem;white-space:normal}
}

.reveal{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}