
:root{
  --navy:#081a2b;
  --navy2:#102a40;
  --ivory:#f4f0e8;
  --paper:#fbfaf7;
  --gold:#c8a46a;
  --ink:#0c1f31;
  --muted:#64707a;
  --line:rgba(8,26,43,.15);
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --sans:Inter,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

.demo-strip{
  min-height:28px;background:#5d1830;color:#fff;padding:.35rem 5vw;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-size:.58rem;letter-spacing:.12em;text-transform:uppercase
}
.demo-strip a{color:#e4c08a;font-weight:700}
.topbar{
  height:92px;padding:0 5vw;display:grid;grid-template-columns:190px 1fr auto;
  align-items:center;background:rgba(251,250,247,.96);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30
}
.brand img{width:122px;height:68px;object-fit:contain}
.nav{display:flex;justify-content:center;gap:2.8rem}
.nav a,.consult{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase}
.nav a{position:relative;padding:.5rem 0}
.nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:.35s}
.nav a:hover:after{width:100%}
.consult{border-bottom:1px solid var(--ink);padding:.5rem 0}
.consult span{color:var(--gold)}

.hero{
  position:relative;min-height:calc(100vh - 120px);overflow:hidden;background:var(--navy);
  color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch
}
.hero-backdrop{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 82% 20%,rgba(200,164,106,.20),transparent 28%),
    radial-gradient(circle at 64% 62%,rgba(63,107,145,.28),transparent 36%),
    linear-gradient(115deg,#061523 0%,#0a2034 46%,#132f47 100%);
}
.hero-noise{
  position:absolute;inset:0;opacity:.08;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:110px 110px;
  mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.65) 45%,rgba(0,0,0,.9))
}
.hero-content{
  position:relative;z-index:5;padding:8vw 0 8vw 6vw;align-self:center;max-width:720px
}
.hero-kicker{display:block;font-size:.65rem;letter-spacing:.22em;color:#d8c6a7;margin-bottom:2rem}
.hero h1{
  font-family:var(--serif);font-weight:400;font-size:clamp(5rem,8.1vw,9.8rem);
  line-height:.78;letter-spacing:-.055em;margin:0
}
.hero h1 em{font-style:italic;color:var(--gold);font-weight:400}
.hero-content p{max-width:520px;margin:2rem 0 0;color:#d3d9de;font-size:.95rem;line-height:1.7}
.hero-cta{
  display:inline-flex;gap:1.1rem;align-items:center;margin-top:2rem;padding:1rem 0;
  font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.55)
}
.hero-cta span{color:var(--gold)}
.hero-lawyer{
  position:relative;z-index:4;display:flex;align-items:flex-end;justify-content:center;min-width:0
}
.hero-lawyer:before{
  content:"";position:absolute;width:72%;height:72%;right:8%;bottom:9%;
  background:radial-gradient(circle,rgba(255,255,255,.06),rgba(255,255,255,0) 68%);
}
.hero-lawyer img{
  width:min(112%,920px);max-width:none;height:99%;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 38px 38px rgba(0,0,0,.24))
}
.hero-sidecopy{
  position:absolute;right:1.2vw;top:50%;transform:rotate(90deg) translateY(-50%);
  transform-origin:right top;font-size:.55rem;letter-spacing:.28em;color:rgba(255,255,255,.38);z-index:5
}
.hero-scroll{
  position:absolute;left:6vw;bottom:2.3rem;display:flex;align-items:center;gap:1rem;
  font-size:.52rem;letter-spacing:.24em;color:rgba(255,255,255,.5);z-index:6
}
.hero-scroll i{display:block;width:110px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);animation:scrollPulse 2.4s ease-in-out infinite}
@keyframes scrollPulse{50%{transform:scaleX(.55);transform-origin:left;opacity:.4}}

.statement{
  padding:9rem 5vw;display:grid;grid-template-columns:.22fr .9fr .62fr;gap:3rem;align-items:start;background:var(--paper)
}
.statement-label,.areas-head>span,.team-head>span,.contact-copy>span{
  font-size:.63rem;letter-spacing:.17em;text-transform:uppercase;color:#8b7a63
}
.statement h2,.areas h2,.team h2,.contact h2{
  font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.88;margin:0
}
.statement h2{font-size:clamp(4rem,6.5vw,7.3rem);max-width:9ch}
.statement-text{border-top:1px solid var(--line);padding-top:1.4rem;color:#5d6972;line-height:1.75}
.statement-text p:first-child{font-size:1.02rem}
.statement-text p:last-child{font-size:.78rem;color:#899097}

.areas{background:var(--navy);color:#fff;padding:9rem 5vw}
.areas-head{margin-bottom:5rem}
.areas-head>span{color:#cdbb9a}
.areas h2{font-size:clamp(4.2rem,7vw,8rem);margin-top:1rem}
.areas h2 em{font-style:italic;color:var(--gold)}
.area-list{border-top:1px solid rgba(255,255,255,.18)}
.area-item{
  display:grid;grid-template-columns:70px 1.15fr .9fr 40px;gap:2rem;align-items:center;
  padding:2.25rem 0;border-bottom:1px solid rgba(255,255,255,.14);transition:.35s
}
.area-item:hover{padding-left:1rem;background:rgba(255,255,255,.025)}
.area-item span{font-family:var(--serif);font-size:1.5rem;color:var(--gold)}
.area-item h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.6rem);font-weight:400;margin:0}
.area-item p{font-size:.82rem;color:#aeb8bf;margin:0;max-width:380px}
.area-item b{font-size:1.2rem;color:var(--gold);font-weight:400}

.quote-band{
  min-height:460px;background:#ebe6dc;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;padding:4rem 5vw
}
.quote-band:before{
  content:"LEXORA";position:absolute;left:-2vw;bottom:-6vw;font-family:var(--serif);
  font-size:clamp(10rem,23vw,27rem);line-height:.7;color:rgba(8,26,43,.05);letter-spacing:-.07em
}
.quote-line{position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(200,164,106,.45)}
.quote-band blockquote{
  position:relative;z-index:2;max-width:980px;text-align:center;font-family:var(--serif);
  font-size:clamp(3rem,5vw,5.8rem);line-height:.95;font-weight:400;margin:0;color:var(--ink)
}

.team{padding:9rem 5vw 8rem;background:var(--paper)}
.team-head{display:grid;grid-template-columns:.3fr 1fr;gap:3rem;align-items:start;margin-bottom:4rem}
.team h2{font-size:clamp(3.8rem,6vw,7rem);max-width:11ch}
.team-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:1.5rem;align-items:end}
.member-photo{height:680px;background:linear-gradient(180deg,#112c41,#081a2b);overflow:hidden;position:relative}
.member-photo.alt{height:530px;background:#ded7cb}
.member-photo.alt2{height:570px;background:#bda478}
.member-photo:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.14);pointer-events:none}
.member-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transition:transform .7s ease}
.member:hover img{transform:scale(1.025)}
.member-meta{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:1rem 0}
.member-meta strong{font-family:var(--serif);font-size:1.55rem;font-weight:400}
.member-meta span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#777f85;padding-top:.45rem}

.contact{
  min-height:680px;background:#071522;color:#fff;display:grid;grid-template-columns:.7fr 1.3fr;
  gap:6rem;align-items:center;padding:7rem 5vw
}
.contact-logo-wrap{display:flex;justify-content:center}
.contact-logo-wrap img{width:min(400px,88%);filter:drop-shadow(0 24px 40px rgba(0,0,0,.28))}
.contact-copy>span{color:#cbb996}
.contact h2{font-size:clamp(4.6rem,7vw,8.2rem);margin-top:1rem}
.contact h2 em{font-style:italic;color:var(--gold)}
.contact-copy p{max-width:600px;color:#b5c0c8;line-height:1.7}
.contact-copy a{display:inline-block;margin-top:1rem;padding-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.55);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
footer{
  background:#071522;color:#84919a;border-top:1px solid rgba(255,255,255,.12);
  padding:1.5rem 5vw;display:flex;justify-content:space-between;gap:1rem;
  font-size:.55rem;letter-spacing:.12em;text-transform:uppercase
}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

@media(max-width:980px){
  .topbar{grid-template-columns:160px 1fr}.nav{display:none}.consult{justify-self:end}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-content{padding:6rem 6vw 1rem}
  .hero-lawyer{min-height:650px}.hero-lawyer img{height:650px;width:min(110%,760px)}
  .hero h1{font-size:clamp(4.8rem,13vw,8rem)}
  .hero-sidecopy,.hero-scroll{display:none}
  .statement{grid-template-columns:1fr}.statement h2{max-width:12ch}.statement-text{max-width:650px}
  .team-head{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}.member-main{grid-row:span 2}.member:nth-child(3){grid-column:2}
  .contact{grid-template-columns:1fr}.contact-logo-wrap{justify-content:flex-start}.contact-logo-wrap img{width:290px}
}
@media(max-width:620px){
  .demo-strip{font-size:.5rem}.demo-strip a{display:none}
  .topbar{height:78px;padding:0 6vw}.brand img{width:105px}.consult{font-size:.58rem}
  .hero-content{padding:4rem 6vw 0}.hero h1{font-size:clamp(4rem,18vw,5.8rem)}
  .hero-lawyer{min-height:520px}.hero-lawyer img{height:530px;width:125%}
  .statement,.areas,.team,.contact{padding-left:6vw;padding-right:6vw}
  .statement{padding-top:6rem;padding-bottom:6rem}
  .statement h2,.areas h2,.team h2,.contact h2{font-size:clamp(3.5rem,15vw,5.3rem)}
  .area-item{grid-template-columns:44px 1fr 30px;gap:1rem}.area-item p{display:none}.area-item h3{font-size:2rem}
  .quote-band{min-height:380px}.quote-band blockquote{font-size:clamp(3rem,13vw,4.4rem)}
  .team-grid{grid-template-columns:1fr}.member-main,.member:nth-child(3){grid-column:auto;grid-row:auto}
  .member-photo,.member-photo.alt,.member-photo.alt2{height:520px}
  footer{flex-direction:column}
}
