:root{color-scheme:light;--navy:#10263a;--ink:#183146;--mid:#536878;--cream:#f6f7f5;--line:#d7dfdf;--gold:#c7a879;--blue:#294b62;--white:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);line-height:1.55}a{color:inherit}button,a{touch-action:manipulation}a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:8px 14px;z-index:20}.skip:focus{left:8px}
    header{background:#f5f4f1;color:var(--navy);border-bottom:1px solid #e5e5e0}.header-row{min-height:160px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{text-decoration:none;display:block;flex-shrink:0;width:205px;height:150px;position:relative;overflow:hidden}.brand img{display:block;position:absolute;width:248px;height:248px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%)}.nav{display:flex;gap:30px;align-items:center}.nav a{text-decoration:none;font-size:.87rem;letter-spacing:.025em;color:var(--navy)}.nav a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:6px}.nav .nav-contact{border:1px solid var(--navy);padding:10px 17px}
    .hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#10263a 0%,#17364c 61%,#31586b 100%);color:#fff}.hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 120px,rgba(255,255,255,.035) 121px,transparent 122px 230px);pointer-events:none}.hero:after{content:"";position:absolute;width:700px;height:700px;border:1px solid rgba(199,168,121,.2);border-radius:50%;right:-245px;bottom:-500px;box-shadow:0 0 0 130px rgba(199,168,121,.03),0 0 0 270px rgba(199,168,121,.025);pointer-events:none}.hero-inner{position:relative;padding:108px 0 116px;max-width:1180px;z-index:1}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.19em;font-weight:700;color:var(--gold);margin:0 0 25px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.7rem,5.4vw,5.3rem);line-height:1.08;letter-spacing:-.035em;max-width:900px;margin:0 0 30px}.hero h1 em{font-style:normal;color:#d1b88f}.hero p.lead{font-size:clamp(1.06rem,1.5vw,1.24rem);color:#dce6eb;max-width:720px;margin:0 0 36px;line-height:1.65}.button{display:inline-block;background:var(--gold);color:var(--navy);text-decoration:none;font-weight:700;font-size:.89rem;letter-spacing:.025em;padding:15px 23px}.button:hover{background:#e0c89d}.hero-note{border-top:1px solid rgba(255,255,255,.2);padding:20px 0;color:#b8cbd5;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:1}.hero-note .wrap{display:flex;gap:30px;flex-wrap:wrap}
    section{scroll-margin-top:30px}.intro{padding:108px 0}.section-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:9vw}.section-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.17em;color:#7d6a4d;font-weight:700;margin:7px 0 20px}.section-title{font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em;line-height:1.14;font-size:clamp(2rem,3.2vw,3.25rem);margin:0}.intro-copy{font-size:1.16rem;line-height:1.8;color:#344b5c;margin:0}.intro-copy strong{color:var(--ink)}
    .services{background:var(--cream);padding:105px 0 115px}.services-head{max-width:760px;margin-bottom:52px}.services-head p:last-child{color:var(--mid);font-size:1.08rem;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service{background:var(--cream);padding:35px 29px 38px;min-height:225px}.number{font-family:Georgia,serif;font-size:1rem;color:#9d805a}.service h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:400;line-height:1.25;margin:24px 0 12px}.service p{color:#526676;margin:0;font-size:.98rem;line-height:1.65}
    .people{padding:106px 0}.people-heading{max-width:800px}.people-text{font-size:1.08rem;color:#465c6d;line-height:1.8;margin:22px 0 0}.principal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px;margin-top:52px}.principal{border-top:2px solid var(--navy);padding-top:23px}.principal h3{font-family:Georgia,serif;font-size:1.7rem;line-height:1.2;font-weight:400;margin:0}.principal .role{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:#677988;margin:8px 0 23px}.principal p{font-size:1rem;color:#465c6d;line-height:1.75;margin:0 0 17px}.principal a{display:inline-block;color:var(--navy);text-underline-offset:5px;font-weight:700;font-size:.9rem;margin-top:5px}.principal a:hover{color:#496b7e}
    .contact{background:var(--navy);color:#fff;padding:90px 0 100px}.contact .section-grid{align-items:center}.contact .section-kicker{color:var(--gold)}.contact p{color:#d6e1e7;font-size:1.07rem;line-height:1.75;margin:0 0 27px}.contact .contact-link{display:inline-block;color:#fff;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px;font-weight:700}.contact .contact-link:hover{color:var(--gold)}.contact aside{border-left:1px solid rgba(255,255,255,.3);padding:8px 0 8px 35px;color:#b9cbd4;font-size:.98rem}.contact aside strong{color:#fff;display:block;margin-bottom:10px;font-size:1.08rem}footer{background:#0b1e2e;color:#9db1bd;padding:30px 0;font-size:.82rem}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer a{color:#cdd9df;text-decoration:none}
    @media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.section-grid{gap:6vw}.nav{gap:15px}.nav a{font-size:.8rem}}@media(max-width:680px){.wrap{width:min(100% - 36px,1180px)}.header-row{min-height:126px;gap:10px}.brand{width:165px;height:120px}.brand img{width:198px;height:198px}.nav a:not(.nav-contact){display:none}.nav .nav-contact{padding:8px 11px}.hero-inner{padding:77px 0 84px}.hero h1{font-size:clamp(2.5rem,10.3vw,4rem)}.hero-note{font-size:.7rem}.section-grid{grid-template-columns:1fr;gap:22px}.intro,.people{padding:72px 0}.services{padding:75px 0 80px}.service-grid{grid-template-columns:1fr}.service{min-height:auto;padding:27px 24px 31px}.service h3{margin-top:17px}.services-head{margin-bottom:35px}.principal-list{grid-template-columns:1fr;gap:42px;margin-top:38px}.contact{padding:72px 0}.contact aside{margin-top:25px}.hero:after{right:-560px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:8px;text-decoration-thickness:2px}
.page-intro{background:linear-gradient(125deg,#10263a,#31586b);color:#fff;padding:77px 0 83px}
.page-intro .eyebrow{margin-bottom:17px}
.page-intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.55rem,5vw,4.6rem);line-height:1.12;letter-spacing:-.03em;font-weight:400;max-width:900px;margin:0 0 17px}
.page-intro p:last-child{color:#dce6eb;font-size:1.12rem;line-height:1.7;max-width:780px;margin:0}
.gateway{background:var(--cream);padding:84px 0 98px}.gateway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:35px}.gateway article{background:var(--cream);padding:31px 29px 34px}.gateway h3{font-family:Georgia,serif;font-weight:400;font-size:1.43rem;line-height:1.24;margin:0 0 15px}.gateway p{font-size:.98rem;color:#526676;line-height:1.65;margin:0 0 19px}.gateway a{font-weight:700;color:var(--navy);text-underline-offset:5px;font-size:.9rem}.gateway a:hover{color:#496b7e}
.inner-contact{background:var(--white);color:var(--ink)}.inner-contact .section-kicker{color:#7d6a4d}.inner-contact p{color:#465c6d}.inner-contact .contact-link{color:var(--navy)}.inner-contact aside{border-color:var(--line);color:#677988}.inner-contact aside strong{color:var(--ink)}
@media(max-width:680px){.page-intro{padding:60px 0 64px}.gateway{padding:69px 0 75px}.gateway-grid{grid-template-columns:1fr}.gateway article{padding:26px 25px 28px}}
@media(max-width:680px){.header-row{min-height:0;flex-direction:column;gap:0;padding:4px 0 18px}.brand{width:165px;height:116px}.nav{width:100%;justify-content:center;gap:clamp(8px,3vw,20px)}.nav a:not(.nav-contact){display:inline}.nav a{font-size:.78rem}.nav .nav-contact{padding:7px 10px}}
