
:root{--navy:#003988;--navy-dark:#002060;--off:#F4F6FF;--ink:#0A0A1A;--muted:#5A6080;--saffron:#FF6B00;--gold:#F7C948;--green:#138808;}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Lato',sans-serif;background:#fff;color:var(--ink);overflow-x:hidden;cursor:none;}

#cursor{width:12px;height:12px;background:var(--navy);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .2s;}
#cursor-ring{width:36px;height:36px;border:2px solid var(--navy);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:transform .18s ease,width .25s,height .25s;}
body:has(a:hover) #cursor,body:has(button:hover) #cursor{width:20px;height:20px;background:var(--saffron);}
body:has(a:hover) #cursor-ring,body:has(button:hover) #cursor-ring{width:50px;height:50px;border-color:var(--saffron);}

@keyframes fadeUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideR{from{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideL{from{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}
@keyframes spinCW{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes counterUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);}
.reveal.up{opacity:1;transform:translateY(0);}
.reveal-r{opacity:0;transform:translateX(-40px);transition:opacity .7s ease,transform .7s ease;}
.reveal-r.up{opacity:1;transform:translateX(0);}
.reveal-l{opacity:0;transform:translateX(40px);transition:opacity .7s ease,transform .7s ease;}
.reveal-l.up{opacity:1;transform:translateX(0);}

/* ── PAGE HERO (ABOUT) ── */
.page-hero{padding:120px 5% 70px;background:#fff;position:relative;overflow:hidden;border-bottom:3px solid var(--navy);}
.page-hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 59px,rgba(0,57,136,.05) 59px,rgba(0,57,136,.05) 60px);pointer-events:none;}
.ph-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:2;}
.ph-eyebrow{display:flex;align-items:center;gap:8px;font-family:'Lato',sans-serif;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:3px;color:var(--saffron);margin-bottom:14px;}
.ph-eyebrow::before{content:'';width:30px;height:3px;background:var(--saffron);}
.ph-h1{font-family:'Poppins',sans-serif;font-size:clamp(42px,6vw,80px);font-weight:900;line-height:.95;letter-spacing:-3px;text-transform:uppercase;color:var(--ink);margin-bottom:22px;}
.ph-h1 .inv{display:inline-block;background:var(--navy);color:#fff;padding:2px 10px;}
.ph-h1 .out{-webkit-text-stroke:3px var(--navy);color:transparent;}
.ph-sub{font-size:16px;line-height:1.8;color:var(--muted);border-left:4px solid var(--saffron);padding-left:16px;margin-bottom:28px;}
.ph-sub strong{color:var(--ink);}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:20px;}
.breadcrumb a{color:var(--navy);text-decoration:none;font-weight:700;}
.breadcrumb span{color:var(--muted);}

/* Right visual — story card stack */
.ph-visual{position:relative;}
.story-card-main{background:var(--navy);border:3px solid var(--navy);padding:32px;box-shadow:8px 8px 0 rgba(0,57,136,.2);position:relative;overflow:hidden;}
.story-card-main::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 12px);}
.sc-year{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--gold);margin-bottom:8px;}
.sc-bignum{font-family:'Poppins',sans-serif;font-size:72px;font-weight:900;color:#fff;line-height:1;letter-spacing:-4px;}
.sc-label{font-size:14px;color:rgba(255,255,255,.6);margin-top:4px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;}
.sc-divider{height:2px;background:rgba(255,255,255,.15);margin:18px 0;}
.sc-stats-row{display:flex;gap:0;}
.sc-stat{flex:1;text-align:center;border-right:1px solid rgba(255,255,255,.12);padding:0 12px;}
.sc-stat:last-child{border-right:none;}
.sc-stat-n{font-family:'Poppins',sans-serif;font-size:22px;font-weight:900;color:var(--gold);line-height:1;}
.sc-stat-l{font-size:10px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:1px;margin-top:3px;}

.float-badge{position:absolute;background:#fff;border:3px solid var(--navy);box-shadow:4px 4px 0 var(--navy);padding:10px 16px;font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;color:var(--navy);}
.fb1{bottom:-20px;right:-10px;animation:float 3.5s ease-in-out infinite;}
.fb2{top:-16px;left:-16px;animation:float 4s ease-in-out 1s infinite;}

/* ── TICKER ── */
.ticker-wrap{background:var(--navy);border-top:3px solid var(--navy-dark);border-bottom:3px solid var(--navy-dark);overflow:hidden;height:46px;display:flex;align-items:center;}
.ticker-track{display:flex;white-space:nowrap;animation:marquee 25s linear infinite;}
.ticker-item{display:inline-flex;align-items:center;gap:10px;padding:0 30px;font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1.5px;}
.tsep{color:var(--gold);font-size:16px;}

/* ── SHARED SECTION STYLES ── */
.section{padding:80px 5%;}
.si{max-width:1200px;margin:0 auto;}
.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:3px;color:var(--saffron);margin-bottom:12px;}
.eyebrow::before{content:'';width:28px;height:3px;background:var(--saffron);}
.sec-title{font-family:'Poppins',sans-serif;font-size:clamp(28px,4vw,48px);font-weight:900;line-height:1.05;letter-spacing:-1.5px;text-transform:uppercase;color:var(--ink);}
.sec-title .blk{background:var(--navy);color:#fff;padding:0 8px;margin-left:4px;}
.sec-title .saf{color:var(--saffron);}
.sec-sub{font-size:15px;line-height:1.8;color:var(--muted);max-width:560px;margin-top:12px;}
.btn-solid{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;padding:13px 28px;border:3px solid var(--navy);text-decoration:none;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden;transition:border-color .2s;}
.btn-solid::after{content:'';position:absolute;inset:0;background:var(--saffron);transform:translateX(-101%);transition:transform .3s ease;z-index:0;}
.btn-solid span{position:relative;z-index:1;}
.btn-solid:hover::after{transform:translateX(0);}
.btn-solid:hover{border-color:var(--saffron);}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--navy);font-family:'Poppins',sans-serif;font-weight:700;font-size:14px;padding:13px 28px;border:3px solid var(--navy);text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:background .2s,color .2s;}
.btn-ghost:hover{background:var(--navy);color:#fff;}

/* ── STORY SECTION ── */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:3px solid var(--navy);margin-top:50px;}
.story-left{padding:48px 40px;border-right:3px solid var(--navy);}
.story-right{padding:48px 40px;background:var(--off);}
.story-stamp{display:inline-flex;align-items:center;gap:8px;border:3px solid var(--navy);padding:6px 14px;margin-bottom:20px;}
.stamp-flag{display:inline-flex;flex-direction:column;gap:2px;width:20px;}
.stamp-flag span{display:block;height:3px;border-radius:1px;}
.stamp-flag .s1{background:#FF9933;}
.stamp-flag .s2{background:#fff;border:1px solid #ddd;}
.stamp-flag .s3{background:#138808;}
.stamp-lbl{font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:2px;}
.story-p{font-size:15px;line-height:1.85;color:var(--muted);margin-bottom:16px;}
.story-p strong{color:var(--ink);}
.story-p.desi{border-left:4px solid var(--gold);padding-left:14px;font-style:italic;color:var(--navy);font-weight:700;}

.timeline{list-style:none;margin-top:24px;}
.tl-item{display:flex;gap:16px;padding-bottom:24px;position:relative;}
.tl-item::before{content:'';position:absolute;left:11px;top:24px;bottom:0;width:2px;background:rgba(0,57,136,.12);}
.tl-item:last-child::before{display:none;}
.tl-dot{width:24px;height:24px;background:var(--navy);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.tl-dot svg{width:12px;height:12px;color:#fff;}
.tl-year{font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;color:var(--saffron);text-transform:uppercase;letter-spacing:2px;margin-bottom:4px;}
.tl-text{font-size:14px;color:var(--muted);line-height:1.65;}
.tl-text strong{color:var(--ink);display:block;font-size:15px;margin-bottom:3px;}

/* ── TEAM ── */
.team-section{background:var(--navy);padding:80px 5%;position:relative;overflow:hidden;}
.team-section::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 12px);pointer-events:none;}
.team-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1;}
.team-section .eyebrow{color:var(--gold);}
.team-section .eyebrow::before{background:var(--gold);}
.team-section .sec-title{color:#fff;}
.team-section .sec-title .blk{background:#fff;color:var(--navy);}
.team-section .sec-sub{color:rgba(255,255,255,.6);}
.team-desi{font-family:'Poppins',sans-serif;font-size:13px;font-style:italic;color:var(--gold);margin-top:6px;}

.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:3px solid rgba(255,255,255,.2);margin-top:50px;}
.team-card{padding:32px 24px;border-right:3px solid rgba(255,255,255,.12);position:relative;transition:background .25s;}
.team-card:last-child{border-right:none;}
.team-card:hover{background:rgba(255,255,255,.06);}
.tc-avatar{width:72px;height:72px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:26px;font-weight:900;color:#fff;border:3px solid rgba(255,255,255,.2);position:relative;}
.tc-avatar::after{content:'';position:absolute;bottom:-4px;right:-4px;width:16px;height:16px;border:2px solid var(--navy);}
.tc-name{font-family:'Poppins',sans-serif;font-size:17px;font-weight:800;color:#fff;margin-bottom:4px;}
.tc-role{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin-bottom:10px;}
.tc-desc{font-size:13px;color:rgba(255,255,255,.55);line-height:1.65;}
.tc-fun{font-size:12px;color:var(--saffron);margin-top:10px;font-style:italic;}

/* ── VALUES ── */
.values-section{padding:80px 5%;background:#fff;}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:3px solid var(--navy);margin-top:50px;}
.val-card{padding:36px 28px;border-right:3px solid var(--navy);border-bottom:3px solid var(--navy);position:relative;overflow:hidden;transition:background .3s;}
.val-card:nth-child(3n){border-right:none;}
.val-card:nth-last-child(-n+3){border-bottom:none;}
.val-card::before{content:'';position:absolute;inset:0;background:var(--navy);transform:translateY(101%);transition:transform .35s cubic-bezier(.22,1,.36,1);z-index:0;}
.val-card:hover::before{transform:translateY(0);}
.val-card>*{position:relative;z-index:1;}
.val-card:hover .vc-num,.val-card:hover .vc-title,.val-card:hover .vc-desc{color:#fff;}
.val-card:hover .vc-icon{background:rgba(255,255,255,.12);}
.val-card:hover .vc-icon svg{color:#fff;}
.vc-num{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:3px;color:var(--muted);margin-bottom:16px;display:block;transition:color .25s;}
.vc-icon{width:50px;height:50px;background:var(--off);display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:background .25s;}
.vc-icon svg{width:24px;height:24px;color:var(--navy);transition:color .25s;}
.vc-title{font-family:'Poppins',sans-serif;font-size:19px;font-weight:800;color:var(--ink);margin-bottom:10px;transition:color .25s;}
.vc-desc{font-size:14px;color:var(--muted);line-height:1.7;transition:color .25s;}

/* ── WHY KOLKATA BAND ── */
.kolkata-band{background:var(--off);border-top:3px solid var(--navy);border-bottom:3px solid var(--navy);padding:40px 5%;}
.kb-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:40px;flex-wrap:wrap;}
.kb-left{flex:0 0 auto;}
.kb-map-svg{width:140px;height:140px;animation:float 4s ease-in-out infinite;}
.kb-right{flex:1;}
.kb-title{font-family:'Poppins',sans-serif;font-size:28px;font-weight:900;color:var(--navy);letter-spacing:-1px;text-transform:uppercase;margin-bottom:8px;}
.kb-desc{font-size:14px;color:var(--muted);line-height:1.75;max-width:540px;}
.kb-desc strong{color:var(--ink);}
.kb-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}
.kb-chip{display:flex;align-items:center;gap:6px;background:#fff;border:2px solid var(--navy);padding:6px 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);}

/* ── CTA ── */
.cta-band{background:var(--ink);padding:70px 5%;position:relative;overflow:hidden;}
.cta-band::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(0,57,136,.4) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;}
.cta-band-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;z-index:1;}
.cta-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--gold);margin-bottom:10px;}
.cta-ttl{font-family:'Poppins',sans-serif;font-size:clamp(28px,4vw,44px);font-weight:900;color:#fff;line-height:1.05;letter-spacing:-1px;text-transform:uppercase;margin-bottom:6px;}
.cta-ttl span{background:var(--saffron);padding:0 8px;}
.cta-desi{font-size:14px;color:rgba(255,255,255,.5);font-style:italic;margin-bottom:24px;}
.cta-btns{display:flex;gap:12px;flex-wrap:wrap;}
.cta-right{border:3px solid rgba(255,255,255,.15);padding:28px;}
.cta-info-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;}
.cta-info-item:last-child{margin-bottom:0;}
.cii-icon{width:36px;height:36px;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cii-icon svg{width:16px;height:16px;color:#fff;}
.cii-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.4);margin-bottom:3px;}
.cii-val{font-size:14px;font-weight:700;color:#fff;}

/* ── FOOTER ── */
footer{background:var(--navy);color:rgba(255,255,255,.65);padding:56px 5% 0;}
.footer-top{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:44px;padding-bottom:44px;border-bottom:3px solid rgba(255,255,255,.12);}
.footer-brand .logo-wrap{margin-bottom:16px;display:inline-flex;}
.footer-tagline{font-size:14px;line-height:1.8;margin-bottom:20px;color:rgba(255,255,255,.5);border-left:3px solid var(--saffron);padding-left:14px;}
.footer-socials{display:flex;gap:8px;}
.fsoc{width:36px;height:36px;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;color:rgba(255,255,255,.6);cursor:pointer;transition:background .2s,border-color .2s,color .2s;}
.fsoc:hover{background:var(--saffron);border-color:var(--saffron);color:#fff;}
.footer-col h5{font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid rgba(255,255,255,.15);}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:10px;}
.footer-col a{font-size:13px;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:6px;}
.footer-col a:hover{color:#fff;}
.footer-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:20px 0 24px;}
.footer-bottom p{font-size:12px;}
.footer-legal{display:flex;gap:20px;}
.footer-legal a{font-size:11px;color:rgba(255,255,255,.35);text-decoration:none;transition:color .2s;}
.footer-legal a:hover{color:var(--gold);}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .ph-inner{grid-template-columns:1fr;}
  .story-grid{grid-template-columns:1fr;}
  .story-left{border-right:none;border-bottom:3px solid var(--navy);}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .team-card:nth-child(2){border-right:none;}
  .team-card:nth-child(3){border-top:3px solid rgba(255,255,255,.12);}
  .cta-band-inner{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}
  .val-card:nth-child(2n){border-right:none;}
  .val-card:nth-last-child(-n+2){border-bottom:none;}
  .val-card:nth-last-child(-n+3){border-bottom:3px solid var(--navy);}
}
@media(max-width:640px){
  nav a:not(.nav-cta){display:none;}
  .team-grid{grid-template-columns:1fr;}
  .team-card{border-right:none!important;border-bottom:3px solid rgba(255,255,255,.12);}
  .values-grid{grid-template-columns:1fr;}
  .val-card{border-right:none!important;}
  .footer-top{grid-template-columns:1fr;}
  .kb-inner{flex-direction:column;}
}