:root{
  --ink:#090909;
  --ink-2:#171717;
  --gold:#bd891d;
  --gold-light:#e2bd65;
  --cream:#f5f4f0;
  --paper:#fff;
  --muted:#666;
  --line:rgba(0,0,0,.14)
}

body,.intro,.contact{background:#fff}
.hero{height:auto;min-height:max(900px,100svh);display:flex;flex-direction:column}
.hero-content{width:100%;flex:1;padding-bottom:3.5rem}
.site-header{background:linear-gradient(180deg,rgba(0,0,0,.34),transparent)}
.site-header{grid-template-columns:180px 1fr 180px}
.brand{display:flex;align-items:center;justify-content:flex-start}
.brand img{filter:none;width:168px}
.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.08) 78%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 44%)}
.hero-proof{position:relative;left:auto;right:auto;bottom:auto;width:100%;flex:0 0 auto;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(5,5,5,.9);border-top:1px solid rgba(226,189,101,.65);box-shadow:0 20px 50px rgba(0,0,0,.32);overflow:hidden}
.scroll-cue{display:none}
.hero-proof:before{content:"";position:absolute;inset:0 auto 0 -35%;width:28%;background:linear-gradient(100deg,transparent,rgba(226,189,101,.13),transparent);animation:proofShine 6s ease-in-out infinite;pointer-events:none}
.hero-proof>div{position:relative;min-width:0;justify-content:center;padding:1.65rem 2rem;text-align:left;transition:background .3s,transform .3s;animation:proofFloat 4.5s ease-in-out infinite}
.hero-proof>div:nth-child(2){animation-delay:.7s}.hero-proof>div:nth-child(3){animation-delay:1.4s}
.hero-proof>div:hover{background:rgba(189,137,29,.16);transform:translateY(-5px)}
.hero-proof strong{font-size:1.55rem;color:var(--gold-light)}
.section-label span{display:none}
.section-label:before,.section-label:after{display:none}
.section-label{color:#7a7a7a;letter-spacing:.22em}
.intro-feature{grid-column:1;align-self:stretch;background:#090909;color:#fff;padding:2.5rem 2.4rem;min-height:390px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.intro-feature:after{content:"GCL";position:absolute;right:-.08em;bottom:-.22em;font-family:var(--serif);font-size:8.5rem;line-height:1;color:rgba(255,255,255,.035);letter-spacing:-.08em;pointer-events:none}
.feature-topline{display:flex;align-items:center;gap:1rem;text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;color:var(--gold-light)}
.feature-topline i{height:1px;flex:1;background:rgba(226,189,101,.35)}
.feature-kicker{margin:2rem 0 1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.58)}
.intro-feature blockquote{font-family:var(--serif);font-size:clamp(2rem,3vw,3.25rem);line-height:1.05;margin:0 0 2rem;position:relative;z-index:1}
.intro-feature blockquote em{color:var(--gold-light);font-weight:400}
.feature-services{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:auto;position:relative;z-index:1}
.feature-services span{border:1px solid rgba(255,255,255,.2);padding:.45rem .7rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.72)}
.intro-feature>a{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.15rem;border-top:1px solid rgba(255,255,255,.18);text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;font-weight:600;position:relative;z-index:1}
.intro-feature>a span{color:var(--gold-light);font-size:1rem}
.intro-feature>a:hover{color:var(--gold-light)}
.practice-card:hover,.practice-card.featured{background:#090909}
.card-num,.line-icon{display:none!important}
.attorney,.process{background:#090909}
.portrait-wrap{background:#111;padding:4.5rem 3.2rem 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.portrait-wrap:before{display:none}
.attorney-identity{width:min(88%,560px);padding:0 0 1.35rem;border-bottom:1px solid rgba(226,189,101,.45);margin-bottom:.65rem;text-align:center;display:flex;flex-direction:column;align-items:center;transform:translateY(-1rem)}
.attorney-identity span{text-transform:uppercase;letter-spacing:.18em;color:var(--gold-light);font-size:.66rem;font-weight:600}
.attorney-identity strong{font-family:var(--serif);font-size:clamp(2rem,3vw,3.2rem);line-height:1.05;font-weight:400;color:#fff;margin-top:.35rem}
.portrait-frame{width:min(88%,560px);height:73%;box-shadow:none;border:1px solid rgba(226,189,101,.25);border-bottom:0}
.portrait-frame img{object-position:center 18%;filter:contrast(1.01) saturate(.92)}
.portrait-caption{display:none}
.promise{background:#f5f4f0}
.promise-item{background:#f5f4f0}
.promise-item h3{margin-top:0}
.process{background:#0b0b0b}
.steps li{grid-template-columns:1fr}
.contact-card{background:#f5f4f0}
footer{background:#080808}
.footer-brand{display:grid;width:100%;place-items:center}
.footer-brand img{filter:none;width:250px;margin:0 auto;object-fit:contain;object-position:center}
/* Final geometry pass: equal columns, consistent centers, and matched vertical rhythm. */
.intro{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(3rem,6vw,7rem);row-gap:3.5rem}
.intro-feature,.intro-copy{width:100%;align-self:stretch}
.intro-copy{display:flex;flex-direction:column;justify-content:center}
.practice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.practice-card{align-items:center;text-align:center;padding:3.4rem 2rem 2.7rem;min-width:0}
.practice-type{margin:0 0 1.8rem!important;min-height:0!important;color:#8a6a28!important;font-size:.64rem!important;font-weight:600;text-transform:uppercase;letter-spacing:.17em;line-height:1.4!important}
.practice-card.featured .practice-type,.practice-card:hover .practice-type{color:var(--gold-light)!important}
.practice-card h3{min-height:4.25rem;display:flex;align-items:center;justify-content:center}
.practice-card p{min-height:6.1rem}
.practice-card a{width:auto;display:inline-block;text-align:center;border-bottom:1px solid currentColor;padding-bottom:.35rem}
.attorney{grid-template-columns:repeat(2,minmax(0,1fr))}
.portrait-wrap,.attorney-copy{min-width:0}
.attorney-copy{padding-left:clamp(3rem,7vw,8rem);padding-right:clamp(3rem,7vw,8rem)}
.promise-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.promise-item{text-align:center;display:flex;flex-direction:column;align-items:center}
.promise-item i{margin-left:auto;margin-right:auto}
.process{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
.process-heading,.steps{width:100%;max-width:680px;margin-left:auto;margin-right:auto}
.contact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.contact-main,.contact-card{min-width:0}
.contact-card{margin:5rem clamp(2rem,5vw,5rem) 5rem 0}
.hero-proof>div{display:flex;justify-content:center;align-items:center;gap:1rem;text-align:left}
.demo-gate{grid-template-columns:repeat(2,minmax(0,1fr))}
.gate-backdrop{inset:0 50% 0 0}
.gate-panel{grid-column:2}
/* Editorial section titles */
.section-label{width:100%;display:block;margin:0 0 1.65rem;text-align:center;font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,2.8rem);font-weight:400;line-height:1.08;letter-spacing:-.018em;text-transform:none;color:var(--ink)}
.section-label:before,.section-label:after{display:none!important}
.section-label.light{color:#fff}
.section-label.light:before,.section-label.light:after{border-color:var(--gold-light)}
.attorney-copy .eyebrow{margin-top:0}
.process-heading .eyebrow{margin-top:0}
.promise>.section-label{margin-bottom:2rem}
/* Final editorial polish: restrained, icon-free and deliberately balanced. */
.intro,.promise{padding-top:clamp(6rem,9vw,9rem);padding-bottom:clamp(6rem,9vw,9rem)}
.intro>.section-label{grid-column:1/-1;margin-bottom:0}
.intro-copy h2,.attorney-copy h2,.process-heading h2,.contact-main h2{letter-spacing:-.035em}
.practice-grid{border-top:1px solid rgba(0,0,0,.18);border-bottom:1px solid rgba(0,0,0,.18)}
.practice-card{border-top:0;border-bottom:0;transition:background .35s ease,color .35s ease,transform .35s ease}
.practice-card:hover{transform:translateY(-4px)}
.practice-card h3{font-size:clamp(1.55rem,2vw,2.25rem);line-height:1.08}
.promise blockquote{max-width:980px;margin-left:auto;margin-right:auto}
.promise-grid{background:#090909;border:1px solid rgba(189,137,29,.4);box-shadow:0 24px 60px rgba(0,0,0,.12)}
.promise-item{padding:3.8rem 2.8rem;background:#090909;color:#fff;border-color:rgba(255,255,255,.16)}
.promise-item h3{font-family:var(--serif);font-size:clamp(1.5rem,2vw,2rem);font-weight:400;letter-spacing:-.02em}
.promise-item p{color:rgba(255,255,255,.68)}
.portrait-wrap{padding-top:3.4rem}
.attorney-identity{transform:none;margin-bottom:1.2rem}
.steps{border-top:1px solid rgba(255,255,255,.2)}
.steps li{padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.2)}
.steps li h3{font-family:var(--serif);font-size:clamp(1.4rem,2vw,1.9rem);font-weight:400;letter-spacing:-.015em}
.text-link{border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:.35rem}
.gate-locked{overflow:hidden}
.demo-gate{position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:minmax(260px,.82fr) minmax(460px,1.18fr);background:#090909;color:#fff;transition:opacity .55s ease,visibility .55s ease}
.gate-unlocked .demo-gate{opacity:0;visibility:hidden;pointer-events:none}
.demo-gate[hidden]{display:none}
.gate-backdrop{position:absolute;inset:0 42% 0 0;background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.7)),url('assets/superstition-hero.png') center/cover no-repeat}
.gate-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 55%)}
.gate-brand{position:relative;z-index:1;align-self:start;padding:3.5rem clamp(2rem,5vw,5rem)}
.gate-brand img{width:210px;filter:none}
.gate-panel{grid-column:2;position:relative;z-index:2;background:#0b0b0b;padding:clamp(3rem,8vh,7rem) clamp(2.4rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(226,189,101,.28)}
.gate-panel:before{content:"";position:absolute;left:-1px;top:12%;height:76%;width:1px;background:linear-gradient(transparent,var(--gold),transparent)}
.gate-eyebrow{margin:0 0 1.5rem;color:var(--gold-light);text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;font-weight:600}
.gate-panel h1{font-family:var(--serif);font-size:clamp(3rem,5.2vw,6.3rem);line-height:.98;letter-spacing:-.035em;font-weight:400;margin:0;max-width:780px}
.gate-panel h1 em{color:var(--gold-light);font-weight:400}
.gate-copy{color:rgba(255,255,255,.62);max-width:610px;margin:2rem 0 2.5rem;font-size:1rem}
#gate-form{max-width:560px}
#gate-form label{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.64rem;color:rgba(255,255,255,.58);margin-bottom:.55rem}
.gate-input-wrap{display:grid;grid-template-columns:1fr auto;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.035)}
.gate-input-wrap:focus-within{border-color:var(--gold)}
.gate-input-wrap input{width:100%;min-width:0;padding:1rem 1.1rem;border:0;background:transparent;color:#fff;font:inherit;outline:0;letter-spacing:.08em}
.gate-input-wrap button{border:0;border-left:1px solid rgba(255,255,255,.16);background:transparent;color:var(--gold-light);padding:0 1.1rem;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;cursor:pointer}
.gate-error{color:#f0b1a7;font-size:.8rem;margin:.65rem 0 0}
.gate-submit{width:100%;margin-top:1rem;padding:1rem 1.1rem;border:0;background:var(--gold);color:#fff;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:600;display:flex;justify-content:space-between;cursor:pointer;transition:.25s}
.gate-submit:hover{background:#d09a2b}.gate-submit span{font-size:1rem;line-height:1}
.gate-note{margin-top:2rem;color:rgba(255,255,255,.32);text-transform:uppercase;letter-spacing:.14em;font-size:.58rem}
.mobile-call-bar{display:none}
.shake{animation:gateShake .35s ease}
@keyframes gateShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@keyframes proofFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes proofShine{0%,25%{left:-35%}70%,100%{left:120%}}
@media(max-width:1050px){.intro{grid-template-columns:1fr}.intro-feature{grid-column:1;min-height:340px}.intro-copy{grid-column:1}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attorney{grid-template-columns:1fr 1.15fr}.contact{grid-template-columns:1.1fr .9fr}.practice-card p{min-height:0}}
@media(max-width:760px){.site-header{grid-template-columns:1fr auto}.brand{justify-content:flex-start}.brand img{width:145px}.hero{min-height:max(820px,100svh)}.hero-content{padding:9rem 1.4rem 2.5rem}.hero-proof>div{min-width:0;padding:1rem .6rem;animation:none;text-align:center;display:block}.hero-proof strong{font-size:1.05rem}.hero-proof span{font-size:.54rem}.section-label{font-size:1.55rem;gap:.75rem;margin-bottom:1.25rem}.section-label:before,.section-label:after{width:6px;height:6px;flex-basis:6px}.intro-feature{padding:2rem 1.5rem;min-height:360px}.practice-grid,.attorney,.promise-grid,.process,.contact{grid-template-columns:1fr}.practice-card h3{min-height:0}.practice-icon{margin-top:1.8rem}.portrait-wrap{padding:3rem 1.2rem 0;min-height:680px}.attorney-identity{width:94%;transform:translateY(-.5rem)}.portrait-frame{width:94%;height:540px}.steps li{grid-template-columns:24px 1fr}.contact-card{margin:0 1.3rem 5rem}.footer-brand img{width:220px}.demo-gate{display:block;overflow:auto}.gate-backdrop{inset:0;background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.45)),url('assets/superstition-hero.png') center/cover no-repeat}.gate-brand{padding:2rem 1.4rem}.gate-brand img{width:170px}.gate-panel{min-height:calc(100svh - 92px);padding:2.5rem 1.4rem 3rem;background:linear-gradient(0deg,#090909 0%,rgba(9,9,9,.9) 78%,transparent 100%);border:0}.gate-panel:before{display:none}.gate-panel h1{font-size:clamp(2.8rem,13vw,4.4rem)}.gate-copy{margin:1.5rem 0 2rem}.gate-note{margin-bottom:1rem}}
@media(prefers-reduced-motion:reduce){.hero-proof>div,.hero-proof:before{animation:none}}
@media(max-width:760px){.steps li{grid-template-columns:1fr}.practice-card{padding:2.8rem 1.6rem}.practice-type{margin-bottom:1.25rem!important}.intro>.section-label{font-size:1.9rem}.promise-item{padding:3rem 1.8rem}}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-bottom:68px}
  .site-header{height:82px;padding:0 1rem;gap:.75rem}
  .brand img{width:138px;max-height:62px;object-fit:contain}
  .menu-toggle{width:46px;height:46px;touch-action:manipulation}
  nav{top:82px;padding:1rem 1.25rem 1.4rem;gap:0;border-top:1px solid rgba(255,255,255,.15);box-shadow:0 18px 35px rgba(0,0,0,.28)}
  nav a{display:flex;align-items:center;justify-content:center;min-height:52px;font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.1)}
  .hero-content{padding-left:1.25rem;padding-right:1.25rem}
  .hero h1{font-size:clamp(3.25rem,16vw,4.8rem);line-height:.98}
  .hero-lede{font-size:1.15rem;line-height:1.5}
  .hero-actions,.hero-actions .button{width:100%}
  .hero-actions .text-link{align-self:center}
  .hero-proof>div{padding:1rem .35rem}
  .hero-proof strong{font-size:1rem;white-space:nowrap}
  .hero-proof span{font-size:.5rem;letter-spacing:.05em}
  .intro,.promise,.attorney-copy,.process,.contact-main{padding-left:1.25rem;padding-right:1.25rem}
  .intro-copy h2,.attorney-copy h2,.process-heading h2,.contact-main h2{font-size:clamp(2.65rem,13vw,4.25rem);line-height:1}
  .intro-feature{min-height:0;padding:2.25rem 1.4rem}
  .intro-feature blockquote{font-size:clamp(2rem,10vw,2.85rem)}
  .practice-grid{margin-top:1rem}
  .practice-card{min-height:0}
  .portrait-wrap{min-height:610px;padding-left:1rem;padding-right:1rem}
  .portrait-frame{width:100%;height:500px}
  .attorney-identity{width:100%;padding-left:.5rem;padding-right:.5rem}
  .credentials{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .steps li{padding:1.7rem 0}
  .contact input,.contact select,.contact textarea{width:100%;font-size:16px}
  .contact .button{width:100%}
  .contact-card{margin:0 1.25rem 4rem;padding:2rem 1.4rem}
  .contact-card a,.contact-card address{overflow-wrap:anywhere}
  .footer-links{flex-wrap:wrap;gap:1rem 2rem}
  footer{padding-bottom:2rem}
  .mobile-call-bar{position:fixed;z-index:80;left:0;right:0;bottom:0;height:68px;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#bd891d;color:#fff;border-top:1px solid rgba(255,255,255,.25);box-shadow:0 -12px 30px rgba(0,0,0,.2);font-family:var(--sans);touch-action:manipulation}
  .mobile-call-bar span{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}
  .mobile-call-bar strong{font-family:var(--serif);font-size:1.22rem;font-weight:400;white-space:nowrap}
}
@media(max-width:390px){.hero-proof span{display:none}.hero-proof>div{min-height:62px}.mobile-call-bar{padding:0 1rem}.mobile-call-bar span{font-size:.6rem}.mobile-call-bar strong{font-size:1.08rem}}
