:root{--ink:#102033;--ink-2:#183650;--green:#1f6f5b;--teal:#2f9b91;--gold:#c99a3c;--paper:#fbfaf6;--mist:#eef3f1;--line:#dbe4df;--muted:#607083;--white:#fff;--shadow:0 18px 48px rgba(16,32,51,.12);--radius:8px;--max:1180px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}a{color:inherit;text-decoration:none}ul{list-style:none}.container{width:min(92%,var(--max));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px;color:var(--ink)}.logo-mark{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;color:var(--white);background:linear-gradient(135deg,var(--green),var(--gold));font-weight:900}.nav-links{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700;color:#365064}.nav-links a{padding:10px 0;border-bottom:2px solid transparent}.nav-links a:hover,.nav-links a.active{color:var(--ink);border-bottom-color:var(--gold)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:8px;border:1px solid transparent;font-weight:800;line-height:1.1}.nav-cta,.btn-primary{background:var(--ink);color:var(--white)}.btn-primary:hover{background:var(--green)}.btn-secondary{background:var(--white);color:var(--ink);border-color:var(--line)}.btn-secondary:hover{border-color:var(--gold);color:var(--green)}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.menu-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:5px auto}.hero{min-height:calc(100vh - 76px);display:grid;align-items:center;background:linear-gradient(115deg,#102033 0%,#183650 54%,#1f6f5b 100%);color:var(--white);overflow:hidden}.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center;padding:80px 0}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:900;margin-bottom:12px}h1,h2,h3{line-height:1.12;letter-spacing:0}h1{font-size:clamp(42px,6vw,72px);max-width:780px}h2{font-size:clamp(30px,4vw,46px)}h3{font-size:22px}.hero p{color:rgba(255,255,255,.78);font-size:18px;max-width:620px;margin:24px 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:22px;box-shadow:var(--shadow)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:20px;min-height:120px}.metric strong{display:block;color:var(--gold);font-size:32px;line-height:1;margin-bottom:10px}.metric span{color:rgba(255,255,255,.74);font-size:13px;text-transform:uppercase;letter-spacing:1px}.section{padding:84px 0}.section-alt{background:var(--white)}.section-head{max-width:760px;margin-bottom:36px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head p,.lead{color:var(--muted);font-size:17px;margin-top:14px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:26px;box-shadow:0 8px 24px rgba(16,32,51,.05)}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);transition:.2s ease}.card-kicker{color:var(--green);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}.card p{color:var(--muted);margin:12px 0 18px}.text-link{color:var(--green);font-weight:900}.feature-band{background:var(--ink);color:var(--white)}.feature-band h2,.feature-band h3{color:var(--white)}.feature-band p{color:rgba(255,255,255,.72)}.process{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{counter-increment:step;border-left:3px solid var(--gold);padding:10px 18px}.step:before{content:counter(step,decimal-leading-zero);color:var(--gold);font-weight:900;display:block;margin-bottom:8px}.page-hero{background:linear-gradient(125deg,var(--ink),var(--ink-2));color:var(--white);padding:86px 0 58px}.page-hero h1{max-width:820px}.page-hero p{color:rgba(255,255,255,.75);font-size:18px;max-width:720px;margin-top:18px}.breadcrumb{color:rgba(255,255,255,.6);font-size:13px;margin-top:22px}.breadcrumb a{color:var(--gold)}.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:start}.panel{background:var(--mist);border:1px solid var(--line);border-radius:8px;padding:28px}.check-list li{position:relative;padding-left:26px;margin:12px 0;color:#3e5062}.check-list li:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--gold);position:absolute;left:0;top:10px}.service-list{display:grid;gap:14px}.service-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.service-row p{color:var(--muted);margin-top:5px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}.contact-card{background:var(--ink);color:var(--white);border-radius:8px;padding:30px}.contact-card h3{color:var(--white)}.contact-item{margin-top:22px}.contact-item span{display:block;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:1.5px;font-weight:900}.contact-item a,.contact-item p{color:rgba(255,255,255,.82);margin-top:4px}form{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;color:var(--ink);font-weight:800;font-size:13px;margin:0 0 6px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:13px 14px;font:inherit;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(31,111,91,.14);border-color:var(--green)}.field{margin-bottom:16px}textarea{min-height:140px;resize:vertical}.cta{background:linear-gradient(125deg,var(--green),var(--ink));color:var(--white);border-radius:8px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta h2{color:var(--white)}.cta p{color:rgba(255,255,255,.75);margin-top:10px;max-width:660px}.site-footer{background:#0b1827;color:rgba(255,255,255,.66)}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:30px;padding:52px 0 34px}.footer-grid h4{color:var(--white);margin-bottom:12px;font-size:14px;text-transform:uppercase;letter-spacing:1px}.footer-grid a{display:block;color:rgba(255,255,255,.66);margin:8px 0}.footer-grid a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;gap:18px;font-size:13px}@media(max-width:920px){.hero .container,.split,.contact-grid{grid-template-columns:1fr}.grid-3,.process{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);padding:18px 4%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:10px}.nav-links.open{display:flex}.nav-cta{width:100%}.hero .container{padding:52px 0}.metrics,.grid-2,.grid-3,.process,.form-row,.footer-grid{grid-template-columns:1fr}.service-row,.cta,.footer-bottom{display:block}.service-row .btn{margin-top:16px}.section{padding:58px 0}.cta{padding:28px}.cta .btn{margin-top:18px}}
img { max-width: 100%; display: block; }
.photo-card { border-radius: 8px; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); background: var(--white); }
.photo-card img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.hero-photo { min-height: 520px; border-radius: 8px; overflow: hidden; position: relative; border: 1px solid rgba(255,255,255,.2); box-shadow: var(--shadow); }
.hero-photo img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.hero-photo:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(16,32,51,.72)); }
.hero-caption { position: absolute; left: 22px; right: 22px; bottom: 22px; z-index: 1; color: var(--white); font-weight: 800; }
.image-band { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; align-items: stretch; }
.image-band .photo-card img { aspect-ratio: 16 / 10; }
.trust-bar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); border-radius: 8px; overflow: hidden; margin-top: 28px; }
.trust-item { background: var(--white); padding: 22px; }
.trust-item strong { display: block; font-size: 15px; margin-bottom: 5px; }
.trust-item span { color: var(--muted); font-size: 14px; }
.quote-panel { background: var(--ink); color: var(--white); border-radius: 8px; padding: 32px; }
.quote-panel p { color: rgba(255,255,255,.78); font-size: 18px; }
.quote-panel strong { color: var(--gold); display: block; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 1.5px; font-size: 12px; }
.form-note { color: var(--muted); font-size: 13px; margin-top: 12px; }
@media(max-width:920px){.image-band{grid-template-columns:1fr}.hero-photo,.hero-photo img{min-height:360px}.trust-bar{grid-template-columns:1fr}}
.logo { flex-shrink: 0; }
.brand-logo { width: 166px; height: 54px; object-fit: contain; display: block; background: var(--white); border: 1px solid rgba(16,32,51,.08); border-radius: 8px; padding: 5px 8px; }
.site-footer .brand-logo { width: 178px; height: 58px; }
.nav-links { gap: 18px; }
.firm-profile { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.profile-item { background: var(--white); border: 1px solid var(--line); border-radius: 8px; padding: 24px; }
.profile-item strong { display: block; color: var(--ink); font-size: 18px; margin-bottom: 8px; }
.profile-item span { color: var(--muted); }
.criteria-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.criteria-card { background: var(--white); border: 1px solid var(--line); border-radius: 8px; padding: 26px; }
.criteria-card h3 { margin-bottom: 10px; }
.criteria-card p { color: var(--muted); }
@media(max-width:920px){.firm-profile,.criteria-grid{grid-template-columns:1fr}.brand-logo{width:148px;height:48px}.site-footer .brand-logo{width:160px;height:52px}}
.brand-lockup { gap: 12px; min-width: 238px; }
.brand-logo { width: 58px; height: 46px; object-fit: contain; display: block; background: var(--white); border: 1px solid rgba(16,32,51,.08); border-radius: 8px; padding: 3px; }
.brand-name { font-size: 17px; line-height: 1.1; color: var(--ink); font-weight: 900; white-space: nowrap; }
.site-footer .brand-lockup { display: inline-flex; }
.site-footer .brand-logo { width: 62px; height: 50px; }
.site-footer .brand-name { color: var(--white); }
.nav-wrap { min-height: 82px; }
.nav-links { gap: 20px; }
@media(max-width:720px){.brand-lockup{min-width:0}.brand-name{font-size:15px}.brand-logo{width:50px;height:42px}.nav-links{top:82px}}
/* Header audit fix: keep the real logo, remove duplicate text pressure, and prevent nav overlap. */
.site-header { min-height: 0; }
.nav-wrap { min-height: 64px; height: 64px; gap: 18px; }
.logo.brand-lockup { min-width: 0; max-width: 178px; flex: 0 0 auto; gap: 0; overflow: hidden; }
.brand-logo { width: 154px; height: 44px; max-width: 154px; object-fit: contain; padding: 3px 6px; border-radius: 6px; }
.brand-name { display: none !important; }
.nav-links { flex: 1 1 auto; justify-content: flex-end; gap: 16px; font-size: 13px; min-width: 0; }
.nav-links a { white-space: nowrap; padding: 6px 0; }
.menu-toggle { width: 40px; height: 40px; flex: 0 0 auto; }
.hero { min-height: calc(100vh - 64px); }
@media(max-width: 900px) {
  .nav-wrap { height: 62px; min-height: 62px; }
  .logo.brand-lockup { max-width: 150px; }
  .brand-logo { width: 138px; height: 40px; }
  .menu-toggle { display: block; }
  .nav-links { display: none; position: absolute; left: 0; right: 0; top: 62px; background: var(--paper); padding: 14px 4%; border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; gap: 8px; font-size: 14px; }
  .nav-links.open { display: flex; }
}
@media(max-width: 420px) {
  .logo.brand-lockup { max-width: 126px; }
  .brand-logo { width: 118px; height: 38px; }
}
/* Logo size adjustment after cache-bust fix. */
.nav-wrap { min-height: 72px; height: 72px; }
.logo.brand-lockup { max-width: 230px; }
.brand-logo { width: 214px; height: 58px; max-width: 214px; padding: 3px 7px; }
.site-footer .brand-logo { width: 220px; height: 62px; max-width: 220px; }
.hero { min-height: calc(100vh - 72px); }
@media(max-width: 980px) {
  .nav-wrap { min-height: 66px; height: 66px; }
  .logo.brand-lockup { max-width: 184px; }
  .brand-logo { width: 174px; height: 50px; max-width: 174px; }
  .nav-links { top: 66px; }
}
@media(max-width: 420px) {
  .logo.brand-lockup { max-width: 150px; }
  .brand-logo { width: 142px; height: 44px; max-width: 142px; }
}
/* Larger logo pass. */
.nav-wrap { min-height: 84px; height: 84px; }
.logo.brand-lockup { max-width: 292px; }
.brand-logo { width: 276px; height: 72px; max-width: 276px; padding: 4px 8px; }
.site-footer .brand-logo { width: 276px; height: 74px; max-width: 276px; }
.hero { min-height: calc(100vh - 84px); }
@media(max-width: 1120px) {
  .menu-toggle { display: block; }
  .nav-links { display: none; position: absolute; left: 0; right: 0; top: 84px; background: var(--paper); padding: 14px 4%; border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; gap: 8px; font-size: 14px; }
  .nav-links.open { display: flex; }
}
@media(max-width: 560px) {
  .nav-wrap { min-height: 72px; height: 72px; }
  .logo.brand-lockup { max-width: 214px; }
  .brand-logo { width: 202px; height: 56px; max-width: 202px; }
  .nav-links { top: 72px; }
}
@media(max-width: 390px) {
  .logo.brand-lockup { max-width: 176px; }
  .brand-logo { width: 166px; height: 50px; max-width: 166px; }
}
