:root{--blue:#1474c4;--blue2:#0b5fa8;--navy:#063b6d;--sky:#eaf5ff;--ink:#17324a;--muted:#5f7182;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;background:#fff}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));position:sticky;top:0;z-index:20;background:rgba(4,57,105,.97);box-shadow:0 4px 18px #002c5520}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:#fff;font-size:13px;line-height:1.05;letter-spacing:3px}.brand .rv{font-size:42px;letter-spacing:-4px;color:#fff}nav{display:flex;gap:26px;align-items:center}nav a{color:#fff;text-decoration:none;font-weight:700;font-size:14px}.cta,.button{background:linear-gradient(135deg,#1987db,#0a61aa);color:#fff!important;padding:12px 20px;border-radius:7px;text-decoration:none;display:inline-block;font-weight:700;box-shadow:0 8px 20px #07558c30}.topbar .cta{background:#fff;color:var(--navy)!important}.menu{display:none;border:0;background:none;font-size:28px;color:#fff}.hero{min-height:calc(100vh - 78px);display:flex;align-items:center;background:linear-gradient(90deg,rgba(3,48,88,.96) 0%,rgba(4,65,117,.88) 42%,rgba(7,89,153,.18) 72%),url('assets/hero.png') center/cover no-repeat;padding:70px max(24px,calc((100vw - var(--max))/2));position:relative}.hero:after{content:"";position:absolute;inset:auto 0 0;height:8px;background:linear-gradient(90deg,#0a5fa8,#34a9ef)}.hero-copy{max-width:610px;color:#fff}.eyebrow{font-size:13px;font-weight:800;letter-spacing:2px;color:#1680d4;margin:0 0 10px}.hero .eyebrow{color:#7acbff}.hero h1{font-size:clamp(44px,6vw,78px);line-height:.98;color:#fff;margin:0 0 24px}.lead{font-size:clamp(18px,2vw,24px);color:#edf7ff;margin-bottom:28px}.hero .button{background:#fff;color:var(--navy)!important}.section{max-width:var(--max);margin:auto;padding:90px 24px}.about,.firm{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}h2{font-size:clamp(30px,4vw,48px);line-height:1.08;color:var(--navy);margin:0 0 22px}h3{color:var(--navy);margin-top:0;font-size:21px}.about img,.firm img{width:100%;border-radius:18px;box-shadow:0 18px 50px #064b7e2d;border:5px solid #fff}.about{position:relative}.about:before{content:"";position:absolute;width:220px;height:220px;background:#e8f5ff;border-radius:50%;right:-30px;top:45px;z-index:-1}.services{max-width:none;background:linear-gradient(180deg,#eef8ff,#dcefff);border-top:1px solid #d1e8fa;border-bottom:1px solid #d1e8fa}.services .section-head,.services .grid{max-width:var(--max);margin-left:auto;margin-right:auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.grid article{background:#fff;border-radius:14px;padding:28px;border-top:5px solid var(--blue);box-shadow:0 10px 30px #07558c12;transition:.25s}.grid article:hover{transform:translateY(-5px);box-shadow:0 18px 38px #07558c20}.grid p{color:var(--muted);margin-bottom:0}.firm{background:#fff}.firm p{color:#4d6478}.contact{min-height:620px;display:flex;align-items:center;padding:80px max(24px,calc((100vw - var(--max))/2));background:linear-gradient(90deg,rgba(3,51,94,.97) 0%,rgba(5,76,132,.9) 43%,rgba(8,97,164,.2) 72%),url('assets/contact.png') center/cover no-repeat}.contact-card{background:rgba(255,255,255,.96);padding:42px;border-radius:16px;max-width:520px;box-shadow:0 22px 60px #002e5840;border-left:6px solid var(--blue)}.contact a{color:var(--blue);text-decoration:none}footer{padding:26px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;background:#032f57;color:#dceeff;font-size:14px}@media(max-width:820px){.menu{display:block}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#063b6d;padding:22px 24px;flex-direction:column;align-items:flex-start;box-shadow:0 8px 20px #0002}nav.open{display:flex}.hero{min-height:650px;background-position:64% center}.hero-copy{background:rgba(3,52,94,.88);padding:28px;border-radius:14px}.about,.firm{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.firm-image{order:2}.contact{background-position:65% center}footer{gap:15px;flex-direction:column}}@media(max-width:540px){.topbar{height:68px}.brand .rv{font-size:34px}.brand{font-size:10px}.hero{padding:45px 16px;min-height:610px}.hero-copy{padding:22px}.section{padding:65px 18px}.grid{grid-template-columns:1fr}.contact{padding:55px 18px;min-height:560px}.contact-card{padding:28px 22px}footer{padding:22px 18px}}
