:root { --navy:#061a36; --navy2:#0b2e58; --red:#df1717; --paper:#f7f8fa; --ink:#15243a; --muted:#5f6b7b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { align-items:center; background:rgba(255,255,255,.97); border-bottom:1px solid #dce1e8; display:grid; gap:28px; grid-template-columns:1fr auto auto; min-height:86px; padding:10px clamp(22px,5vw,76px); position:sticky; top:0; z-index:20; }
.brand { align-items:center; display:flex; font-family:Georgia,serif; font-size:1.08rem; font-weight:700; gap:13px; width:max-content; }
.brand img { height:61px; width:61px; object-fit:cover; object-position:top; }
nav { display:flex; gap:28px; }
nav a { font-size:.82rem; font-weight:700; }
nav a:hover,.text-link:hover { color:var(--red); }
.button { align-items:center; background:var(--red); color:#fff; display:inline-flex; font-size:.78rem; font-weight:800; justify-content:center; letter-spacing:.02em; min-height:52px; padding:0 24px; text-align:center; }
.button:hover { background:#b90f17; }
.button-small { min-height:44px; }
.hero { align-items:center; background:linear-gradient(110deg,#04152d 0%,#0a2f5d 72%,#05162f 100%); color:#fff; display:grid; gap:70px; grid-template-columns:minmax(0,1fr) minmax(300px,500px); min-height:720px; overflow:hidden; padding:90px clamp(24px,7vw,110px); position:relative; }
.hero-overlay { background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:62px 62px; inset:0; mask-image:linear-gradient(to right,black,transparent 78%); position:absolute; }
.hero-copy,.hero-logo { position:relative; z-index:1; }
.hero-logo { filter:drop-shadow(0 24px 40px rgba(0,0,0,.45)); max-width:500px; width:100%; }
.eyebrow,.section-label { color:var(--red); font-size:.69rem; font-weight:900; letter-spacing:.2em; margin:0 0 24px; text-transform:uppercase; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; letter-spacing:-.035em; }
h1 { font-size:clamp(3.4rem,6.5vw,6.5rem); line-height:.98; margin:0; max-width:850px; }
.hero-copy>p:not(.eyebrow) { color:#cbd6e4; font-size:1.12rem; line-height:1.75; margin:32px 0 0; max-width:700px; }
.hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:28px; margin-top:40px; }
.text-link { border-bottom:1px solid rgba(255,255,255,.35); color:#fff; font-size:.85rem; font-weight:700; padding-bottom:7px; }
.proof-strip { background:#fff; border-bottom:1px solid #dce1e8; display:grid; grid-template-columns:repeat(4,1fr); padding:0 clamp(24px,6vw,90px); }
.proof-strip div { border-right:1px solid #e3e7ec; display:flex; flex-direction:column; gap:7px; padding:31px 26px; }
.proof-strip div:first-child { border-left:1px solid #e3e7ec; }
.proof-strip strong { color:var(--navy); font-family:Georgia,serif; font-size:1.45rem; }
.proof-strip span { color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.section { padding:105px clamp(24px,7vw,110px); }
.section-heading { align-items:end; display:grid; gap:60px; grid-template-columns:1.2fr .8fr; margin-bottom:55px; }
h2 { color:var(--navy); font-size:clamp(2.6rem,4.8vw,4.7rem); line-height:1.04; margin:0; }
.section-heading>p,.contact-intro { color:var(--muted); line-height:1.8; margin:0; }
.service-grid { border-left:1px solid #d6dce4; border-top:1px solid #d6dce4; display:grid; grid-template-columns:repeat(3,1fr); }
.service-card { background:#fff; border-bottom:1px solid #d6dce4; border-right:1px solid #d6dce4; min-height:270px; padding:32px; }
.service-card>span { color:var(--red); font-size:.69rem; font-weight:900; }
.service-card h3 { color:var(--navy); font-family:Georgia,serif; font-size:1.4rem; font-weight:500; margin:54px 0 15px; }
.service-card p { color:var(--muted); font-size:.88rem; line-height:1.68; margin:0; }
.leadership { background:#e9eef4; }
.leaders { display:grid; gap:24px; grid-template-columns:1fr 1fr; }
.leader-card { background:#fff; border-top:4px solid var(--red); display:grid; gap:28px; grid-template-columns:150px 1fr; padding:38px; }
.leader-photo { aspect-ratio:4/5; border:3px solid #e1e6ed; height:auto; object-fit:cover; object-position:center top; width:150px; }
.role { color:var(--red); font-size:.67rem; font-weight:900; letter-spacing:.15em; margin:0; text-transform:uppercase; }
.leader-card h3 { color:var(--navy); font-family:Georgia,serif; font-size:1.75rem; font-weight:500; margin:9px 0 18px; }
.leader-card div>p:not(.role) { color:var(--muted); font-size:.9rem; line-height:1.75; }
.leader-links { display:flex; flex-wrap:wrap; gap:18px; margin-top:20px; }
.leader-links a { border-bottom:1px solid #c7ced7; color:var(--navy2); font-size:.76rem; font-weight:800; padding-bottom:5px; }
.contact { align-items:center; background:var(--navy2); color:#fff; display:grid; gap:70px; grid-template-columns:1.1fr .9fr; }
.contact h2 { color:#fff; }
.contact-intro { color:#c8d5e3; margin-top:27px; max-width:700px; }
.contact-cards { display:grid; gap:12px; }
.contact-cards a { background:#fff; color:var(--navy); display:flex; flex-direction:column; padding:23px 26px; }
.contact-cards span { color:var(--red); font-size:.65rem; font-weight:900; letter-spacing:.13em; }
.contact-cards strong { font-family:Georgia,serif; font-size:1.25rem; margin:5px 0; }
.contact-cards small { color:var(--muted); }
footer { align-items:center; background:#031126; color:#93a1b2; display:grid; font-size:.72rem; gap:30px; grid-template-columns:1fr 1.35fr 1fr; padding:30px clamp(24px,5vw,76px); }
.footer-brand { align-items:center; color:#fff; display:flex; gap:12px; }
.footer-brand img { height:54px; width:54px; object-fit:cover; object-position:top; }
footer p:last-child { text-align:right; }
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-logo{max-width:390px}.proof-strip{grid-template-columns:repeat(2,1fr)}.section-heading,.contact{grid-template-columns:1fr}.leaders{grid-template-columns:1fr}footer{grid-template-columns:1fr}footer p:last-child{text-align:left}}
@media(max-width:640px){.site-header{padding:8px 16px}.brand span{display:none}.site-header>.button{display:none}.hero{min-height:720px;padding:78px 22px}.hero-logo{max-width:300px}.proof-strip{grid-template-columns:1fr}.proof-strip div{border-left:1px solid #e3e7ec}.section{padding:78px 22px}.service-grid{grid-template-columns:1fr}.leader-card{grid-template-columns:1fr;padding:28px}.contact{gap:42px}}

/* Dedicated SEO service pages */
a{color:inherit}.service-card h3 a{text-decoration:none}.service-card .text-link{display:inline-block;margin-top:18px;color:var(--red);font-size:.8rem;font-weight:800;text-decoration:none}.service-hero{min-height:460px;padding:110px clamp(24px,7vw,110px) 90px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(115deg,rgba(5,18,36,.98),rgba(11,49,82,.88)),radial-gradient(circle at 82% 20%,rgba(196,32,45,.5),transparent 35%)}.service-hero h1{max-width:900px;margin:8px 0 20px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,7vw,6rem);line-height:.98}.service-hero>p:last-child{max-width:760px;margin:0;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.65;color:#d7e0e9}.prose{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:clamp(42px,7vw,100px);align-items:start}.prose h2,.local-section h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;color:var(--navy);margin:8px 0 24px}.prose p,.local-section p,.content-columns p{font-size:1.03rem;line-height:1.8;color:#425466}.prose aside{padding:32px;background:#f1f5f8;border-top:4px solid var(--red)}.prose aside h2{font-size:1.6rem;margin-top:0}.prose ul{padding-left:20px;margin:0}.prose li{margin:12px 0;line-height:1.5}.local-section{background:#f5f7f9}.content-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px}.footer-brand+ p a{color:inherit}@media(max-width:760px){.prose,.content-columns{grid-template-columns:1fr}.service-hero{min-height:390px;padding:90px 20px 60px}.service-hero h1{font-size:clamp(2.6rem,13vw,4rem)}}
