:root { --navy:#071d36; --navy-2:#0c2c4d; --ink:#142033; --muted:#46566b; --gold:#c8a462; --gold-light:#ead6ae; --ivory:#f8f7f4; --white:#fff; --line:#dce2e8; --shadow:0 16px 45px rgba(8,28,52,.08); --radius:18px; --container:1180px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-padding-top:124px; } body { margin:0; color:var(--ink); background:var(--white); font-family:"Times New Roman",Times,Georgia,serif; font-size:17px; line-height:1.7; -webkit-text-size-adjust:100%; text-rendering:optimizeLegibility; } img { max-width:100%; } body.nav-open { overflow:hidden; } a { color:inherit; text-decoration:none; } button { font:inherit; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { line-height:1.12; } h1,h2 { font-family:"Playfair Display",Georgia,serif; font-weight:600; letter-spacing:-.035em; } h1 em,h2 em { color:var(--gold); font-style:italic; } .container { width:min(calc(100% - 48px),var(--container)); margin-inline:auto; } .skip-link { position:absolute; left:-9999px; top:8px; z-index:999; background:var(--white); padding:8px 16px; color:var(--navy); } .skip-link:focus { left:8px; } .site-header { height:110px; display:flex; align-items:center; background:rgba(255,255,255,.94); position:sticky; top:0; z-index:100; border-bottom:1px solid transparent; transition:box-shadow .25s,border-color .25s; } .site-header.is-scrolled { border-color:var(--line); box-shadow:0 5px 18px rgba(8,28,52,.05); } .nav-wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; } .brand { display:flex; align-items:center; gap:10px; min-width:max-content; } .brand-mark { width:74px; height:62px; display:block; flex:0 0 auto; color:transparent; background:url("../images/ca-india-logo.png") center / contain no-repeat; font-size:0; } .brand-mark span { visibility:hidden; } .brand-name { color:var(--navy); font-family:"Playfair Display",serif; font-size:32px; font-weight:700; line-height:1; letter-spacing:-.03em; } .brand-name i { color:var(--gold); font-style:normal; font-size:26px; } .brand-name small { display:block; margin-top:6px; font-family:"Times New Roman",Times,Georgia,serif; font-size:12.5px; font-weight:700; letter-spacing:.16em; } .site-nav { align-items:center; display:flex; gap:25px; font-size:15px; font-weight:600; } .site-nav > a:not(.nav-contact) { position:relative; color:#415066; } .site-nav > a:not(.nav-contact)::after { content:""; position:absolute; width:0; height:2px; bottom:-10px; left:0; background:var(--gold); transition:width .2s; } .site-nav > a:hover,.site-nav > a.active { color:var(--navy); } .site-nav > a.active::after,.site-nav > a:hover::after { width:100%; } .nav-contact { padding:10px 14px; display:flex; gap:6px; align-items:center; color:var(--navy); border:1px solid #cbd3dc; border-radius:3px; } .nav-contact:hover { background:var(--navy); color:white; border-color:var(--navy); } .nav-contact svg { width:14px; height:14px; } .menu-toggle { display:none; width:40px; height:40px; border:0; background:transparent; padding:9px; cursor:pointer; } .menu-toggle span { display:block; height:2px; width:100%; margin:5px 0; background:var(--navy); transition:.2s; }
.hero { position:relative; overflow:hidden; background:var(--navy); color:white; } .hero-home { min-height:690px; padding:104px 0 45px; } .hero::before { content:""; position:absolute; inset:0; z-index:1; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:74px 74px; mask-image:linear-gradient(to bottom,black,transparent); } .hero-video { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; } .hero-video-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(100deg,rgba(7,29,54,.93) 0%,rgba(7,29,54,.8) 45%,rgba(7,29,54,.62) 100%); } .hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr); align-items:center; gap:60px; } .hero-copy { max-width:700px; } .eyebrow { margin-bottom:20px; color:var(--gold); font-size:16px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; display:flex; align-items:center; gap:10px; } .eyebrow.light { color:var(--gold-light); } .hero h1 { max-width:670px; margin-bottom:24px; color:white; font-size:clamp(48px,6vw,80px); } .hero h1 em { color:var(--gold-light); } .hero-text { max-width:570px; margin-bottom:36px; color:#d5dee7; font-size:18px; } .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; } .btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 22px; border:1px solid transparent; border-radius:3px; font-size:15px; font-weight:700; transition:transform .2s,background .2s,border-color .2s; } .btn:hover { transform:translateY(-2px); } .btn svg { width:16px; height:16px; } .btn-gold { background:var(--gold); color:#10243b; } .btn-gold:hover { background:#e1c17f; } .btn-outline-light { border-color:rgba(255,255,255,.5); color:white; } .btn-outline-light:hover { background:white; color:var(--navy); } .text-link { display:inline-flex; align-items:center; gap:8px; color:var(--navy); font-size:15px; font-weight:700; border-bottom:1px solid var(--gold); padding-bottom:4px; } .text-link svg { height:15px; width:15px; } .light-link { color:white; border-color:var(--gold-light); } .hero-statements { min-height:373px; position:relative; } .glass-card { border:1px solid rgba(255,255,255,.17); background:rgba(255,255,255,.08); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); backdrop-filter:blur(11px); } .statement-card { position:absolute; width:220px; padding:24px; border-radius:4px; }.statement-card:first-child { left:9%; top:4%; }.statement-card:nth-child(2) { right:0; bottom:5%; }.statement-card svg { width:21px; height:21px; color:var(--gold-light); }.statement-card p { margin:29px 0 1px; font-family:"Playfair Display",serif; font-size:19px; }.statement-card span { color:#b3c1d0; font-size:12px; }.hero-seal { position:absolute; left:44%; top:35%; z-index:2; width:132px; height:132px; padding:16px; display:flex; flex-direction:column; align-items:center; justify-content:space-between; border-radius:50%; background:var(--gold); color:var(--navy); text-align:center; box-shadow:0 0 0 14px rgba(200,164,98,.12); }.hero-seal strong { font-family:"Playfair Display",serif; font-size:31px; line-height:1; }.hero-seal span { font-size:8.5px; font-weight:700; letter-spacing:.11em; line-height:1.35; }.hero-bottom { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:end; margin-top:68px; color:#adbccc; font-size:14px; letter-spacing:.04em; }.hero-bottom a { display:grid; place-items:center; width:35px; height:35px; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:var(--gold-light); }.hero-bottom svg { width:16px; }.orbit-one,.orbit-two { position:absolute; z-index:1; border-radius:50%; border:1px solid rgba(200,164,98,.2); }.orbit-one { width:680px; height:680px; right:-180px; top:-260px; }.orbit-two { width:440px; height:440px; right:-60px; top:-135px; border-color:rgba(255,255,255,.08); }
.section { padding:116px 0; } .section-tint { background:var(--ivory); }.split-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(45px,8vw,130px); }.visual-panel { position:relative; min-height:480px; padding:35px; overflow:hidden; background:linear-gradient(130deg,#d4dbdf,#f5f4ef 75%); color:var(--navy); }.visual-panel::after { content:none; position:absolute; z-index:3; right:28px; bottom:22px; padding:7px 12px 6px; border:1px solid rgba(200,164,98,.5); border-radius:2px; color:#a5813c; background:rgba(255,255,255,.14); font-family:"Times New Roman",Times,Georgia,serif; font-size:12px; font-weight:700; line-height:1; letter-spacing:.26em; text-indent:.26em; }.visual-panel-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }.visual-panel-photo::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(0deg,rgba(7,29,54,.82) 0%,rgba(7,29,54,.15) 45%,rgba(7,29,54,.35) 100%); }.visual-panel-photo::after { z-index:3; color:var(--gold-light); border-color:rgba(234,214,174,.55); background:rgba(7,29,54,.3); }.visual-panel-photo .visual-badge,.visual-panel-photo .visual-quote,.visual-panel-photo .visual-foot { z-index:2; color:white; }.visual-panel-photo .visual-badge span { color:var(--gold-light); }.visual-panel-photo .visual-quote em { color:var(--gold-light); }.visual-badge { display:flex; align-items:center; gap:13px; color:var(--gold); font-family:"Playfair Display",serif; font-size:25px; }.visual-badge span { font-family:"Times New Roman",Times,Georgia,serif; color:var(--muted); text-transform:uppercase; letter-spacing:.15em; font-size:13.5px; font-weight:700; }.visual-lines { position:absolute; inset:96px 35px auto; height:1px; background:rgba(7,29,54,.22); }.visual-lines::before,.visual-lines::after { content:""; position:absolute; right:12%; height:1px; background:rgba(7,29,54,.15); }.visual-lines::before { width:68%; top:28px; }.visual-lines::after { width:44%; top:56px; }.visual-quote { position:absolute; z-index:1; bottom:70px; left:35px; font-family:"Playfair Display",serif; font-size:clamp(24px,3vw,35px); line-height:1.25; }.visual-quote em { color:#a17b37; }.visual-foot { position:absolute; bottom:21px; left:35px; font-size:12.5px; letter-spacing:.13em; font-weight:700; }.visual-foot span { color:#a17b37; margin-left:9px; }.section-copy h2,.section-heading h2 { margin-bottom:23px; color:var(--navy); font-size:clamp(35px,4vw,52px); }.section-copy p { color:var(--muted); }.section-copy p + p { margin-top:14px; }.section-copy .text-link { margin-top:17px; }.section-heading { max-width:720px; }.section-heading.centered { margin-inline:auto; text-align:center; }.section-heading.centered .eyebrow { justify-content:center; }.section-heading.centered p:last-child { max-width:580px; margin:0 auto; color:var(--muted); }.benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:56px; border-top:1px solid var(--line); border-left:1px solid var(--line); }.benefit-card { position:relative; min-height:272px; padding:28px 24px; background:var(--white); border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:box-shadow .25s,transform .25s; }.benefit-card:hover { z-index:1; transform:translateY(-7px); box-shadow:var(--shadow); }.card-number { color:#75828f; font-size:13px; font-weight:700; }.benefit-card svg { display:block; width:25px; height:25px; margin:35px 0 17px; color:var(--gold); }.benefit-card h3 { margin-bottom:8px; font-family:"Playfair Display",serif; font-size:22px; color:var(--navy); }.benefit-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }.row-heading { max-width:none; display:flex; justify-content:space-between; align-items:end; gap:25px; }.row-heading h2 { margin-bottom:0; }.industry-strip { display:grid; grid-template-columns:repeat(4,1fr); margin-top:51px; border-top:1px solid var(--line); border-left:1px solid var(--line); }.industry-strip a { min-height:170px; display:flex; flex-direction:column; gap:16px; position:relative; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .2s,color .2s; }.industry-strip a:hover { background:var(--navy); color:white; }.industry-strip svg { width:23px; height:23px; color:var(--gold); }.industry-strip span { font-family:"Playfair Display",serif; font-size:19px; line-height:1.24; }.industry-strip b { position:absolute; right:22px; bottom:18px; color:var(--gold); font-size:18px; }.approach-section { background:var(--navy); color:white; }.approach-section .section-copy h2 { color:white; }.approach-section .section-copy p { color:#ccd7e1; }.approach-list { border-top:1px solid rgba(255,255,255,.22); }.approach-list > div { display:grid; grid-template-columns:55px 1fr; gap:18px; padding:23px 0; border-bottom:1px solid rgba(255,255,255,.22); }.approach-list b { color:var(--gold-light); font-size:15px; }.approach-list strong { display:block; margin-bottom:4px; font-family:"Playfair Display",serif; font-size:25px; font-weight:500; }.approach-list small { color:#c6d2dd; font-size:13px; }.founders-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; max-width:960px; margin:56px auto 0; }.founder-card { display:flex; flex-direction:column; border:1px solid var(--line); background:var(--white); transition:box-shadow .25s,transform .25s; }.founder-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }.founder-photo { position:relative; width:100%; aspect-ratio:4/5; overflow:hidden; background:linear-gradient(130deg,#d4dbdf,#f5f4ef 75%); }.founder-photo img { display:block; width:100%; height:100%; object-fit:cover; }.founder-info { padding:28px 30px 34px; }.founder-info h3 { margin-bottom:4px; color:var(--navy); font-family:"Playfair Display",serif; font-size:24px; }.founder-role { display:block; margin-bottom:16px; color:var(--gold); font-size:15px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.founder-info p { margin:0; color:var(--muted); font-size:14px; line-height:1.72; text-align:justify; text-justify:inter-word; }.cta-section { padding-top:44px; padding-bottom:116px; }.cta-panel { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:55px 60px; background:#e8e9e7; }.cta-panel .eyebrow { margin-bottom:12px; }.cta-panel h2 { margin-bottom:9px; color:var(--navy); font-size:clamp(31px,3.6vw,48px); }.cta-panel p:last-child { margin-bottom:0; color:var(--muted); }.contact-preview { padding:69px 0; background:var(--navy-2); color:white; }.contact-preview-grid { display:flex; align-items:center; justify-content:space-between; gap:30px; }.contact-preview h2 { margin-bottom:0; color:white; font-size:clamp(30px,3.6vw,48px); }.contact-big-link { display:flex; gap:12px; align-items:center; padding-bottom:6px; color:var(--gold-light); border-bottom:1px solid rgba(234,214,174,.6); font-family:"Playfair Display",serif; font-size:24px; white-space:nowrap; }.contact-big-link svg { width:22px; }.site-footer { padding:65px 0 18px; background:#06172c; color:#c9d3de; }.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.35fr; gap:50px; }.site-footer .brand-mark { background-color:#fff; border-radius:2px; }.site-footer .brand-name { color:white; }.footer-brand p { margin:24px 0 0; color:#aab8c6; font-size:14px; }.footer-grid h3 { margin:0 0 17px; color:var(--gold-light); font-size:14.5px; letter-spacing:.1em; text-transform:uppercase; }.footer-grid > div:not(.footer-brand) > a:not(.social-link) { display:block; width:max-content; margin:7px 0; color:#c9d3de; font-size:13px; }.footer-grid > div > a:hover { color:white; }.footer-note h3 { color:white; font-family:"Playfair Display",serif; font-size:23px; font-weight:500; line-height:1.3; text-transform:none; letter-spacing:0; }.footer-note h3 em { color:var(--gold-light); }.social-link { display:grid; width:35px; height:35px; place-items:center; border:1px solid rgba(255,255,255,.3); color:var(--gold-light); border-radius:50%; }.social-link svg { width:16px; }.footer-bottom { display:flex; gap:25px; flex-wrap:wrap; margin-top:55px; padding-top:17px; border-top:1px solid rgba(255,255,255,.14); color:#9dadbf; font-size:13px; }.footer-bottom a { margin-left:auto; }.toast { opacity:0; position:fixed; z-index:200; bottom:22px; left:50%; transform:translate(-50%,25px); max-width:calc(100% - 40px); padding:12px 16px; border-radius:4px; color:white; background:var(--navy); box-shadow:var(--shadow); font-size:13px; pointer-events:none; transition:.25s; }.toast.show { opacity:1; transform:translate(-50%,0); }
.reveal { opacity:1; transform:none; transition:opacity .7s ease,transform .7s ease; }.reveal.pre-reveal { opacity:0; transform:translateY(20px); }.reveal.pre-reveal.is-visible,.reveal.is-visible { opacity:1; transform:none; }@media (prefers-reduced-motion:reduce) { .reveal,.reveal.pre-reveal { opacity:1 !important; transform:none !important; transition:none !important; } }.delay-1 { transition-delay:.12s; }.delay-2 { transition-delay:.24s; }.delay-3 { transition-delay:.36s; }

/* ==========================================================================
   HOME HERO v2: full-width editorial hero (no side panel)
   ========================================================================== */
.hero-v2 { min-height:max(640px, calc(100vh - 110px)); padding:0; display:flex; flex-direction:column; justify-content:center; }
.hero-v2::before { opacity:.55; }
.hero-v2 .hero-video-overlay { background:linear-gradient(90deg,rgba(6,23,44,.96) 0%,rgba(6,23,44,.86) 38%,rgba(6,23,44,.5) 72%,rgba(6,23,44,.3) 100%),linear-gradient(0deg,rgba(6,23,44,.9) 0%,rgba(6,23,44,0) 32%); }
.hv2-inner { position:relative; z-index:2; margin-top:auto; margin-bottom:auto; padding-top:clamp(60px,9vh,110px); padding-bottom:clamp(60px,9vh,110px); }
.hero .hv2-title { max-width:none; margin:0 0 22px; color:white; font-size:clamp(58px,9.2vw,148px); line-height:.95; letter-spacing:-.02em; }
.hv2-w { display:inline-block; }
.hv2-amp { color:var(--gold-light); font-style:italic; font-weight:500; }
.hv2-sub { position:relative; max-width:760px; margin:0 0 26px; padding-bottom:26px; color:var(--gold-light); font-family:"Playfair Display",serif; font-style:italic; font-size:clamp(23px,2.5vw,36px); line-height:1.3; }
.hv2-sub::after { content:""; position:absolute; left:0; bottom:0; width:84px; height:2px; background:var(--gold); transform-origin:left; }
.hv2-text { max-width:660px; margin:0 0 38px; color:#d5dee7; font-size:18px; line-height:1.75; }
.hv2-lines { position:absolute; z-index:1; top:0; bottom:0; right:9%; width:22%; display:flex; justify-content:space-between; pointer-events:none; }
.hv2-lines span { width:1px; height:100%; background:linear-gradient(180deg,rgba(234,214,174,0) 0%,rgba(234,214,174,.28) 45%,rgba(234,214,174,0) 100%); transform-origin:top; }
.hv2-facts { position:relative; z-index:2; display:grid; grid-template-columns:auto 1.2fr 1.6fr auto; align-items:center; gap:0; padding-top:24px; padding-bottom:30px; border-top:1px solid rgba(255,255,255,.16); }
.hv2-facts > div { padding:0 34px; border-left:1px solid rgba(255,255,255,.16); }
.hv2-facts > div:first-child { padding-left:0; border-left:0; }
.hv2-facts span { display:block; margin-bottom:4px; color:#9fb0c2; font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.hv2-facts strong { display:block; color:white; font-family:"Playfair Display",serif; font-size:18px; font-weight:500; line-height:1.3; }
.hv2-scroll { justify-self:end; display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(234,214,174,.45); border-radius:50%; color:var(--gold-light); transition:background .2s,color .2s; }
.hv2-scroll:hover { background:var(--gold); color:var(--navy); }
.hv2-scroll svg { width:17px; height:17px; }
/* entrance motion */
@keyframes hv2Rise { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:none; } }
@keyframes hv2Grow { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes hv2Drop { from { transform:scaleY(0); } to { transform:scaleY(1); } }
@keyframes hv2Bob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(5px); } }
.hv2-w { animation:hv2Rise .9s both; }
.hv2-w:nth-child(1) { animation-delay:.15s; } .hv2-w:nth-child(2) { animation-delay:.3s; } .hv2-w:nth-child(3) { animation-delay:.45s; }
.hv2-sub { animation:hv2Rise .9s .65s both; }
.hv2-sub::after { animation:hv2Grow 1s 1.1s both; }
.hv2-text { animation:hv2Rise .9s .85s both; }
.hv2-actions { animation:hv2Rise .9s 1s both; }
.hv2-facts { animation:hv2Rise .9s 1.2s both; }
.hv2-lines span { animation:hv2Drop 1.6s cubic-bezier(.2,.7,.2,1) both; }
.hv2-lines span:nth-child(2) { animation-delay:.25s; } .hv2-lines span:nth-child(3) { animation-delay:.5s; }
.hv2-scroll svg { animation:hv2Bob 2.2s 2s ease-in-out infinite; }
@media (prefers-reduced-motion:reduce) { .hero-v2 *, .hero-v2 *::after { animation:none !important; } }
@media (max-width:1024px) {
  .hv2-facts { grid-template-columns:auto 1fr 1.3fr auto; }
  .hv2-facts > div { padding:0 22px; }
  .hv2-facts strong { font-size:16px; }
  .hv2-lines { right:4%; width:26%; }
}
@media (max-width:760px) {
  .hero-v2 { min-height:auto; }
  .hv2-inner { padding-top:58px; padding-bottom:30px; }
      .hero .hv2-title { font-size:clamp(46px,14.5vw,72px); }
  .hv2-text { font-size:16.5px; }
  .hv2-sub br { display:none; }
  .hv2-lines { display:none; }
  .hv2-facts { grid-template-columns:1fr 1fr; row-gap:18px; padding-top:22px; }
  .hv2-facts > div { padding:0; border-left:0; }
  .hv2-facts > div:nth-child(3) { grid-column:1 / -1; }
  .hv2-scroll { display:none; }
}

/* footer address and email links */
.footer-brand .footer-contact a { color:inherit; border-bottom:1px solid rgba(255,255,255,.18); transition:color .2s,border-color .2s; }
.footer-brand .footer-contact a:hover { color:white; border-color:var(--gold-light); }

/* home contact strip: button only, aligned right */
.contact-preview-button { padding:40px 0; }
.contact-preview-button .contact-preview-grid { justify-content:flex-end; }

/* hero without the firm name: the statement becomes the main heading */
.hero .hv2-sub { max-width:980px; margin:0 0 30px; padding-bottom:30px; color:white; font-family:"Playfair Display",serif; font-style:normal; font-size:clamp(38px,5vw,74px); font-weight:600; line-height:1.12; letter-spacing:-.01em; animation:hv2Rise .9s .2s both; }
.hero .hv2-sub em { color:var(--gold-light); font-style:italic; font-weight:500; }
.hero .hv2-sub::after { animation:hv2Grow 1s .8s both; }
.hv2-text { animation-delay:.45s; }
.hv2-actions { animation-delay:.6s; }
@media (max-width:760px) { .hero .hv2-sub { font-size:clamp(32px,9.6vw,44px); margin-bottom:24px; padding-bottom:24px; } }
