
:root{--navy:#0b1f3a;--navy2:#132d52;--gold:#c9a24b;--gold2:#e6c97a;--ink:#1c2533;--mute:#5d6b80;--bg:#f7f5ef;--card:#fff;--line:#e6e1d4;--r:18px;--sh:0 10px 30px -12px rgba(11,31,58,.18)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;overflow-x:hidden}
h1,h2,h3{font-family:'Playfair Display',serif;color:var(--navy);line-height:1.2}
a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
section{padding:96px 0}
.eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}
.eyebrow:before{content:"";width:26px;height:2px;background:var(--gold)}
.h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:12px 0 14px}
.lead{color:var(--mute);max-width:620px}
.btn{white-space:nowrap;display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:600;font-size:.95rem;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s;position:relative;overflow:hidden}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy);box-shadow:0 8px 22px -8px rgba(201,162,75,.7)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.4);color:#fff}
.btn:hover{transform:translateY(-3px)}.btn:active{transform:scale(.97)}
.btn svg{transition:transform .25s}.btn:hover svg{transform:translateX(4px)}
/* intro */
#intro{position:fixed;inset:0;background:var(--navy);z-index:999;display:grid;place-items:center;transition:opacity .6s,visibility .6s}
#intro.done{opacity:0;visibility:hidden}
#intro .mono{font-family:'Playfair Display';font-size:clamp(1.5rem,5vw,2.4rem);color:var(--gold2);letter-spacing:.1em;animation:pulse 1.2s ease-in-out infinite}
#intro .bar{width:140px;height:2px;background:rgba(255,255,255,.15);margin:18px auto 0;overflow:hidden}
#intro .bar i{display:block;height:100%;width:40%;background:var(--gold);animation:load 1s ease-in-out infinite}
@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(260%)}}
@keyframes pulse{50%{opacity:.6}}
/* header */
header{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .35s}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;transition:height .35s}
header.shrink{background:rgba(11,31,58,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 6px 24px rgba(0,0,0,.18)}
header.shrink .wrap{height:64px}
.logo{display:flex;align-items:center;gap:12px;color:#fff}
.logo b{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy);font-family:'Playfair Display';font-size:1.05rem}
.logo span{font-family:'Playfair Display';font-size:1.12rem;line-height:1.1}.logo small{display:block;font-family:Inter;font-size:.68rem;letter-spacing:.16em;opacity:.7;text-transform:uppercase}
nav ul{display:flex;gap:30px;list-style:none}nav a{color:rgba(255,255,255,.85);font-size:.92rem;font-weight:500;position:relative}
nav a:after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--gold);transition:width .3s}nav a:hover,nav a.on{color:#fff}nav a:hover:after,nav a.on:after{width:100%}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer}.burger i{display:block;height:2px;background:#fff;margin:6px 8px;transition:.3s}
/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:130px 0 90px;color:#fff;overflow:hidden;
background:radial-gradient(1000px 600px at 85% 20%,rgba(201,162,75,.22),transparent 60%),radial-gradient(800px 500px at 0% 100%,rgba(70,120,200,.25),transparent 60%),linear-gradient(135deg,#081831,#13325c 60%,#0b1f3a);background-size:200% 200%;animation:grad 16s ease infinite}
@keyframes grad{50%{background-position:100% 50%}}
#particles{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.9rem);margin:18px 0 20px}
.hero h1 em{font-style:italic;background:linear-gradient(90deg,var(--gold),var(--gold2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:rgba(255,255,255,.78);font-size:1.08rem;max-width:540px}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.chips span{font-size:.8rem;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}
.art{position:relative;aspect-ratio:1/1;max-width:480px;width:100%;margin-left:auto}
.glass{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:22px;box-shadow:0 20px 50px -20px rgba(0,0,0,.5)}
.art .main{position:absolute;inset:8% 6% 14% 10%;padding:26px}
.art .f1{position:absolute;left:-2%;bottom:4%;padding:14px 18px;display:flex;gap:12px;align-items:center;animation:float 6s ease-in-out infinite}
.art .f2{position:absolute;right:-2%;top:0;padding:14px;animation:float 7s ease-in-out infinite reverse}
.art small{font-size:.75rem;opacity:.75}.art strong{display:block;font-size:.95rem}
@keyframes float{50%{transform:translateY(-14px)}}
.bars rect{transform-origin:bottom;transform-box:fill-box;animation:grow 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes grow{from{transform:scaleY(0)}}
.line-draw{stroke-dasharray:400;stroke-dashoffset:400;animation:draw 2.4s .6s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}
.scroll-ind{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:24px;height:40px;border:2px solid rgba(255,255,255,.4);border-radius:14px}
.scroll-ind:after{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold);animation:sd 1.8s infinite}@keyframes sd{to{transform:translateY(14px);opacity:0}}
/* about */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.about-art{position:relative;border-radius:26px;background:linear-gradient(160deg,var(--navy),var(--navy2));padding:40px;aspect-ratio:4/4.2;overflow:hidden}
.about-art:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(var(--gold),transparent 70%);opacity:.25;right:-80px;top:-80px}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.pill{padding:20px;border-radius:14px;background:#fff;border:1px solid var(--line);transition:.3s}
.pill:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:var(--sh)}
.pill h4{font-size:1rem;color:var(--navy);margin-bottom:4px}.pill p{font-size:.88rem;color:var(--mute)}
/* services */
.svc-bg{background:#fff}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}
.card{position:relative;padding:34px 30px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:transform .35s,box-shadow .35s,border-color .35s;overflow:hidden}
.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,162,75,.10),transparent 55%);opacity:0;transition:.35s}
.card:hover{transform:translateY(-8px);box-shadow:var(--sh);border-color:rgba(201,162,75,.6)}.card:hover:before{opacity:1}
.ic{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy2));margin-bottom:22px;transition:transform .4s}
.card:hover .ic{transform:rotate(-6deg) scale(1.08)}.ic svg{width:30px;height:30px}
.card h3{font-size:1.25rem;margin-bottom:10px;position:relative}.card p{color:var(--mute);font-size:.94rem;position:relative}
.card ul{margin-top:14px;list-style:none;position:relative}.card li{font-size:.86rem;color:var(--ink);padding:4px 0 4px 20px;position:relative}
.card li:before{content:"";position:absolute;left:0;top:12px;width:8px;height:8px;border-radius:2px;background:var(--gold);transform:rotate(45deg)}
/* tools */
.tools{background:linear-gradient(180deg,var(--bg),#efeadf)}
.tabs{display:inline-flex;position:relative;padding:6px;border-radius:999px;background:#fff;border:1px solid var(--line);margin:40px 0 28px;flex-wrap:wrap}
.tabs button{position:relative;z-index:1;border:0;background:none;padding:11px 24px;font:600 .92rem Inter;color:var(--mute);cursor:pointer;border-radius:999px;transition:color .3s}
.tabs button.on{color:#fff}.tabs .ind{position:absolute;top:6px;bottom:6px;border-radius:999px;background:var(--navy);transition:all .4s cubic-bezier(.6,.2,.2,1)}
.panel{display:none;grid-template-columns:1fr 1fr;gap:30px;animation:fadeUp .5s ease}.panel.on{display:grid}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}}
.calc{background:#fff;border-radius:var(--r);padding:32px;border:1px solid var(--line);box-shadow:var(--sh)}
.calc label{display:block;font-size:.84rem;font-weight:600;color:var(--navy);margin:16px 0 8px}
.calc input,.calc select{width:100%;padding:13px 15px;border-radius:12px;border:1.5px solid var(--line);font:500 1rem Inter;color:var(--ink);background:#fbfaf6;transition:border .25s,box-shadow .25s}
.calc input:focus,.calc select:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,162,75,.15)}
.calc input[type=range]{padding:0;accent-color:var(--gold);background:none;border:0;box-shadow:none}
.result{border-radius:var(--r);padding:32px;color:#fff;background:linear-gradient(150deg,var(--navy),#1d4378);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.result:after{content:"";position:absolute;width:260px;height:260px;right:-90px;bottom:-90px;border-radius:50%;border:40px solid rgba(201,162,75,.15)}
.result .row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.95rem}
.result .row b{font-variant-numeric:tabular-nums}.result .big{font-family:'Playfair Display';font-size:2.2rem;color:var(--gold2);margin-top:14px}
.note{font-size:.78rem;color:var(--mute);margin-top:18px}
/* resources */
.res{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px}
.rcard{padding:26px;border-radius:16px;background:#fff;border:1px solid var(--line);transition:.3s;display:flex;flex-direction:column;gap:10px}
.rcard:hover{transform:translateY(-6px);box-shadow:var(--sh)}.rcard h4{color:var(--navy);font-size:1rem}.rcard p{font-size:.85rem;color:var(--mute);flex:1}
.rcard span{font-size:.84rem;font-weight:600;color:var(--gold)}
/* contact */
.contact{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.contact h2{color:#fff}.contact .lead{color:rgba(255,255,255,.7)}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:46px}
.cinfo{padding:30px}.cinfo .it{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.cinfo .it svg{flex:none;width:22px;height:22px;margin-top:3px}.cinfo small{display:block;opacity:.6;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.map{border-radius:22px;overflow:hidden;min-height:340px;border:1px solid rgba(255,255,255,.15)}.map iframe{width:100%;height:100%;min-height:340px;border:0;filter:grayscale(.3)}
footer{background:#071429;color:rgba(255,255,255,.6);padding:40px 0;font-size:.84rem}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.disc{font-size:.78rem;color:rgba(255,255,255,.5);margin-top:14px;max-width:900px}
/* floating */
.fab{position:fixed;right:22px;z-index:60;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 26px -8px rgba(0,0,0,.4);transition:transform .3s,opacity .3s}
.wa{bottom:22px;background:#25d366}.wa:before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;animation:ring 2.4s infinite;z-index:-1}
@keyframes ring{to{transform:scale(1.6);opacity:0}}
.top{bottom:88px;background:var(--gold);border:0;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px)}
.top.show{opacity:1;pointer-events:auto;transform:none}.fab:hover{transform:translateY(-4px) scale(1.05)}
/* disclaimer modal (ICAI) */
#disc{position:fixed;inset:0;z-index:998;background:rgba(5,14,30,.7);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}
#disc.hide{display:none}
#disc .box{background:#fff;max-width:620px;border-radius:22px;padding:34px;max-height:88vh;overflow:auto;animation:fadeUp .5s}
#disc h3{font-size:1.5rem;margin-bottom:12px}#disc p{font-size:.9rem;color:var(--mute);margin-bottom:10px}
#disc .act{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.btn-navy{background:var(--navy);color:#fff}.btn-line{border:1.5px solid var(--line);color:var(--navy);background:#fff}
/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
/* responsive */
@media(max-width:1024px){.grid{grid-template-columns:1fr 1fr}.res{grid-template-columns:1fr 1fr}.hero .wrap{gap:30px}nav ul{gap:20px}}
@media(max-width:900px){
 .burger{display:block}
 nav{position:fixed;inset:0 0 0 auto;width:min(300px,82vw);background:var(--navy);transform:translateX(100%);transition:transform .4s;padding:100px 30px}
 nav.open{transform:none;box-shadow:-20px 0 60px rgba(0,0,0,.4)}nav ul{flex-direction:column;gap:24px}nav a{font-size:1.1rem}
 .burger{position:relative;z-index:2}.burger.x i:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger.x i:nth-child(2){opacity:0}.burger.x i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
 .hero .wrap,.about,.cgrid,.panel.on{grid-template-columns:1fr}
 .art{margin:10px auto 0;max-width:400px}.about-art{max-width:460px;width:100%;margin:auto}
}
@media(max-width:600px){section{padding:72px 0}.grid,.res,.pillars{grid-template-columns:1fr}.hero{padding-top:110px}
 .tabs{display:flex;width:100%}.tabs button{flex:1;padding:10px 8px;font-size:.84rem}.calc,.result{padding:24px}.logo span{font-size:1rem}.scroll-ind{display:none}
 .art .f1{left:0}.art .f2{right:0}.hero .cta .btn{flex:1;justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}.line-draw{stroke-dashoffset:0}}
.photo{position:absolute;left:24px;bottom:24px;z-index:3;display:flex;align-items:center;gap:14px;padding:10px 18px 10px 10px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);color:#fff}.photo img,.photo span{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--gold)}.photo span{display:grid;place-items:center;background:var(--navy)}.photo img+span{display:none}.photo em{font-style:normal;font-weight:600;font-size:.95rem;line-height:1.3}.photo small{font-weight:400;opacity:.7;font-size:.75rem}.contact a{color:#fff}

/* LIGHT THEME + LARGER TYPE */
html{font-size:18px}@media(max-width:600px){html{font-size:17px}}
body{background:#fbf9f4}
.hero{color:var(--ink);background:radial-gradient(900px 600px at 85% 15%,rgba(201,162,75,.20),transparent 60%),radial-gradient(800px 500px at 0% 100%,rgba(120,160,220,.18),transparent 60%),linear-gradient(135deg,#fffdf8,#f3eee2 60%,#eef2f8);background-size:200% 200%}
.hero h1{color:var(--navy)}.hero p{color:#3d4a5e;font-size:1.15rem}
.hero h1 em{background:linear-gradient(90deg,#a9802a,#c9a24b);-webkit-background-clip:text;background-clip:text}
.eyebrow{color:#a9802a;font-size:.8rem}.eyebrow:before{background:#a9802a}
.btn{font-size:1.02rem;padding:15px 30px}
.btn-ghost{border-color:var(--navy);color:var(--navy);background:rgba(255,255,255,.6)}
.btn-gold{background:var(--navy);color:#fff;box-shadow:0 10px 24px -10px rgba(11,31,58,.55)}
.chips span{background:#fff;border-color:var(--line);color:var(--navy);font-size:.85rem}
.glass{background:rgba(255,255,255,.72);border:1px solid rgba(201,162,75,.3);box-shadow:0 24px 50px -24px rgba(11,31,58,.3)}
.art small{color:var(--mute);opacity:1}.art strong{color:var(--navy)}
.art .main text{fill:#5d6b80}.art .main g[stroke]{stroke:rgba(11,31,58,.08)}
.art .main .line-draw{stroke:var(--navy)}.art .main circle{fill:var(--navy)}
.scroll-ind{border-color:rgba(11,31,58,.35)}
header .logo{color:var(--navy)}nav a{color:#33415a;font-size:1rem}nav a:hover,nav a.on{color:var(--navy)}
.burger i{background:var(--navy)}
header.shrink{background:rgba(255,253,248,.88);box-shadow:0 6px 24px rgba(11,31,58,.08)}
.logo span{font-size:1.25rem}.logo small{font-size:.7rem;color:#a9802a;opacity:1}
.about-art{background:linear-gradient(160deg,#eef2f8,#f6efdc)}
.about-art rect[fill="#16345e"]{fill:#fff;stroke:rgba(11,31,58,.2)}.about-art rect{stroke:rgba(11,31,58,.18)}
.about-art line{stroke:var(--navy)}.about-art path{stroke:#c9a24b}
.photo{background:rgba(255,255,255,.85);color:var(--navy);border-color:rgba(201,162,75,.4)}.photo span{background:#eef2f8}.photo span svg{stroke:var(--navy)}
.lead{font-size:1.08rem;color:#4a576b}
.pill h4{font-size:1.1rem}.pill p{font-size:.95rem}
.card p{font-size:1rem}.card li{font-size:.95rem}.card h3{font-size:1.35rem}
.ic{background:linear-gradient(135deg,#f6efdc,#fff);border:1px solid rgba(201,162,75,.35)}.ic svg{stroke:#a9802a}
.tabs button{font-size:1rem;padding:12px 28px}
.calc label{font-size:.95rem}.calc input,.calc select{font-size:1.05rem;padding:14px 16px}
.result{background:linear-gradient(150deg,#fff,#f6efdc);color:var(--ink);border:1px solid rgba(201,162,75,.35)}
.result .row{border-color:rgba(11,31,58,.1);font-size:1rem}.result .big{color:var(--navy)}.result small{color:var(--mute);opacity:1!important;font-size:.9rem}
.note{font-size:.88rem}
.rcard h4{font-size:1.1rem}.rcard p{font-size:.95rem}.rcard span{color:#a9802a;font-size:.95rem}
.contact{background:linear-gradient(180deg,#f3eee2,#fbf9f4);color:var(--ink)}.contact h2{color:var(--navy)}.contact .lead{color:#4a576b}
.contact a{color:var(--navy)}.cinfo .it{border-color:rgba(11,31,58,.1);font-size:1rem}.cinfo small{font-size:.8rem;color:#a9802a;opacity:1}.cinfo .it svg{stroke:#a9802a}
.map{border-color:var(--line)}
footer{background:#fff;border-top:1px solid var(--line);color:#4a576b;font-size:.9rem}footer strong{color:var(--navy)!important}
.disc{font-size:.85rem;color:#5d6b80}
#disc p{font-size:1rem}
#intro{background:#fbf9f4}#intro .mono{color:var(--navy)}#intro .bar{background:rgba(11,31,58,.1)}
nav{} @media(max-width:900px){nav{background:#fffdf8}nav a{font-size:1.15rem}}
.team{display:grid;grid-template-columns:repeat(2,minmax(0,320px));gap:28px;margin-top:40px}
.tcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 18px 24px;text-align:center;transition:.35s}
.tcard:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:rgba(201,162,75,.6)}
.tph{aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#eef2f8,#f6efdc);margin-bottom:18px}
.tph img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s}.tcard:hover .tph img{transform:scale(1.04)}
.tcard h3{font-size:1.3rem}.tcard p{color:#a9802a;font-weight:600;font-size:.95rem;margin-top:4px}
@media(max-width:600px){.team{grid-template-columns:1fr;max-width:340px;margin-inline:auto}}
.tcard p.tpa{color:#4a576b;font-weight:500;font-size:.9rem;margin-top:8px}/* official CA India logo (unaltered, on white with clear space) */
.ca-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:5px 7px;border-radius:6px;flex:0 0 auto;line-height:0}
.ca-logo img{height:40px;width:auto;display:block}
header.shrink .ca-logo img{height:34px}
.foot-logo{margin-bottom:10px}.foot-logo img{height:34px}
@media(max-width:600px){.ca-logo{padding:4px 5px}.ca-logo img{height:30px}.foot-logo img{height:28px}}
.wa-link{color:#1da851!important;font-weight:600}
@media(max-width:600px){.fab{right:16px;width:50px;height:50px}.wa{bottom:16px}.top{bottom:76px}}
