/* TechLegal homepage (2026-09-30) — adds the video hero + home sections to next.css */
.skip { position: absolute; left: -999px; top: 8px; z-index: 50; background: var(--gold); color: var(--navy); padding: 8px 14px; border-radius: 3px; font-weight: 600; }
.skip:focus { left: 12px; }
.vhero { position: relative; min-height: min(100vh, 900px); display: flex; align-items: center; overflow: hidden; padding: 150px var(--pad) 120px; isolation: isolate; background: var(--navy); color: #fff; }
.vhero-media { position: absolute; inset: 0; z-index: -1; background: var(--navy); }
.vhero-media video { width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%; display: block; opacity: .001; transition: opacity 1.2s ease; }
.vhero-media video.ready, .vhero-media video[poster] { opacity: 1; }
.vhero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 26, 56, .92) 0%, rgba(10, 26, 56, .78) 26%, rgba(10, 26, 56, .3) 52%, rgba(10, 26, 56, .08) 74%, rgba(10, 26, 56, 0) 100%), linear-gradient(0deg, var(--navy) 0%, rgba(10, 26, 56, .55) 12%, rgba(10, 26, 56, 0) 34%), linear-gradient(180deg, rgba(10, 26, 56, .6) 0%, rgba(10, 26, 56, 0) 26%); }
.vhero .hero-copy { max-width: 860px; }
.vhero .lede { max-width: 30em; }
.vhero-cta { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 38px; }
.vhero-cta .btn-lg { margin-top: 0; }
.btn-ghost { font-weight: 600; font-size: 17px; color: #fff; padding: 14px 0; border-bottom: 1px solid rgba(216, 174, 102, .7); transition: color .2s, border-color .2s; }
.btn-ghost:hover { color: var(--gold); border-color: var(--gold); }
.vhero-toggle { position: absolute; right: var(--pad); bottom: 28px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .82); background: rgba(10, 26, 56, .55); border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; padding: 8px 14px 8px 12px; cursor: pointer; backdrop-filter: blur(6px); }
.vhero-toggle:hover { color: #fff; border-color: rgba(216, 174, 102, .8); }
.vhero-toggle .i-play, .vhero-toggle.is-paused .i-pause { display: none; } .vhero-toggle.is-paused .i-play { display: block; }
.sec-head { max-width: var(--max); margin: 0 auto clamp(30px, 4vw, 54px); display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(20px, 4vw, 60px); align-items: end; }
.sec-head .lede { margin-top: 0; margin-bottom: 10px; font-size: clamp(17px, 1.4vw, 20px); color: rgba(255, 255, 255, .78); }
.expertise { padding: clamp(70px, 8vw, 130px) var(--pad) 0; }
.expertise .studies { padding: 0 0 clamp(60px, 7vw, 110px); max-width: var(--max); }
.process { padding: clamp(60px, 7vw, 110px) var(--pad); background: linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%); border-top: 1px solid rgba(255, 255, 255, .07); }
.steps3 { list-style: none; padding: 0; margin: 0 auto; max-width: var(--max); display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.steps3 li { border: 1px solid rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .035); border-radius: 3px; padding: 30px 28px 34px; }
.steps3 .num { display: block; font-size: 13px; font-weight: 700; letter-spacing: .2em; color: var(--gold); margin-bottom: 26px; }
.steps3 h3 { margin-bottom: 12px; } .steps3 p { font-size: 15.5px; line-height: 1.6; color: rgba(255, 255, 255, .72); }
.numbers { padding: 0 var(--pad); background: var(--navy-2); }
.numbers .stats { max-width: var(--max); margin: 0 auto; border-top: 0; padding-bottom: clamp(40px, 5vw, 70px); }
.numbers .stats.n4 { grid-template-columns: repeat(4, 1fr); }
.how { padding: clamp(70px, 8vw, 130px) var(--pad); }
.how .cards { max-width: var(--max); margin: 0 auto; }
.page-home .band { padding-top: clamp(60px, 7vw, 110px); }
@media (max-width: 1100px) { .numbers .stats.n4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .sec-head { grid-template-columns: 1fr; align-items: start; } .steps3 { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .vhero { min-height: 78vh; padding: 120px var(--pad) 90px; align-items: flex-end; }
  .vhero .hero-copy { padding: 0; margin-top: 0; }
  .vhero-media video { object-position: 50% 50%; }
  .vhero-scrim { background: linear-gradient(0deg, var(--navy) 0%, rgba(10, 26, 56, .9) 30%, rgba(10, 26, 56, .35) 62%, rgba(10, 26, 56, .1) 100%), linear-gradient(180deg, rgba(10, 26, 56, .7) 0%, rgba(10, 26, 56, 0) 30%); }
  .vhero-toggle { bottom: 16px; right: 16px; padding: 7px 12px 7px 10px; }
  .numbers .stats.n4 { grid-template-columns: 1fr; }
  .expertise, .how { padding-top: 60px; }
}
@media (prefers-reduced-motion: reduce) { .vhero-media video { transition: none; } }
