/* practice-areas.html — page-specific styles */

/* HERO */
.page-hero{background:var(--navy);min-height:480px;display:flex;align-items:flex-end;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 60% 40%,rgba(200,151,59,0.08) 0%,transparent 60%);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(200,151,59,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(200,151,59,0.03) 1px,transparent 1px);background-size:80px 80px;}
.hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:120px 5% 60px;width:100%;}

/* FILTER */
.filter-bar{background:var(--navy-mid);border-bottom:1px solid var(--border);position:sticky;top:76px;z-index:100;}
.filter-inner{max-width:1280px;margin:0 auto;padding:0 5%;display:flex;align-items:center;overflow-x:auto;}
.filter-btn{flex-shrink:0;background:none;border:none;border-bottom:2px solid transparent;padding:18px 22px;font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.45);cursor:pointer;transition:color 0.25s,border-color 0.25s;white-space:nowrap;}
.filter-btn:hover{color:rgba(255,255,255,0.8);}
.filter-btn.active{color:var(--gold);border-bottom-color:var(--gold);}
.fc{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:rgba(200,151,59,0.15);border-radius:50%;font-size:9px;margin-left:6px;color:var(--gold);}
/* SECTIONS */

/* IP SPOTLIGHT */
.ip-section{background:var(--navy);padding:80px 0;}
.spotlight-title{font-size:clamp(30px,3.5vw,48px);font-weight:400;color:var(--white);margin-top:10px;}
.spotlight-title em{font-style:italic;color:var(--gold-light);}
.ip-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:2px;background:var(--border);margin-top:36px;}
.ip-card{background:var(--navy-mid);padding:40px;text-decoration:none;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:background 0.3s;}
.ip-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform 0.4s;transform-origin:left;}
.ip-card:hover{background:var(--navy-light);}
.ip-card:hover::after{transform:scaleX(1);}
.ip-card.featured{grid-row:span 2;padding:52px;}
.ip-tag{font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);}
.ip-icon{width:48px;height:48px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;}
.ip-icon svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.5;}
.ip-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:var(--white);line-height:1.2;}
.ip-card.featured .ip-title{font-size:34px;}
.ip-desc{font-size:13px;color:rgba(255,255,255,0.62);line-height:1.7;flex-grow:1;}
.ip-points{list-style:none;margin-top:6px;display:flex;flex-direction:column;gap:5px;}
.ip-points li{font-size:12px;color:rgba(255,255,255,0.55);display:flex;gap:8px;}
.ip-points li span{width:4px;height:4px;background:var(--gold);display:inline-block;flex-shrink:0;margin-top:7px;}
.ip-link{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:8px;margin-top:4px;}
/* ALL GRID */
.all-section{background:var(--off-white);padding:80px 0 100px;}
.all-title{font-size:clamp(28px,3vw,44px);font-weight:400;color:var(--text-dark);margin-top:10px;}
.all-title em{font-style:italic;color:#7A5C28;}
.pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2px;background:rgba(0,0,0,0.06);margin-top:36px;}
.pt{background:var(--white);padding:32px 28px;text-decoration:none;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;transition:background 0.3s;min-height:190px;}
.pt::before{content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:var(--gold);transition:width 0.35s;}
.pt:hover{background:#FEFCF8;}
.pt:hover::before{width:3px;}
.pt[data-hidden="true"]{display:none;}
.pt-hd{display:flex;align-items:center;gap:14px;}
.pt-n{font-family:'Cormorant Garamond',serif;font-size:12px;color:rgba(200,151,59,0.45);min-width:26px;}
.pt-ic{width:42px;height:42px;border:1px solid rgba(200,151,59,0.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color 0.25s;}
.pt:hover .pt-ic{border-color:rgba(200,151,59,0.5);}
.pt-ic svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.5;}
.pt-cat{font-size:9px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;padding:2px 7px;background:rgba(200,151,59,0.08);color:var(--gold);}
.pt-name{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;color:var(--text-dark);line-height:1.2;}
.pt-desc{font-size:13px;color:var(--text-mid);line-height:1.7;flex-grow:1;}
.pt-ft{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(0,0,0,0.05);}
.pt-lk{font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-dark);display:flex;align-items:center;gap:6px;transition:gap 0.2s,color 0.2s;}
.pt:hover .pt-lk{gap:10px;color:#6B4F2A;}
.pt-badge{font-size:9px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:2px 8px;border:1px solid rgba(200,151,59,0.25);color:var(--gold);}
/* PROCESS */
.process-section{background:var(--white);padding:90px 0;}
.ps-title{font-size:clamp(28px,3vw,46px);font-weight:400;color:var(--text-dark);margin-top:10px;}
.ps-title em{font-style:italic;color:#7A5C28;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;position:relative;}
.steps::before{content:'';position:absolute;top:34px;left:calc(100%/8);right:calc(100%/8);height:1px;background:linear-gradient(90deg,var(--gold),rgba(200,151,59,0.2),var(--gold));}
.step{text-align:center;padding:0 20px;position:relative;z-index:1;}
.sn{width:68px;height:68px;background:var(--white);border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--gold);}
.st{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;color:var(--text-dark);margin-bottom:8px;}
.sd{font-size:13px;color:var(--text-mid);line-height:1.6;}
/* STATS */
.stats-bar{background:var(--gold);padding:48px 0;}
.stats-inner{max-width:1280px;margin:0 auto;padding:0 5%;display:grid;grid-template-columns:repeat(5,1fr);gap:0;}
.sbi{text-align:center;padding:10px;border-right:1px solid rgba(6,13,31,0.15);}
.sbi:last-child{border-right:none;}
.sbn{font-family:'Cormorant Garamond',serif;font-size:46px;font-weight:700;color:var(--navy);line-height:1;}
.sbl{font-size:10px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:rgba(6,13,31,0.55);margin-top:5px;}
/* CTA */
.cta-section{background:var(--off-white);padding:80px 0;}
.cta-box{background:var(--navy);padding:56px;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;position:relative;overflow:hidden;}
.cta-box::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);}
.cta-box::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(200,151,59,0.05) 0%,transparent 60%);}
.cta-content{position:relative;z-index:1;}
.cta-label{font-size:10px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,3vw,40px);font-weight:400;color:var(--white);line-height:1.15;margin-bottom:14px;}
.cta-title em{font-style:italic;color:var(--gold-light);}
.cta-desc{font-size:14px;color:rgba(255,255,255,0.5);line-height:1.7;max-width:500px;}
.cta-acts{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;align-items:flex-start;flex-shrink:0;}

.btn-gold:hover{background:var(--gold-light);}
.btn-ghost{font-size:12px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.5);text-decoration:none;display:flex;align-items:center;gap:6px;transition:color 0.2s;}
.btn-ghost:hover{color:var(--gold);}
.wa-btn:hover{transform:scale(1.08);}
.wa-btn svg{width:28px;height:28px;fill:white;}

@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@media(max-width:1100px){.ip-grid{grid-template-columns:1fr 1fr;}.ip-card.featured{grid-row:span 1;}}
@media(max-width:900px){.ip-grid{grid-template-columns:1fr;}.steps{grid-template-columns:1fr 1fr;}.steps::before{display:none;}.stats-inner{grid-template-columns:repeat(3,1fr);}.cta-box{grid-template-columns:1fr;gap:24px;}}
@media(max-width:768px){.pg{grid-template-columns:1fr;}.stats-inner{grid-template-columns:1fr 1fr;}.cta-box{padding:32px 24px;}}
@media(max-width:480px){.steps{grid-template-columns:1fr;}.stats-inner{grid-template-columns:1fr 1fr;}}
