
:root {
  --white: #ffffff;
  --off: #f2f2f2;
  --off2: #e6e6e6;
  --ink: #080808;
  --ink2: #111111;
  --ink3: #181818;
  --ink4: #202020;
  --slate: #3a3a3a;
  --slate2: #5a5a5a;
  --mist: #888888;
  --mist2: #b0b0b0;
  --lime: #d4ff00;
  --lime2: #c8f000;
  --lime3: #e8ff66;
  --limel: rgba(212,255,0,0.10);
  --limedim: rgba(212,255,0,0.06);
  --rule: rgba(212,255,0,0.45);
  --bdr: rgba(255,255,255,0.08);
  --bdr2: rgba(255,255,255,0.14);
  --bdrl: rgba(8,8,8,0.09);
  --bdrl2: rgba(8,8,8,0.17);
  --fd: 'Cormorant Garamond', serif;
  --fb: 'Barlow', sans-serif;
  --fc: 'Bebas Neue', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--white);
  color: var(--ink);
  font-family: var(--fb);
  font-weight: 300;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/*  NOISE GRAIN  */
body::after {
  content: '';
  position: fixed; inset: 0;
  pointer-events: none; z-index: 9999;
  opacity: .022;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px;
}

/*  NAV  */
#nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  background: rgba(248,249,252,0.97);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--bdrl);
}
.nav-inner {
  max-width: 1280px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 48px; height: 72px;
}
.nav-logo {
  display: flex; flex-direction: column; align-items: flex-start; text-decoration: none;
}
.nav-logo-main {
  font-family: var(--fd);
  font-size: 22px;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: .04em;
  line-height: 1;
}
.nav-logo-sub {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink);
  background: var(--lime);
  padding: 2px 7px;
  margin-top: 4px;
  display: block;
  line-height: 1.5;
  text-align: center;
  min-width: 100%;
}
.nav-links {
  display: flex; align-items: center; gap: 32px;
  list-style: none;
}
.nav-links li:nth-last-child(2) {
  margin-left: 12px;
  padding-left: 20px;
  border-left: 1px solid rgba(8,8,8,.12);
}
.nav-links a {
  font-size: 11px;
  font-family: var(--fc);
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--slate);
  text-decoration: none;
  transition: color .2s;
  position: relative;
}
.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -4px; left: 0; right: 100%;
  height: 1px;
  background: var(--lime);
  transition: right .3s ease;
}
.nav-links a:hover { color: var(--ink); }
.nav-links a:hover::after { right: 0; }
.nav-cta {
  background: var(--lime);
  color: var(--ink) !important;
  padding: 11px 24px;
  letter-spacing: .14em !important;
  transition: background .2s, box-shadow .2s !important;
}
.nav-cta::after { display: none !important; }
.nav-cta:hover { background: var(--lime3) !important; box-shadow: 0 4px 24px rgba(212,255,0,.4) !important; }

/*  BIG ESTIMATE TAB  */
.nav-estimate {
  background: var(--ink) !important;
  color: var(--lime) !important;
  border: 2px solid var(--lime) !important;
  padding: 13px 28px !important;
  font-family: var(--fc) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: background .2s, color .2s, box-shadow .2s !important;
  white-space: nowrap !important;
  position: relative !important;
  animation: estimatePulse 3s ease-in-out infinite !important;
}
.nav-estimate::after { display: none !important; }
.nav-estimate::before {
  content: '' !important;
  position: absolute !important;
  inset: -4px !important;
  border: 1px solid rgba(212,255,0,.25) !important;
  pointer-events: none !important;
  animation: estimateRing 3s ease-in-out infinite !important;
}
.nav-estimate:hover {
  background: var(--lime) !important;
  color: var(--ink) !important;
  box-shadow: 0 0 32px rgba(212,255,0,.5), 0 4px 20px rgba(212,255,0,.3) !important;
  animation: none !important;
}
.nav-estimate:hover::before { display: none !important; }
@keyframes estimatePulse {
  0%, 100% { box-shadow: 0 0 0 rgba(212,255,0,0); }
  50% { box-shadow: 0 0 18px rgba(212,255,0,.35); }
}
@keyframes estimateRing {
  0%, 100% { opacity: 0; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.04); }
}
#nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 4px; }
.nt-bar { display: block; width: 24px; height: 1.5px; background: var(--ink); margin: 5px 0; transition: all .3s; }

/*  HERO  */
#hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-top: 72px;
  overflow: hidden;
  text-align: center;
  background: var(--ink);
}
.hero-left {
  background: transparent;
  display: flex; flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 64px 60px;
  position: relative;
  width: 100%;
  max-width: 920px;
  z-index: 2;
}
/* Subtle geometric pattern on dark side */
.hero-left::before {
  content: '';
  position: fixed; inset: 0;
  background-image:
    linear-gradient(rgba(212,255,0,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212,255,0,.04) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
.hero-left::after { display: none; }
.hero-eyebrow {
  font-family: var(--fc);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--lime);
  margin-bottom: 28px;
  display: flex; align-items: center; justify-content: center; gap: 12px;
  opacity: 0; animation: fadeUp .8s ease .2s forwards;
  -webkit-font-smoothing: antialiased;
}
.hero-eyebrow::before { display: none; }
.hero-h1 {
  font-family: var(--fd);
  font-size: clamp(40px, 5.5vw, 80px);
  font-weight: 300;
  line-height: 1.05;
  color: var(--white);
  letter-spacing: -.02em;
  margin-bottom: 32px;
  opacity: 0; animation: fadeUp .8s ease .35s forwards;
  text-align: center;
}
.hero-h1 em {
  font-style: italic;
  font-weight: 300;
  color: var(--lime2);
}
.hero-rule {
  width: 64px; height: 1px;
  background: var(--lime);
  margin: 0 auto 28px;
  opacity: 0; animation: fadeUp .8s ease .5s forwards;
}
.hero-sub {
  font-size: clamp(15px, 1.6vw, 19px);
  font-weight: 300;
  line-height: 1.65;
  color: var(--mist2);
  max-width: 560px;
  margin-bottom: 44px;
  text-align: center;
  opacity: 0; animation: fadeUp .8s ease .6s forwards;
}
.hero-ctas {
  display: flex; gap: 16px; flex-wrap: wrap;
  justify-content: center;
  opacity: 0; animation: fadeUp .8s ease .75s forwards;
}
.btn-primary {
  background: var(--lime);
  color: var(--ink);
  border: none;
  padding: 15px 32px;
  font-family: var(--fc);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background .2s, box-shadow .2s, transform .15s;
}
.btn-primary:hover {
  background: var(--lime3);
  transform: translateY(-1px);
  box-shadow: 0 8px 32px rgba(212,255,0,.15);
}
.btn-ghost {
  background: transparent;
  color: var(--mist2);
  border: 1px solid rgba(212,255,0,.35);
  padding: 15px 32px;
  font-family: var(--fc);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .16em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: border-color .2s, color .2s;
  -webkit-font-smoothing: antialiased;
}
.btn-ghost:hover { border-color: var(--lime2); color: var(--white); }

.hero-stats {
  display: flex; gap: 48px;
  border-top: 1px solid rgba(212,255,0,.15);
  padding-top: 28px;
  margin-top: 36px;
  opacity: 0; animation: fadeUp .8s ease .9s forwards;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 820px;
}
.hstat { text-align: center; }
.hstat-n {
  font-family: var(--fd);
  font-size: 30px;
  font-weight: 400;
  color: var(--white);
  letter-spacing: -.01em;
  line-height: 1;
}
.hstat-n em { color: var(--lime); font-style: normal; }
.hstat-l {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mist);
  margin-top: 4px;
}

.hero-right {
  display: none;
}
.practice-label {
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--lime);
  margin-bottom: 24px;
  opacity: .9;
  opacity: 0; animation: fadeUp .8s ease .4s forwards;
}
.practice-list {
  list-style: none;
  opacity: 0; animation: fadeUp .8s ease .55s forwards;
}
.practice-list li {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid var(--bdr);
  transition: padding-left .2s;
  cursor: default;
}
.practice-list li:first-child { border-top: 1px solid var(--bdr); }
.practice-list li:hover { padding-left: 8px; background: rgba(212,255,0,0.04); }
.pl-num {
  font-family: var(--fd);
  font-size: 11px;
  color: var(--lime2);
  font-weight: 400;
  padding-top: 3px;
  flex-shrink: 0;
  width: 20px;
}
.pl-body {}
.pl-title {
  font-family: var(--fd);
  font-size: 20px;
  font-weight: 500;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 4px;
}
.pl-desc {
  font-size: 11.5px;
  color: var(--slate2);
  line-height: 1.6;
  font-weight: 300;
}

.hero-phone {
  margin-top: 44px;
  padding-top: 28px;
  border-top: 1px solid var(--bdr);
  opacity: 0; animation: fadeUp .8s ease .7s forwards;
}
.hp-label {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--mist);
  margin-bottom: 4px;
}
.hp-number {
  font-family: var(--fd);
  font-size: 28px;
  font-weight: 400;
  color: var(--white);
  text-decoration: none;
  letter-spacing: .02em;
  transition: color .2s;
  display: block;
}
.hp-number:hover { color: var(--lime); }
.hp-email {
  font-size: 12px;
  color: var(--mist);
  text-decoration: none;
  letter-spacing: .04em;
  transition: color .2s;
  display: block;
  margin-top: 2px;
}
.hp-email:hover { color: var(--lime); }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: none; }
}

/*  GOLD BANNER  */
.gold-banner {
  background: var(--ink);
  border-top: 1px solid rgba(212,255,0,.2);
  border-bottom: 1px solid rgba(212,255,0,.2);
  padding: 22px 48px;
  overflow: hidden;
  position: relative;
}
.gold-banner-inner {
  display: flex; gap: 0;
  white-space: nowrap;
  animation: marquee 28s linear infinite;
}
.gold-banner-inner span {
  font-family: var(--fc);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--lime);
  padding: 0 32px;
  flex-shrink: 0;
  -webkit-font-smoothing: antialiased;
}
.gold-banner-inner span.sep {
  color: rgba(212,255,0,.15);
  padding: 0 4px;
  letter-spacing: 0;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/*  SHARED SECTION  */
.sec {
  max-width: 1280px; margin: 0 auto;
  padding: 100px 64px;
}
.sec-sm { padding: 80px 64px; }
.sec-eye {
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--lime);
  margin-bottom: 16px;
  display: flex; align-items: center; gap: 12px;
}
.sec-eye::before { content: ''; display: block; width: 24px; height: 1px; background: var(--lime); }
.sec-h {
  font-family: var(--fd);
  font-size: clamp(40px, 4.5vw, 64px);
  font-weight: 300;
  line-height: .94;
  color: var(--white);
  letter-spacing: -.01em;
  margin-bottom: 20px;
}
.sec-h em { font-style: italic; color: var(--lime); }
.sec-rule { width: 40px; height: 1px; background: var(--lime); margin-bottom: 24px; opacity: 0.8; }
.sec-sub { font-size: 14.5px; font-weight: 300; line-height: 1.8; color: var(--mist); max-width: 580px; }

/*  PHILOSOPHY  */
#philosophy { background: var(--ink); }
.phil-inner {
  max-width: 1280px; margin: 0 auto; padding: 100px 64px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center;
}
.phil-left .sec-h { color: var(--white); }
.phil-left .sec-sub { color: var(--mist); max-width: 100%; margin-bottom: 32px; }
.phil-quote {
  font-family: var(--fd);
  font-size: 22px;
  font-style: italic;
  font-weight: 300;
  color: var(--lime2);
  line-height: 1.5;
  padding-left: 24px;
  border-left: 2px solid var(--lime);
}
.phil-right {}
.phil-pillars { display: flex; flex-direction: column; gap: 1px; background: rgba(212,255,0,.15); }
.pillar {
  background: var(--ink2);
  padding: 28px 32px;
  display: flex; gap: 20px; align-items: flex-start;
  transition: background .25s;
}
.pillar:hover { background: var(--ink3); }
.pillar-num {
  font-family: var(--fd);
  font-size: 13px;
  color: var(--lime2);
  font-weight: 400;
  flex-shrink: 0;
  padding-top: 2px;
}
.pillar-t {
  font-family: var(--fd);
  font-size: 19px;
  font-weight: 500;
  color: var(--white);
  margin-bottom: 4px;
}
.pillar-d { font-size: 13px; color: var(--mist2); line-height: 1.75; font-weight: 300; }

/*  ATTORNEYS  */
#attorneys { background: var(--ink); }
.atty-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1px; background: var(--bdr);
  border: 1px solid var(--bdr2);
  margin-top: 56px;
}
.atty-card {
  background: var(--ink2);
  padding: 52px 48px;
  position: relative;
  overflow: hidden;
  transition: background .3s;
  display: flex;
  flex-direction: column;
}
.atty-card:hover { background: var(--ink3); }
.atty-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--lime3), transparent);
}
.atty-state-tag {
  font-size: 9px; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--lime);
  background: var(--limel);
  border: 1px solid rgba(212,255,0,.15);
  padding: 4px 12px;
  display: inline-block;
  margin-bottom: 24px;
}
.atty-photo {
  width: 100%;
  aspect-ratio: 3 / 4;
  background: var(--ink3);
  border: 1px solid var(--bdr2);
  margin-bottom: 28px;
  position: relative;
  overflow: hidden;
}
.atty-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  display: block;
  transition: transform .5s ease;
}
.atty-card:hover .atty-photo img {
  transform: scale(1.03);
}
.atty-photo-placeholder {
  font-size: 9.5px; letter-spacing: .1em; color: var(--mist);
  text-transform: uppercase; text-align: center; font-weight: 400;
  padding: 8px;
}
.atty-photo::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--lime3));
  z-index: 2;
}
.atty-name {
  font-family: var(--fd);
  font-size: 42px; font-weight: 400;
  color: var(--white); letter-spacing: -.01em;
  line-height: 1; margin-bottom: 4px;
}
.atty-esq { color: var(--lime); }
.atty-title {
  font-size: 10.5px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--mist); margin-bottom: 24px;
}
.atty-rule { width: 32px; height: 1px; background: var(--lime); margin-bottom: 20px; }
.atty-bio { font-size: 13.5px; font-weight: 300; line-height: 1.82; color: var(--mist2); margin-bottom: 24px; }
.atty-details { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ad-row { display: flex; gap: 12px; align-items: flex-start; font-size: 12px; }
.ad-lbl { font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--mist); min-width: 70px; font-size: 10px; padding-top: 1px; }
.ad-val { color: var(--mist2); line-height: 1.5; }
.ad-val a { color: var(--mist2); text-decoration: none; transition: color .2s; }
.ad-val a:hover { color: var(--lime); }
.atty-contact-bar {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--bdr);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
  width: 100%;
}
.atty-contact-btn {
  font-family: var(--fc);
  font-size: 11px; font-weight: 400;
  letter-spacing: .10em; text-transform: uppercase;
  padding: 11px 4px;
  text-decoration: none;
  transition: all .2s;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.acb-dark {
  background: var(--lime); color: var(--ink);
}
.acb-dark:hover { background: var(--ink2); box-shadow: 0 4px 16px rgba(8,8,8,.15); }
.acb-outline {
  border: 1px solid var(--bdr2); color: var(--mist2);
}
.acb-outline:hover { border-color: var(--lime); color: var(--lime); }

/*  PRACTICE AREAS  */
#practice { background: var(--ink2); }
.pa-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1px; background: var(--bdr2);
  border: 1px solid var(--bdr2);
  margin-top: 56px;
}
.pa-card {
  background: var(--ink3);
  padding: 36px 32px;
  position: relative;
  cursor: default;
  transition: background .25s;
}
.pa-card:hover { background: var(--ink); }
.pa-card:hover .pa-title { color: var(--lime); }
.pa-card:hover .pa-desc { color: var(--mist); }
.pa-card:hover .pa-num { color: rgba(212,255,0,.15); }
.pa-card:hover .pa-arrow { color: var(--lime2); opacity: 1; }
.pa-num {
  font-family: var(--fd);
  font-size: 52px; color: rgba(255,255,255,.06);
  font-weight: 300; line-height: 1;
  margin-bottom: 20px;
  transition: color .25s;
}
.pa-title {
  font-family: var(--fd);
  font-size: 22px; font-weight: 500;
  color: var(--white); line-height: 1.15;
  margin-bottom: 10px;
  transition: color .25s;
}
.pa-desc {
  font-size: 12.5px; font-weight: 300;
  color: var(--mist2); line-height: 1.7;
  transition: color .25s;
}
.pa-arrow {
  position: absolute; bottom: 28px; right: 28px;
  color: var(--lime2); font-size: 20px; opacity: 0;
  transition: opacity .25s, transform .25s;
}
.pa-card:hover .pa-arrow { transform: translate(3px, -3px); }

/*  RESULTS / VERDICTS  */
#results { background: var(--ink); }
.results-inner { max-width: 1280px; margin: 0 auto; padding: 100px 64px; }
.results-inner .sec-h { color: var(--white); }
.results-inner .sec-sub { color: var(--mist); }
/* Verdict grid flexible */
.verdict-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: rgba(212,255,0,.15);
  border: 1px solid rgba(212,255,0,.15);
  margin-top: 56px;
}
.verdict-card {
  background: var(--ink2);
  padding: 40px 32px;
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.verdict-card:hover { background: var(--ink3); }
.verdict-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--lime3), transparent);
}
.verdict-type {
  font-size: 9px; font-weight: 500;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--lime2); margin-bottom: 20px;
}
.verdict-amount {
  font-family: var(--fd);
  font-size: clamp(36px, 3.5vw, 52px);
  font-weight: 400;
  color: var(--white);
  letter-spacing: -.01em;
  line-height: 1;
  margin-bottom: 8px;
}
.verdict-desc {
  font-size: 12px; font-weight: 300;
  color: var(--mist); line-height: 1.65;
  margin-bottom: 16px;
}
.verdict-state {
  font-size: 9px; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase;
  color: rgba(212,255,0,.15);
}
.verdict-disclaimer {
  font-size: 10px; color: var(--mist); opacity: .45;
  margin-top: 40px; text-align: center; line-height: 1.6;
}

/*  WHY US  */
#why { background: var(--ink2); }
.why-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1px; background: var(--bdr);
  border: 1px solid var(--bdr2);
  margin-top: 56px;
}
.why-card {
  background: var(--ink3);
  padding: 40px 36px;
  display: flex; gap: 24px;
  transition: background .25s;
}
.why-card:hover { background: var(--ink); }
.why-icon {
  width: 48px; height: 48px; flex-shrink: 0;
  background: var(--limel);
  border: 1px solid rgba(212,255,0,.2);
  display: flex; align-items: center; justify-content: center;
  color: var(--lime);
}
.why-t { font-family: var(--fd); font-size: 21px; font-weight: 500; color: var(--white); margin-bottom: 8px; }
.why-d { font-size: 13px; font-weight: 300; color: var(--mist); line-height: 1.75; }

/*  PROCESS  */
#process { background: var(--ink); }
.process-steps {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1px; background: var(--bdr2);
  border: 1px solid var(--bdr2);
  margin-top: 56px;
}
.ps-card {
  background: var(--ink2);
  padding: 36px 28px;
  position: relative;
}
.ps-card::after {
  content: '→';
  position: absolute; top: 36px; right: -14px;
  font-size: 16px; color: var(--lime); z-index: 2;
}
.ps-card:last-child::after { display: none; }
.ps-num {
  font-family: var(--fc);
  font-size: 48px; font-weight: 400;
  color: var(--lime);
  opacity: .35;
  line-height: 1;
  margin-bottom: 16px;
  -webkit-font-smoothing: antialiased;
}
.ps-t { font-family: var(--fd); font-size: 18px; font-weight: 500; color: var(--white); margin-bottom: 8px; }
.ps-d { font-size: 12.5px; font-weight: 300; color: var(--mist); line-height: 1.7; }

/*  TESTIMONIALS  */
#testimonials { background: var(--ink2); }
.test-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--bdrl);
  border: 1px solid var(--bdrl2);
  margin-top: 56px;
}
.test-card {
  background: var(--ink3);
  padding: 36px 32px;
  transition: background .3s;
}
.test-card:hover { background: var(--ink); }
.test-stars { color: var(--lime); font-size: 12px; letter-spacing: 3px; margin-bottom: 16px; }
.test-quote {
  font-family: var(--fd);
  font-size: 15.5px; font-style: italic; font-weight: 300;
  color: var(--mist2); line-height: 1.7; margin-bottom: 20px;
}
.test-name { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--white); }
.test-case { font-size: 10.5px; color: var(--mist); letter-spacing: .06em; margin-top: 2px; opacity: .8; }
.test-result {
  margin-top: 14px; padding-top: 14px;
  border-top: 1px solid var(--bdr);
  font-family: var(--fd);
  font-size: 22px; font-weight: 400;
  color: var(--lime);
}
.test-result span {
  font-family: var(--fb); font-size: 9.5px; font-weight: 500;
  color: var(--mist); letter-spacing: .12em; text-transform: uppercase;
  display: block; margin-bottom: 1px;
}

/*  LOCATIONS  */
#locations { background: var(--ink); }
.loc-inner { max-width: 1280px; margin: 0 auto; padding: 100px 64px; }
.loc-inner .sec-h { color: var(--white); }
.loc-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1px; background: rgba(212,255,0,.15);
  border: 1px solid rgba(212,255,0,.15);
  margin-top: 56px;
}
.loc-card {
  background: var(--ink2);
  padding: 48px 44px;
  position: relative;
}
.loc-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--lime), var(--lime3), transparent);
}
.loc-state-tag {
  font-size: 9px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--lime2);
  background: rgba(212,255,0,.15);
  border: 1px solid rgba(212,255,0,.15);
  padding: 4px 12px; display: inline-block;
  margin-bottom: 24px;
}
.loc-firm {
  font-family: var(--fd);
  font-size: 26px; font-weight: 400;
  color: var(--white); margin-bottom: 6px;
}

.loc-rule { width: 32px; height: 1px; background: var(--lime); margin-bottom: 22px; }
.loc-details { display: flex; flex-direction: column; gap: 14px; }
.loc-row { display: flex; gap: 16px; }
.lr-icon { color: var(--lime2); flex-shrink: 0; padding-top: 1px; }
.lr-body { font-size: 13px; font-weight: 300; color: var(--mist); line-height: 1.6; }
.lr-body a { color: var(--mist); text-decoration: none; transition: color .2s; }
.lr-body a:hover { color: var(--lime2); }
.lr-label { font-size: 9px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: rgba(212,255,0,.15); display: block; margin-bottom: 2px; }

/*  CTA BAND  */
#cta-band {
  background: var(--lime);
  padding: 70px 64px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
#cta-band::before {
  content: '';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 600px; height: 200px;
  background: radial-gradient(ellipse, rgba(255,255,255,.15), transparent 70%);
  pointer-events: none;
}
.cta-band-inner { max-width: 800px; margin: 0 auto; position: relative; }
.cta-band-h {
  font-family: var(--fd);
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 300;
  color: var(--ink);
  line-height: .95;
  margin-bottom: 16px;
  letter-spacing: -.01em;
}
.cta-band-h em { font-style: italic; }
.cta-band-sub {
  font-size: 14px; font-weight: 300;
  color: rgba(8,8,8,.65);
  margin-bottom: 36px; line-height: 1.7;
}
.cta-band-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.btn-dark {
  background: var(--ink); color: var(--lime);
  border: none; padding: 16px 36px;
  font-family: var(--fb); font-size: 10.5px;
  font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  cursor: pointer; text-decoration: none; display: inline-block;
  transition: background .2s, box-shadow .2s;
}
.btn-dark:hover { background: var(--ink2); box-shadow: 0 8px 32px rgba(8,8,8,.25); }
.btn-white {
  background: transparent; color: var(--ink);
  border: 1.5px solid rgba(8,8,8,.3); padding: 16px 36px;
  font-family: var(--fb); font-size: 10.5px;
  font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
  cursor: pointer; text-decoration: none; display: inline-block;
  transition: border-color .2s, background .2s;
}
.btn-white:hover { border-color: var(--ink); background: rgba(8,8,8,.06); }

/*  FOOTER  */
footer {
  background: var(--ink);
  border-top: 1px solid rgba(212,255,0,.15);
}
.footer-main {
  max-width: 1280px; margin: 0 auto;
  padding: 60px 64px 40px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 48px;
}
.footer-brand {}
.footer-logo-text {
  font-family: var(--fd);
  font-size: 26px; font-weight: 400;
  color: var(--white); letter-spacing: .02em;
  margin-bottom: 4px;
}
.footer-logo-sub {
  font-size: 8.5px; font-weight: 500;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--lime2); margin-bottom: 20px;
}
.footer-tagline {
  font-family: var(--fd); font-style: italic;
  font-size: 15px; font-weight: 300;
  color: var(--mist); line-height: 1.6; margin-bottom: 24px;
}
.footer-rule { width: 32px; height: 1px; background: var(--lime); margin-bottom: 20px; }
.footer-contact a {
  display: block; font-size: 12px; color: var(--mist);
  text-decoration: none; letter-spacing: .04em;
  margin-bottom: 6px; transition: color .2s;
}
.footer-contact a:hover { color: var(--lime2); }
.footer-col-title {
  font-size: 9.5px; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--lime); margin-bottom: 20px;
}
.footer-col a {
  display: block; font-size: 12px; color: var(--mist);
  text-decoration: none; letter-spacing: .04em;
  margin-bottom: 10px; transition: color .2s;
}
.footer-col a:hover { color: var(--white); }
.footer-bottom {
  max-width: 1280px; margin: 0 auto;
  padding: 20px 64px;
  border-top: 1px solid rgba(212,255,0,.15);
  display: flex; justify-content: space-between;
  align-items: flex-start; flex-wrap: wrap; gap: 16px;
}
.footer-legal {
  font-size: 10px; font-weight: 300;
  color: rgba(154,160,168,.45);
  line-height: 1.7; max-width: 680px;
}
.footer-links-bottom { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-links-bottom a {
  font-size: 10px; color: rgba(154,160,168,.45);
  text-decoration: none; letter-spacing: .08em;
  transition: color .2s;
}
.footer-links-bottom a:hover { color: var(--mist); }

/*  SCROLL ANIM  */
.fu { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.fu.in { opacity: 1; transform: none; }
.fu-d1 { transition-delay: .1s; }
.fu-d2 { transition-delay: .2s; }
.fu-d3 { transition-delay: .3s; }

/*  RESPONSIVE  */
@media (max-width: 1280px) {
  .sec { padding: 80px 48px; }
  .results-inner, .loc-inner { padding: 80px 48px; }
  .phil-inner { padding: 80px 48px; }
  #cta-band { padding: 70px 48px; }
}
@media (max-width: 1024px) {
  #hero { grid-template-columns: 1fr; }
  .hero-left { padding: 60px 24px 48px; min-height: auto; }
  .hero-right { padding: 60px 36px; }
  .hero-stats { position: static; margin-top: 40px; padding-top: 28px; animation: none; opacity: 1; }
  .phil-inner { grid-template-columns: 1fr; gap: 56px; }
  .atty-grid { grid-template-columns: 1fr; }
  .pa-grid { grid-template-columns: repeat(2, 1fr); }
  .verdict-grid { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .ps-card::after { display: none; }
  .test-grid { grid-template-columns: 1fr; }
  .loc-grid { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .sec, .sec-sm { padding: 60px 36px; }
  .results-inner, .loc-inner { padding: 60px 36px; }
  .phil-inner { padding: 60px 36px; }
  #cta-band { padding: 60px 36px; }
  .footer-main { padding: 48px 36px 32px; }
  .footer-bottom { padding: 16px 36px; }
  .nav-inner { padding: 0 24px; }
  .nav-links { display: none; }
  #nav-toggle { display: block; }
}
@media (max-width: 640px) {
  .pa-grid { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr; }
  .verdict-grid { grid-template-columns: 1fr; }
  .footer-main { grid-template-columns: 1fr; gap: 36px; }
  .hero-stats { flex-wrap: wrap; gap: 20px; }
}
/*  CONSULTATION FORM  */
#consultation { background: var(--ink); }
.consult-inner {
  max-width: 1280px; margin: 0 auto; padding: 100px 64px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 60px; align-items: start;
}
.consult-left {}
.consult-left .sec-sub { margin-bottom: 36px; color: var(--mist); }
.consult-trust { display: flex; flex-direction: column; gap: 20px; margin-top: 36px; }
.ct-row {
  display: flex; align-items: flex-start; gap: 16px;
  font-size: 13px; font-weight: 300; color: var(--mist2);
}
.ct-icon {
  width: 40px; height: 40px; flex-shrink: 0;
  background: var(--limel); border: 1px solid rgba(212,255,0,.2);
  display: flex; align-items: center; justify-content: center;
  color: var(--lime);
  margin-top: 2px;
}
.consult-right {}
.form-card {
  background: var(--ink2);
  border: 1px solid var(--bdr2);
  padding: 48px 44px;
  position: relative;
}
.form-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--lime), var(--lime3), transparent);
}
.form-title {
  font-family: var(--fd);
  font-size: 28px; font-weight: 500;
  color: var(--white); margin-bottom: 4px;
  letter-spacing: -.01em;
}
.form-subtitle {
  font-size: 12px; font-weight: 300;
  color: var(--mist); margin-bottom: 32px;
  letter-spacing: .04em;
}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid-full { grid-column: 1 / -1; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-label {
  font-size: 9.5px; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--mist2);
}
.form-input, .form-select, .form-textarea {
  background: var(--ink3);
  border: 1px solid var(--bdr);
  color: var(--white);
  padding: 12px 14px;
  font-family: var(--fb);
  font-size: 13px; font-weight: 300;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  width: 100%;
  -webkit-appearance: none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color: var(--lime);
  box-shadow: 0 0 0 3px rgba(212,255,0,.08);
  background: var(--ink2);
}
.form-input::placeholder, .form-textarea::placeholder { color: var(--mist); opacity: .7; }
.form-select { cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239aa0a8' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.form-textarea { resize: vertical; min-height: 100px; line-height: 1.6; }
.form-state-row {
  grid-column: 1 / -1;
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.form-submit {
  grid-column: 1 / -1;
  margin-top: 8px;
}
.btn-submit {
  width: 100%;
  background: var(--lime);
  color: var(--ink);
  border: none;
  padding: 16px;
  font-family: var(--fb);
  font-size: 11px; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  cursor: pointer;
  transition: background .2s, box-shadow .2s;
  display: flex; align-items: center; justify-content: center; gap: 10px;
}
.btn-submit:hover { background: var(--ink2); box-shadow: 0 8px 32px rgba(8,8,8,.15); }
.btn-submit svg { transition: transform .2s; }
.btn-submit:hover svg { transform: translateX(4px); }
.form-disclaimer {
  grid-column: 1 / -1;
  font-size: 10px; font-weight: 300;
  color: rgba(255,255,255,.3); line-height: 1.7;
  text-align: center; margin-top: 8px;
}
/* Success state */
#form-success {
  display: none;
  text-align: center; padding: 48px 24px;
}
.success-icon {
  width: 56px; height: 56px;
  background: var(--limel); border: 1px solid rgba(212,255,0,.3);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
  color: var(--lime);
}
.success-h {
  font-family: var(--fd);
  font-size: 28px; font-weight: 400;
  color: var(--white); margin-bottom: 8px;
}
.success-s { font-size: 14px; font-weight: 300; color: var(--mist); line-height: 1.7; }

@media (max-width: 1024px) {
  .consult-inner { grid-template-columns: 1fr; gap: 48px; padding: 60px 36px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-state-row { grid-template-columns: 1fr; }
  .form-card { padding: 36px 28px; }
}

/* ── FUNNEL STYLES ── */
.funnel-choice {
  width: 100%;
  background: var(--ink2);
  border: 1px solid var(--bdr2);
  color: var(--mist2);
  padding: 14px 18px;
  text-align: left;
  font-family: var(--fb);
  font-size: 14px;
  font-weight: 300;
  cursor: pointer;
  transition: background .18s, border-color .18s, color .18s, transform .1s;
  display: flex;
  align-items: center;
  gap: 12px;
  -webkit-font-smoothing: antialiased;
}
.funnel-choice:hover {
  background: var(--ink);
  border-color: rgba(212,255,0,.45);
  color: var(--white);
  transform: translateX(3px);
}
.funnel-choice-icon {
  font-size: 16px;
  flex-shrink: 0;
  width: 22px;
  text-align: center;
}
.funnel-choice-sm {
  padding: 12px 16px;
  font-size: 13px;
}
.funnel-pref-btn {
  flex: 1;
  background: var(--ink2);
  border: 1px solid var(--bdr2);
  color: var(--mist2);
  padding: 10px 8px;
  font-family: var(--fb);
  font-size: 12px;
  font-weight: 300;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
  -webkit-font-smoothing: antialiased;
}
.funnel-pref-btn.active {
  background: var(--limel);
  border-color: rgba(212,255,0,.4);
  color: var(--lime);
}
.funnel-pref-btn:hover:not(.active) {
  border-color: rgba(212,255,0,.25);
  color: var(--mist2);
}

/*  HERO ESTIMATE BUTTON  */
.btn-estimate-hero {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--lime);
  color: var(--ink);
  border: none;
  padding: 15px 32px;
  font-family: var(--fc);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: background .2s, box-shadow .2s, transform .15s;
  animation: heroBtnPulse 3.5s ease-in-out infinite;
}
.btn-estimate-hero::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent);
  animation: heroSheen 3.5s ease-in-out infinite;
}
@keyframes heroSheen {
  0%, 70%, 100% { left: -100%; }
  40% { left: 150%; }
}
@keyframes heroBtnPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(212,255,0,0); }
  50% { box-shadow: 0 0 28px rgba(212,255,0,.55), 0 6px 24px rgba(212,255,0,.3); }
}
.btn-estimate-hero:hover {
  background: var(--lime3);
  box-shadow: 0 0 40px rgba(212,255,0,.7), 0 8px 32px rgba(212,255,0,.4);
  transform: translateY(-2px);
  animation: none;
}


/*  FAQ  */
#faq { background: var(--ink); }
.faq-inner { max-width: 1280px; margin: 0 auto; padding: 100px 64px; }
.faq-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1px; background: var(--bdr);
  border: 1px solid var(--bdr2);
  margin-top: 52px;
}
.faq-item {
  background: var(--ink2);
  padding: 32px 36px;
  cursor: pointer;
  transition: background .25s;
  position: relative;
}
.faq-item:hover { background: var(--ink3); }
.faq-item.open { background: var(--ink3); }
.faq-q {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
}
.faq-q-text {
  font-family: var(--fd);
  font-size: 19px; font-weight: 500;
  color: var(--white); line-height: 1.25;
}
.faq-toggle {
  width: 28px; height: 28px; flex-shrink: 0;
  border: 1px solid var(--bdr2);
  display: flex; align-items: center; justify-content: center;
  color: var(--lime); font-size: 18px; font-weight: 300;
  transition: transform .3s, background .2s;
  margin-top: 2px;
  font-family: var(--fb);
}
.faq-item.open .faq-toggle { transform: rotate(45deg); background: var(--limel); }
.faq-a {
  font-size: 13.5px; font-weight: 300;
  color: var(--mist); line-height: 1.78;
  max-height: 0; overflow: hidden;
  transition: max-height .4s ease, margin-top .3s;
}
.faq-item.open .faq-a { max-height: 300px; margin-top: 14px; }

@media(max-width:768px){
  .truth-band-grid { grid-template-columns: 1fr !important; }
}
@media(max-width:768px){ .faq-grid { grid-template-columns: 1fr; } .faq-inner { padding: 60px 24px; } }

/* ═══ INTERACTIVE ENHANCEMENTS ═══ */

/* Scroll-triggered reveal for ALL .fu elements */
.fu {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .65s ease, transform .65s ease;
}
.fu.in { opacity: 1; transform: none; }
.fu-d1 { transition-delay: .1s; }
.fu-d2 { transition-delay: .2s; }
.fu-d3 { transition-delay: .3s; }

/* Hover lift on cards */
.pa-card, .why-card, .how-card, .faq-item, .atty-card, .verdict-card, .rv {
  transition: background .25s, transform .25s, box-shadow .25s !important;
}
.pa-card:hover, .how-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(212,255,0,.08) !important;
}
.why-card:hover, .atty-card:hover {
  transform: translateY(-2px) !important;
}

/* Nav progress bar */
#nav-progress {
  position: fixed;
  top: 0; left: 0;
  height: 2px;
  background: var(--lime);
  z-index: 9999;
  width: 0%;
  transition: width .1s linear;
  box-shadow: 0 0 8px rgba(212,255,0,.5);
}

/* Cursor glow */
#cursor-glow {
  position: fixed;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,255,0,.04) 0%, transparent 70%);
  pointer-events: none;
  z-index: 1;
  transform: translate(-50%, -50%);
  transition: left .12s ease-out, top .12s ease-out;
}

/* Section enter animations — slide from left for headings */
.sec-h { transition: opacity .7s ease, transform .7s ease; }

/* Smooth underline on internal links */
.nav-links a {
  position: relative;
}

/* Process step — lime number pulse on hover */
.ps-card:hover .ps-num {
  opacity: .6 !important;
  text-shadow: 0 0 20px rgba(212,255,0,.3);
  transition: opacity .3s, text-shadow .3s;
}

/* FAQ answer transition enhancement */
.faq-a {
  transition: max-height .45s cubic-bezier(.4,0,.2,1), margin-top .3s ease !important;
}

/* CTA button pulse on hover — enhanced */
.btn-estimate-hero {
  position: relative;
  overflow: hidden;
}

/* Stat counter glow */
.hstat-n em {
  text-shadow: 0 0 24px rgba(212,255,0,.4);
}

/* Money roller glow pulse */
#money-display {
  animation: moneyGlow 2s ease-in-out infinite;
}
@keyframes moneyGlow {
  0%, 100% { text-shadow: 0 0 40px rgba(212,255,0,.2); }
  50% { text-shadow: 0 0 80px rgba(212,255,0,.45), 0 0 120px rgba(212,255,0,.15); }
}

/* Smooth scroll indicator on hero */
.hero-scroll-hint {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  opacity: 0;
  animation: fadeUp .8s ease 1.4s forwards;
  cursor: pointer;
}
.hero-scroll-hint span {
  font-family: var(--fc);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--mist);
  -webkit-font-smoothing: antialiased;
}
.hero-scroll-arrow {
  width: 1px;
  height: 36px;
  background: linear-gradient(to bottom, var(--lime), transparent);
  animation: scrollPulse 1.8s ease-in-out infinite;
}
@keyframes scrollPulse {
  0%, 100% { opacity: .3; transform: scaleY(1); }
  50% { opacity: 1; transform: scaleY(.6); }
}

/* Parallax hero grid */
.hero-grid {
  transition: transform .1s linear;
}

/* Active nav link indicator */
.nav-links a.nav-active {
  color: var(--ink) !important;
}
.nav-links a.nav-active::after {
  right: 0 !important;
}

/* ══ ADA / WCAG 2.1 AA Accessibility ══ */
.skip-link {
  position: absolute;
  top: -999px; left: -999px;
  background: var(--lime); color: var(--ink);
  font-size: 13px; font-weight: 600;
  padding: 10px 20px;
  z-index: 10000;
  text-decoration: none;
  border-radius: 0 0 4px 0;
}
.skip-link:focus {
  top: 0; left: 0;
  outline: 3px solid var(--ink);
}
/* Visible focus ring on all interactive elements */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 2px;
}
/* Ensure sufficient contrast on mist text over dark backgrounds */
.atty-bio, .ps-d, .why-d, .sec-sub, .pillar-d, .pa-desc, .verdict-desc {
  color: #c8c8c8; /* passes 4.5:1 on var(--ink2) */
}

/* The original site's palette, typefaces and form styling are retained. */
body.refreshed{background:var(--ink);color:var(--white);font-size:16px;line-height:1.65;font-weight:400}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.refreshed .btn-submit:hover,.refreshed .btn-submit:focus-visible{background:var(--lime3);color:var(--ink)}
.refreshed .form-input::placeholder,.refreshed .form-textarea::placeholder{color:#96988d;opacity:1}
.refreshed #funnel-step-4>p{color:#a9ab9f!important;font-size:12px!important}
.refreshed .btn-submit{font-family:var(--fc);font-size:15px;letter-spacing:.08em;min-height:50px}
.r-proof{border-top:3px solid var(--lime);background:#191b11;padding:32px}.r-proof>div:not(.r-eyebrow){border-top:1px solid var(--bdr2);padding:22px 0 5px}.r-proof span{font:12px var(--fc);color:var(--lime);letter-spacing:.1em}.r-proof h3{font:30px/1.2 var(--fd);margin:8px 0;color:#fff}.r-proof p{color:#b7b8ad;font-size:14px;line-height:1.65}
.refreshed a{color:inherit}.refreshed p{margin:0 0 20px}.refreshed strong{font-weight:500;color:var(--white)}
.refreshed :focus-visible{outline:2px solid var(--lime);outline-offset:5px}.refreshed [id]{scroll-margin-top:118px}
.r-skip{position:absolute;left:16px;top:-100px;z-index:2000;background:var(--lime);color:#080808!important;padding:12px}.r-skip:focus{top:10px}
.r-header{position:sticky;top:0;z-index:900;color:var(--ink);background:#f6f6f2;border-bottom:1px solid #d9d9d4}
.r-utility{max-width:1280px;margin:auto;padding:6px 40px;display:flex;align-items:center;justify-content:space-between;font:11px var(--fb);letter-spacing:.04em;border-bottom:1px solid #deded8}
.r-utility a{text-decoration:none;font-weight:500}.r-nav{max-width:1280px;margin:auto;min-height:74px;padding:12px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.r-logo{text-decoration:none;flex-shrink:0;line-height:1}.r-logo b{font:500 26px var(--fd);letter-spacing:-.015em;display:block}.r-logo span{font:12px var(--fc);letter-spacing:.16em;background:var(--lime);padding:3px 7px;display:block;margin-top:4px;text-align:center}
.r-menu{display:flex;align-items:center;gap:18px}.r-menu>a,.r-menu summary{font:14px var(--fc);letter-spacing:.08em;text-decoration:none;cursor:pointer;list-style:none;white-space:nowrap}.r-menu summary::-webkit-details-marker{display:none}.r-menu summary:after{content:' +';color:#73736b}.r-menu details{position:relative}.r-menu details[open] summary:after{content:' −'}
.r-dropdown{position:absolute;top:30px;left:-20px;min-width:240px;padding:14px;background:#f6f6f2;border:1px solid #d9d9d4;box-shadow:0 16px 32px #0002}.r-dropdown a{display:block;padding:10px;font-size:14px;text-decoration:none}.r-dropdown a:hover{background:#e8e8df}
.r-menu .r-nav-cta{background:var(--lime);padding:13px 15px;color:var(--ink)}.r-menu a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.r-toggle{display:none;color:var(--ink);background:none;border:1px solid #bbb;padding:9px 13px;font:14px var(--fc);letter-spacing:.08em;cursor:pointer}
.r-wrap{width:min(1200px,100%);padding:80px 40px;margin:0 auto}.r-hero{position:relative;background:radial-gradient(ellipse at 78% 20%,#1b1e10 0,transparent 55%),var(--ink);border-bottom:1px solid var(--bdr2)}
.r-hero .r-wrap{padding-top:58px;padding-bottom:70px}.r-hero-grid{display:grid;grid-template-columns:1.3fr .8fr;align-items:center;gap:76px}
.r-eyebrow{font:14px var(--fc);letter-spacing:.17em;color:var(--lime);text-transform:uppercase;margin-bottom:20px}.r-h1{font:400 clamp(52px,6.7vw,86px)/.99 var(--fd);letter-spacing:-.035em;margin-bottom:28px;max-width:840px}.r-h1 em,.r-heading em{color:var(--lime);font-weight:400}
.r-lead{font-size:19px;line-height:1.7;color:#bcbdb5;max-width:700px}.r-role{font:18px var(--fc);letter-spacing:.09em;color:var(--lime);margin-bottom:16px!important}
.r-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 16px}.r-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:12px;padding:15px 24px;min-height:50px;background:var(--lime);border:1px solid var(--lime);color:var(--ink)!important;text-decoration:none;font:15px var(--fc);letter-spacing:.08em;transition:background .15s}
.r-btn:hover{background:var(--lime3)}.r-btn.outline{background:transparent;color:var(--white)!important;border-color:#ffffff50}.r-btn.outline:hover{border-color:var(--lime);color:var(--lime)!important}
.r-email{color:var(--lime)!important;text-underline-offset:5px;overflow-wrap:anywhere}.r-note{font-size:13px;color:#9fa198;line-height:1.7;margin-top:16px!important}.r-hero .r-note{max-width:620px}
.r-portrait{position:relative;margin:0}.r-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-bottom:4px solid var(--lime);background:#1d1d1d;filter:none}
.r-portrait figcaption{padding:18px 0 0;border-bottom:1px solid var(--bdr2);padding-bottom:14px;display:flex;justify-content:space-between;gap:12px;color:#bbb;font-size:13px}.r-portrait figcaption b{font:20px var(--fd);color:white}.r-portrait .r-photo-tag{position:absolute;left:-18px;top:22px;z-index:1;background:var(--lime);padding:8px 15px;font:14px var(--fc);letter-spacing:.13em;color:var(--ink)}
.r-crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#9fa198;margin-bottom:32px}.r-crumbs a{text-underline-offset:4px}.r-crumbs span:last-child{color:#ddd}
.r-section{border-bottom:1px solid var(--bdr2);background:var(--ink)}.r-section.alt{background:#11120e}.r-section.light{background:#f1f1eb;color:var(--ink)}
.r-heading{font:400 clamp(38px,4.7vw,58px)/1.05 var(--fd);letter-spacing:-.025em;margin-bottom:24px;max-width:750px}.r-section.light .r-heading em{color:#4f5d00}.r-section.light .r-eyebrow{color:#596800}.r-section.light p{color:#4d4e46}.r-section.light strong{color:#111}
.r-intro{color:#aeb0a6;font-size:17px;max-width:710px;line-height:1.8}.r-section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}.r-section-top .r-heading{margin:0}.r-text-link{font:15px var(--fc);letter-spacing:.08em;color:var(--lime)!important;text-underline-offset:5px}
.r-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.r-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.r-card{border:1px solid #ffffff24;background:#161711;padding:30px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.r-card h3{font:400 31px/1.1 var(--fd);margin:0 0 16px;letter-spacing:-.015em}.r-card h3 a{text-decoration:none}.r-card p{color:#b4b6ab;font-size:15px;line-height:1.8}.r-card .r-text-link{margin-top:auto}.r-num{font:13px var(--fc);color:var(--lime);letter-spacing:.1em;margin-bottom:22px}.r-card .r-eyebrow{font-size:12px;margin-bottom:15px}.r-card:hover{border-color:#d4ff0060}
.r-split{display:grid;grid-template-columns:1.35fr .75fr;gap:70px;align-items:start}.r-prose{font-size:17px;color:#b9bbb0;line-height:1.85;max-width:750px}.r-prose h2{font:400 38px/1.12 var(--fd);color:var(--white);letter-spacing:-.02em;margin:42px 0 20px}.r-prose h2:first-child{margin-top:0}.r-prose h3{font:23px var(--fd);color:var(--white);margin:28px 0 12px}.r-prose a{color:var(--lime);text-underline-offset:4px}.r-prose ul,.r-prose ol{padding-left:23px;margin:0 0 25px}.r-prose li{margin:10px 0;padding-left:4px}.r-prose li::marker{color:var(--lime)}
.r-facts{border-top:3px solid var(--lime);background:#191a14;padding:28px;font-size:14px}.r-facts h2{font:30px var(--fd);margin-bottom:20px}.r-facts dt{font:13px var(--fc);letter-spacing:.1em;color:var(--lime);margin:18px 0 6px}.r-facts dd{margin:0;color:#bbbeb0;overflow-wrap:anywhere}.r-facts a{color:var(--lime);text-underline-offset:4px}.r-facts .r-btn{margin-top:25px;width:100%}
.r-lime-band{background:var(--lime);color:var(--ink);padding:24px 40px}.r-lime-band>div{max-width:1120px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.r-lime-band b{font:22px var(--fc);letter-spacing:.05em}.r-lime-band a{text-underline-offset:4px;font-weight:500}
.r-feature{display:grid;grid-template-columns:.78fr 1.2fr;gap:64px;align-items:center}.r-feature img{width:100%;height:420px;object-fit:cover;object-position:center 20%;filter:none;border-bottom:3px solid var(--lime)}
.r-checks{display:flex;gap:25px;flex-wrap:wrap;font-size:13px;color:#c2c5b5;padding-top:25px;border-top:1px solid var(--bdr2);margin-top:25px}.r-checks span:before{content:'↗ ';color:var(--lime);margin-right:7px}
.r-faq{border-top:1px solid #ffffff30}.r-faq details{padding:20px 0;border-bottom:1px solid #ffffff30}.r-faq summary{font:25px/1.2 var(--fd);color:white;cursor:pointer;padding:4px 30px 4px 0}.r-faq p{font-size:16px;color:#b9bbb0;line-height:1.8;margin:18px 0 4px;max-width:800px}.r-faq a{color:var(--lime)}
.r-contact-card{padding:35px;border:1px solid var(--bdr2);background:#14150f}.r-contact-card h2{font:40px var(--fd);margin-bottom:12px}.r-contact-card p{color:#aaa}.r-contact-card .r-email{font-size:clamp(16px,2.1vw,24px)}
.r-footer{padding:0!important;background:#080808!important;color:#aeafa6!important}.r-footer-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:45px}.r-footer .r-wrap{padding-top:52px;padding-bottom:35px}.r-footer h2{font:30px var(--fd);color:#fff;margin-bottom:10px}.r-footer h3{font:15px var(--fc);letter-spacing:.1em;color:var(--lime);margin-bottom:14px}.r-footer p{font-size:13px;line-height:1.85}.r-footer a{text-underline-offset:4px}.r-footer-links{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;margin-top:18px}.r-legal{border-top:1px solid var(--bdr2);padding-top:24px;margin-top:32px;font-size:11px;line-height:1.85;color:#999b90}.r-legal a{color:var(--white)}
.r-inline-cta{border-left:3px solid var(--lime);background:#181a10;padding:28px;margin:35px 0}.r-inline-cta h2{margin-top:0}.r-source{border-top:1px solid var(--bdr2);padding-top:25px;margin-top:35px;font-size:13px}.r-source ul{padding-left:20px}.r-author{font-size:14px;color:#aeb0a5;margin-top:25px}.r-author a{color:var(--lime);text-underline-offset:4px}
.refreshed .fu{opacity:1;transform:none}.refreshed #consultation{background:#11120e}.refreshed .consult-inner{max-width:1200px}.refreshed .consult-left{padding:65px 40px}.refreshed .consult-right{padding:65px 40px}.refreshed .form-card{padding:32px}.refreshed .form-label{font-size:12px}.refreshed .form-subtitle{font-size:14px}.refreshed .form-input,.refreshed .form-textarea{font-size:16px}.refreshed .form-input[aria-invalid=true]{border-color:#ff8787}.r-error{color:#ffb2b2;font-size:14px;margin-top:14px}.r-honey{position:absolute;left:-10000px}
.r-back{background:none;color:var(--lime);border:0;padding:12px 0;cursor:pointer;font:14px var(--fb)}.r-booking{background:#f5f5f2;border-top:3px solid var(--lime);min-height:550px}.r-booking iframe{width:100%;border:0}.r-plain-head .r-wrap{padding-bottom:48px}.r-link-list{list-style:none;padding:0!important}.r-link-list li{border-bottom:1px solid var(--bdr2);padding:13px 0;margin:0}.r-link-list a{text-decoration:none;display:flex;justify-content:space-between;gap:15px}.r-link-list a:after{content:'↗';color:var(--lime)}
@media(min-width:1121px){.r-toggle{display:none!important}}
@media(max-width:1120px){.r-menu{gap:16px}.r-toggle{display:block}.r-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#f6f6f2;border-bottom:1px solid #ccc;padding:20px 30px;align-items:stretch;max-height:75vh;overflow:auto}.r-menu.open{display:flex;flex-direction:column}.r-menu>a,.r-menu summary{font-size:18px;padding:8px}.r-dropdown{position:static;box-shadow:none;border:0;border-left:2px solid #cad29c;margin:10px}.r-hero-grid{gap:40px;grid-template-columns:1.25fr .85fr}.r-h1{font-size:65px}.r-split{gap:35px}.r-feature{gap:35px}}
@media(max-width:760px){.r-utility{padding:7px 22px;font-size:10px}.r-nav{padding:12px 22px;min-height:70px}.r-logo b{font-size:23px}.r-logo span{font-size:10px}.r-wrap{padding:54px 24px}.r-hero .r-wrap{padding:35px 24px 45px}.r-hero-grid,.r-split,.r-feature{grid-template-columns:1fr;gap:36px}.r-h1{font-size:clamp(47px,11.6vw,67px);max-width:570px}.r-lead{font-size:17px}.r-portrait{max-width:460px;width:100%}.r-portrait img{aspect-ratio:5/4;object-position:center 24%}.r-portrait .r-photo-tag{left:-8px;top:16px}.r-portrait figcaption{font-size:12px}.r-grid,.r-grid.two,.r-footer-grid{grid-template-columns:1fr}.r-card{padding:25px}.r-section-top{display:block}.r-section-top .r-text-link{display:inline-block;margin-top:20px}.r-heading{font-size:43px}.r-feature img{height:370px;max-width:450px}.r-lime-band{padding:24px}.r-lime-band>div{gap:14px}.r-prose{font-size:16px}.r-prose h2{font-size:33px}.r-facts{margin-top:0}.r-footer-grid{gap:25px}.r-footer-grid p{margin-bottom:8px}.r-contact-card{padding:26px}.refreshed .consult-inner{grid-template-columns:1fr}.refreshed .consult-left{padding:45px 24px 15px}.refreshed .consult-right{padding:15px 24px 45px}.refreshed .form-card{padding:26px 20px}.r-utility>span{max-width:50%}.r-checks{gap:12px 22px}.r-booking{min-height:650px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Shared homepage: equal portraits, equal email actions, original color photographs. */
.r-home-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.r-home-hero .r-h1{font-size:clamp(54px,5.7vw,78px)}
.r-home-hero .r-lead{font-size:18px;max-width:610px}
.r-attorney-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.r-attorney-pair .r-portrait{align-self:start;min-width:0}
.r-attorney-pair .r-portrait img{aspect-ratio:3/4;object-position:center 20%;filter:none}
.r-attorney-pair .r-photo-tag{display:none}
.r-attorney-pair figcaption{display:block;padding-top:15px}
.r-attorney-pair figcaption b{display:block;font-size:24px}
.r-attorney-pair figcaption b a{text-decoration:none}
.r-attorney-pair figcaption b a:hover{color:var(--lime)}
.r-attorney-pair figcaption span{display:block;margin-top:4px;font-size:12px}
.r-shared-actions .r-btn{min-width:140px}
.r-slogan p{font:400 clamp(28px,3.3vw,43px)/1.12 var(--fd);letter-spacing:-.025em;margin:0}
.r-slogan strong{color:var(--ink)}
.r-attorney-card h3{font-size:41px}
.r-attorney-card>.r-actions{margin-top:auto}
.r-attorney-card .r-state-link{margin-top:24px}
.r-practice-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:auto}
@media(max-width:1120px){.r-home-grid{grid-template-columns:1.12fr 1fr;gap:30px}.r-home-hero .r-h1{font-size:61px}}
@media(max-width:900px){.r-home-grid{grid-template-columns:1fr;gap:35px}.r-attorney-pair{max-width:580px}.r-home-hero .r-h1{font-size:clamp(49px,7.4vw,68px)}}
@media(max-width:760px){.r-home-hero .r-h1{font-size:clamp(43px,10vw,65px)}.r-attorney-pair{gap:14px}.r-attorney-pair figcaption b{font-size:23px}.r-attorney-pair figcaption span{font-size:11px}.r-shared-actions .r-btn{min-width:0;flex:1;max-width:180px;padding:15px 18px}.r-home-hero .r-note{font-size:12px}.r-slogan p{font-size:31px}}
