@font-face{font-family:Montserrat;font-weight:400;font-display:swap;src:url(assets/fonts/montserrat-400.woff2) format("woff2")}@font-face{font-family:Montserrat;font-weight:600;font-display:swap;src:url(assets/fonts/montserrat-600.woff2) format("woff2")}@font-face{font-family:Montserrat;font-weight:700;font-display:swap;src:url(assets/fonts/montserrat-700.woff2) format("woff2")}@font-face{font-family:"Playfair Display";font-weight:500;font-display:swap;src:url(assets/fonts/playfair-500.woff2) format("woff2")}
:root{--bg:#040b1c;--sf:#0a1530;--ink:#eaf0fb;--mut:#9fb0cc;--ac:#4cc9f0;--ac2:#f5a524;--ln:#1a2a4d;--sh:0 16px 34px rgba(0,0,0,.55);--ct:#02060f}
[data-theme=light]{--bg:#eef3fa;--sf:#fff;--ink:#0a1a3a;--mut:#4a5d7e;--ac:#0b6fa4;--ac2:#c77700;--ln:#d3deee;--sh:0 14px 30px rgba(10,26,58,.15);--ct:#0a1a3a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 Montserrat,system-ui,sans-serif;transition:background .3s}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.2}a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--ac2);outline-offset:2px}.wrap{max-width:1160px;margin:auto;padding:0 22px}
header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--ln)}
.bar{max-width:1160px;margin:auto;padding:12px 22px;display:flex;align-items:center;gap:16px}.logo{font-weight:700;letter-spacing:.2em;margin-right:auto}.logo b{color:var(--ac)}
nav{display:flex;gap:2px}.nb{position:relative}.nb>button,.nb>a{background:none;border:0;color:var(--ink);font:600 .85rem Montserrat,sans-serif;padding:10px 12px;border-radius:8px;cursor:pointer;display:block}
.nb:hover>button,.nb>a:hover{background:var(--sf);color:var(--ac)}.dd{display:none;position:absolute;top:100%;left:0;min-width:270px;background:var(--sf);border:1px solid var(--ln);border-radius:12px;box-shadow:var(--sh);padding:8px}
.nb:hover .dd,.nb:focus-within .dd,.nb.open .dd{display:block}.dd a{display:block;padding:8px 12px;border-radius:8px;font-size:.9rem;transition:transform .2s}.dd a:hover{background:var(--bg);color:var(--ac);transform:translateX(5px)}.dd small{display:block;padding:6px 12px 0;color:var(--mut);font-weight:600}
#th,#mb{background:var(--sf);border:1px solid var(--ln);color:var(--ink);width:40px;height:40px;border-radius:50%;cursor:pointer}#mb{display:none}
.hero{min-height:300px;display:grid;place-items:center;text-align:center;padding:70px 22px;background:linear-gradient(rgba(4,11,28,.62),rgba(4,11,28,.9)),url(assets/hero.jpg) center/cover,url(assets/hero.svg) center/cover,#061232;color:#fff}
.hero.big{min-height:78vh}.hero h1{font-size:clamp(2.2rem,6vw,4.4rem);margin:.2em 0}.sub{font-size:1.2rem;color:#c6d4ee;margin:0 0 26px}.logo2{letter-spacing:.35em;font-weight:700;font-size:.9rem}
.tw{border-right:3px solid var(--ac2);padding-right:4px;animation:bl .8s step-end infinite}@keyframes bl{50%{border-color:transparent}}
.btn{display:inline-block;background:var(--ac);color:#04101f;font:600 .95rem Montserrat;padding:13px 26px;border-radius:10px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-4px);box-shadow:var(--sh)}.btn.o{background:none;color:var(--ink);border:1.5px solid var(--ln)}
.back{margin:24px 0 0;background:none;border:1.5px solid var(--ln);color:var(--ink);padding:8px 18px;border-radius:30px;font:600 .9rem Montserrat;cursor:pointer;transition:transform .2s}.back:hover{border-color:var(--ac);color:var(--ac);transform:translateX(-4px)}
.band{padding:56px 0;border-bottom:1px solid var(--ln)}.band p{font:500 clamp(1.4rem,3vw,2.1rem)/1.4 "Playfair Display",serif;max-width:900px;margin:0}
main h2{font-size:2rem;margin:54px 0 10px}.muted{color:var(--mut);margin-top:0}main{padding-bottom:40px}.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:34px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin:20px 0}
.card{display:block;background:var(--sf);border:1px solid var(--ln);border-radius:14px;padding:24px;transition:transform .25s,box-shadow .25s,border-color .25s}.card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--sh);border-color:var(--ac)}
.card h3{font-size:1.25rem;margin:.2em 0}.card p{color:var(--mut);margin:0;font-size:.93rem}.pill{color:var(--ac);font-weight:600;font-size:.8rem}
.badge{display:inline-block;margin-top:34px;border:1px solid var(--ac2);color:var(--ac2);padding:4px 14px;border-radius:20px;font-weight:600;font-size:.85rem}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:12px}.steps li{counter-increment:s;background:var(--sf);border:1px solid var(--ln);border-radius:12px;padding:16px 20px 16px 62px;position:relative}.steps li:before{content:counter(s);position:absolute;left:18px;top:12px;width:32px;height:32px;border-radius:50%;background:var(--ac);color:#04101f;display:grid;place-items:center;font-weight:700}
ul.ft{padding:0;list-style:none;display:grid;gap:10px}ul.ft li{padding-left:26px;position:relative}ul.ft li:before{content:"";position:absolute;left:0;top:.65em;width:11px;height:11px;border-radius:3px;background:var(--ac2)}
.flip{perspective:1000px;height:350px;border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:center}.fi{position:relative;height:100%;transition:transform .7s;transform-style:preserve-3d}
.flip:hover .fi,.flip:focus-visible .fi,.flip.on .fi{transform:rotateY(180deg)}.fa,.fb{position:absolute;inset:0;backface-visibility:hidden;background:var(--sf);border:1px solid var(--ln);border-radius:16px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.fb{transform:rotateY(180deg);justify-content:space-between;font-size:.88rem;color:var(--mut)}.fb h3{color:var(--ink);margin:0;font-size:1.15rem}.fb small{display:block;color:var(--ac);font:500 .78rem Montserrat}.fa h3{margin:8px 0 0}.fa span{color:var(--mut);font-size:.9rem}
.av{position:relative;width:180px;height:180px;border-radius:50%;background:linear-gradient(135deg,var(--ac),var(--ac2));display:grid;place-items:center;font:600 2.4rem "Playfair Display";color:#04101f;overflow:hidden}
.av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%}
.av img.team-arvind{object-position:center 15%}
.av img.team-tarang{object-position:center 8%}
.av img.team-dharni{object-position:center 18%}
.av img.team-rushita{object-position:center 12%}
.soc{display:flex;gap:8px;min-height:30px}.soc a{border:1px solid var(--ac);color:var(--ac);padding:4px 14px;border-radius:20px;font:600 .8rem Montserrat}.soc a:hover{background:var(--ac);color:#04101f}
.contact{background:var(--ct);color:#fff;text-align:center;padding:70px 22px}.contact h2{font-size:2.4rem;margin:0;color:#c9d3e6}.contact hr{width:60px;border:0;border-top:1px solid #3a4a6e;margin:20px auto}.contact p{color:#9fb0cc}
footer{background:var(--ct);color:#7f90b0;text-align:center;padding:24px 22px;font-size:.85rem;border-top:1px solid #12203f}.dis{max-width:760px;margin:0 auto 10px;color:#c9d3e6;font-weight:600}
@media(max-width:900px){#mb{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);flex-direction:column;padding:10px 22px;max-height:80vh;overflow:auto;border-bottom:1px solid var(--ln)}nav.on{display:flex}.dd{position:static;box-shadow:none;border:0}.nb:hover .dd{display:none}.nb.open .dd{display:block}}
.logo{display:flex;align-items:center;gap:10px}.logo img{width:28px;height:28px}
.logo-img{width:96px;height:96px;filter:drop-shadow(0 0 24px rgba(76,201,240,.55));animation:fl 6s ease-in-out infinite}@keyframes fl{50%{transform:translateY(-8px)}}
.rv{opacity:0;translate:0 26px;transition:opacity .7s,translate .7s}.rv.in{opacity:1;translate:none}.card.rv{transition:transform .25s,box-shadow .25s,border-color .25s,opacity .7s,translate .7s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1!important;translate:none!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}