/* ============================================================
   HOME — Light theme page sections
   ============================================================ */

/* ---------- HERO — black band, ties to header/footer ---------- */
.hero{
  position:relative;
  min-height:92vh;
  display:flex;align-items:center;
  background:var(--black);
  color:var(--ivory);
  overflow:hidden;
  padding-top:84px;
}
.hero::before{
  content:'';
  position:absolute;inset:0;
  background:
    linear-gradient(105deg, rgba(10,10,10,0.94) 0%, rgba(10,10,10,0.82) 38%, rgba(10,10,10,0.52) 68%, rgba(10,10,10,0.38) 100%),
    linear-gradient(to top, rgba(10,10,10,0.70) 0%, transparent 40%),
    url('../images/pages/03062024065704_78719.jpg') center/cover no-repeat;
  z-index:0;
}
.hero-noise{
  position:absolute;inset:0;z-index:1;
  background-image:radial-gradient(circle at 20% 20%, rgba(201,162,93,0.08), transparent 45%),
                    radial-gradient(circle at 85% 75%, rgba(201,162,93,0.05), transparent 50%);
  pointer-events:none;
}
.hero-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr;
  gap:40px;
  padding:90px 0 100px;
}
.hero-shloka-mark{
  font-family:var(--serif);font-style:italic;color:var(--gold-soft);
  font-size:13px;letter-spacing:0.05em;margin-bottom:26px;opacity:0.95;
}
.hero h1{
  font-size:clamp(40px,6.2vw,76px);
  line-height:1.06;
  max-width:760px;
  margin-bottom:26px;
  color:var(--ivory);
}
.hero h1 em{
  font-style:italic;color:var(--gold-soft);font-weight:500;
}
.hero-sub{
  font-size:18px;color:rgba(243,237,224,0.72);max-width:520px;
  margin-bottom:40px;
  font-weight:300;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:64px;}
.hero-meta{
  display:flex;gap:48px;flex-wrap:wrap;
  padding-top:36px;border-top:1px solid rgba(255,255,255,0.12);
  max-width:640px;
}
.hero-meta-item{display:flex;flex-direction:column;gap:6px;}
.hero-meta-item .num{font-family:var(--serif);font-size:30px;color:var(--gold-soft);font-weight:600;}
.hero-meta-item .lbl{font-size:12.5px;color:rgba(243,237,224,0.55);letter-spacing:0.04em;}

/* ---------- MARQUEE STRIP ---------- */
.shloka-strip{
  background:var(--bg-panel-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:20px 0;overflow:hidden;position:relative;
}
.shloka-strip-track{
  display:flex;gap:60px;white-space:nowrap;
  animation:scrollx 38s linear infinite;
  width:max-content;
}
.shloka-strip-track span{
  font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-dim);
  display:flex;align-items:center;gap:60px;
}
.shloka-strip-track span b{color:var(--gold-bright);font-weight:500;font-style:normal;margin-right:10px;}
@keyframes scrollx{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- ABOUT ---------- */
.about{padding:130px 0;background:var(--bg);}
.about-grid{display:grid;grid-template-columns:0.85fr 1fr;gap:80px;align-items:center;}
.about-image{position:relative;}
.about-image .frame{
  position:relative;border-radius:3px;overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 30px 60px -20px rgba(60,45,15,0.18);
}
.about-image img{filter:saturate(0.96);width:100%;height:560px;object-fit:cover;}
.about-image .corner{
  position:absolute;width:90px;height:90px;border:1px solid var(--gold-bright);
  opacity:0.6;
}
.about-image .corner.tl{top:-14px;left:-14px;border-right:none;border-bottom:none;}
.about-image .corner.br{bottom:-14px;right:-14px;border-left:none;border-top:none;}
.about-copy h2{font-size:clamp(28px,3.6vw,42px);margin:18px 0 24px;line-height:1.18;}
.about-copy p,.about-copy li{color:var(--ink-dim);font-size:16px;margin-bottom:18px;}
.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;}
.pillar{padding:18px 0;border-top:1px solid var(--line-soft);}
.pillar .n{font-family:var(--serif);color:var(--gold-bright);font-size:13px;letter-spacing:0.06em;}
.pillar h5{font-size:15.5px;margin:8px 0 6px;color:var(--ink);font-family:var(--sans);font-weight:600;}
.pillar p{font-size:13.5px;color:var(--muted);margin:0;}

/* ---------- SECTION HEAD (shared) ---------- */
.sec-head{max-width:680px;margin-bottom:60px;}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head h2{font-size:clamp(28px,3.6vw,44px);margin-top:16px;line-height:1.15;}
.sec-head p{color:var(--ink-dim);margin-top:18px;font-size:16px;}

/* ---------- PRACTICE AREAS ---------- */
.practice{padding:120px 0;background:var(--bg-panel-2);}
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.p-card{
  background:var(--bg-panel);
  padding:38px 34px 34px;
  position:relative;
  transition:background 0.35s ease;
}
.p-card:hover{background:#fffdf8;}
.p-card .p-num{font-family:var(--serif);font-size:13px;color:var(--gold-bright);letter-spacing:0.06em;margin-bottom:22px;display:block;}
.p-card h4{font-size:20px;margin-bottom:14px;line-height:1.3;}
.p-card .p-desc{
  font-size:14.5px;color:var(--muted);line-height:1.75;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
  margin-bottom:20px;
}
.p-card.is-open .p-desc{-webkit-line-clamp:unset;display:block;overflow:visible;}
.p-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:8px;}
.p-readmore{font-size:13px;color:var(--gold-bright);font-weight:600;cursor:pointer;background:none;border:none;padding:0;font-family:var(--sans);}
.p-readmore:hover{color:var(--gold);}
.p-book{font-size:13px;color:var(--ink-dim);display:flex;align-items:center;gap:6px;white-space:nowrap;}
.p-book svg{width:12px;height:12px;color:var(--gold-bright);}
.p-book:hover{color:var(--gold-bright);}
.practice-cta{text-align:center;margin-top:50px;}

@media(max-width:980px){
  .practice-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .practice-grid{grid-template-columns:1fr;}
}

/* ---------- CASE / FIRM PROFILE ---------- */
.profile{padding:120px 0;background:var(--bg);}
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.profile-card{border:1px solid var(--line);padding:0;border-radius:3px;overflow:hidden;background:var(--bg-panel);box-shadow:0 18px 40px -16px rgba(60,45,15,0.12);}
.profile-card .pc-img{height:200px;overflow:hidden;}
.profile-card .pc-img img{width:100%;height:100%;object-fit:cover;}
.profile-card .pc-body{padding:30px 28px 32px;}
.profile-card h3{font-size:21px;margin-bottom:14px;}
.profile-card .pc-desc{font-size:14.5px;color:var(--muted);line-height:1.75;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;}
.profile-card.is-open .pc-desc{-webkit-line-clamp:unset;display:block;overflow:visible;}
.profile-card .p-readmore{margin-top:14px;display:inline-block;}

@media(max-width:980px){.profile-grid{grid-template-columns:1fr;}}

/* ---------- STATS — black band ---------- */
.stats{padding:90px 0;background:var(--black);color:var(--ivory);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;text-align:center;}
.stat{padding:0 20px;border-right:1px solid rgba(255,255,255,0.1);}
.stat:last-child{border-right:none;}
.stat .stat-num{font-family:var(--serif);font-size:clamp(36px,5vw,52px);color:var(--gold-soft);font-weight:600;line-height:1;}
.stat .stat-lbl{font-size:13.5px;color:rgba(243,237,224,0.55);margin-top:12px;letter-spacing:0.02em;}
@media(max-width:780px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:36px 1px;}
  .stat{border-right:none;border-bottom:1px solid rgba(255,255,255,0.1);padding-bottom:24px;}
}

/* ---------- CTA BAND ---------- */
.cta-band{
  padding:110px 0;
  background:var(--bg-panel-2);
  position:relative;
  overflow:hidden;
  border-top:1px solid var(--line);
}
.cta-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center;}
.cta-grid h2{font-size:clamp(28px,3.8vw,42px);margin-bottom:16px;line-height:1.2;}
.cta-grid p{color:var(--ink-dim);font-size:16px;max-width:460px;}
.cta-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
@media(max-width:900px){
  .cta-grid{grid-template-columns:1fr;text-align:left;}
  .cta-actions{align-items:flex-start;margin-top:20px;}
}
