
:root{--navy:#0B3D5C;--blue:#1F8FCC;--green:#96BF3A;--cream:#F4F1EA;--charcoal:#1A2B33;--white:#fff;--line:#D9DDD9;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--charcoal);background:var(--cream);line-height:1.5}
img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;color:var(--navy);line-height:1.08;margin-top:0}
h1{font-size:clamp(3rem,6vw,5.35rem);letter-spacing:-.045em;margin-bottom:16px}h2{font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.03em;margin-bottom:15px}h3{font-size:1.24rem;margin-bottom:8px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,241,234,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(11,61,92,.08)}
.header-inner{max-width:var(--max);margin:auto;height:82px;padding:0 28px;display:flex;align-items:center;gap:18px}.menu-toggle{width:42px;height:42px;border:0;background:transparent;display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:var(--navy)}
.brand img{width:310px;max-height:62px;object-fit:contain}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:25px}.desktop-nav a{text-decoration:none;font-weight:600;font-size:.94rem;color:var(--navy);position:relative}.desktop-nav a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:3px;background:var(--green);transition:.18s}.desktop-nav a:not(.button):hover::after,.desktop-nav a.active::after{right:0}
.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff!important;border:2px solid var(--green);padding:12px 19px;border-radius:999px;text-decoration:none;font-weight:700}.button:hover{filter:brightness(.93)}.button.secondary{background:transparent;color:var(--navy)!important;border-color:var(--navy)}.button.secondary:hover{background:var(--navy);color:#fff!important}
.mobile-panel{display:none;background:var(--cream);padding:14px max(28px,calc((100vw - var(--max))/2 + 28px)) 22px;border-top:1px solid var(--line)}.mobile-panel.open{display:block}.mobile-panel a{display:block;padding:10px 0;text-decoration:none;font-weight:700;color:var(--navy)}
.section,.page-hero{padding:44px 28px}.section.white{background:#fff}.section.navy{background:var(--navy);color:#fff}.section-inner,.hero-inner{max-width:var(--max);margin:auto}.section-kicker,.eyebrow{font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--blue)!important;margin:0 0 12px;line-height:1.2}
.hero,.page-hero{position:relative;overflow:hidden;background:var(--cream)}.hero{padding:58px 28px 48px}.hero .lead{font-size:clamp(1.18rem,2vw,1.5rem);max-width:820px;margin-bottom:25px;color:#33474E}
.hero-inner,.page-hero .section-inner{position:relative;z-index:2}
.banner-art{position:absolute;right:0;top:0;width:43%;height:100%;pointer-events:none;overflow:hidden}
.banner-art .navy-band{position:absolute;right:-13%;top:-20%;width:105%;height:54%;border:24px solid var(--navy);border-left:none;border-bottom:none;border-radius:0 100% 0 0 / 0 100% 0 0;transform:rotate(-4deg)}
.banner-art .green-band{position:absolute;right:-7%;top:8%;width:91%;height:59%;border:9px solid var(--green);border-left:none;border-bottom:none;border-radius:0 100% 0 0 / 0 100% 0 0;transform:rotate(-4deg)}
.banner-art .blue-band{position:absolute;right:-2%;top:27%;width:76%;height:46%;border:4px solid var(--blue);border-left:none;border-bottom:none;border-radius:0 100% 0 0 / 0 100% 0 0;transform:rotate(-4deg);opacity:.9}
.banner-art .green-dot{position:absolute;right:18%;top:26%;width:10px;height:10px;border-radius:50%;background:var(--green)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.copy-full p{font-size:1.05rem;margin:0 0 13px}
.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}.expertise-card,.service-card{background:#fff;border-radius:18px;padding:22px 20px;border:1px solid rgba(11,61,92,.08);box-shadow:0 5px 16px rgba(11,61,92,.04)}.expertise-card p,.service-card p{color:#53636A;margin-bottom:0}
.banner-icon{width:76px;height:64px;fill:none;stroke:var(--green);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:13px}.banner-icon .navy{stroke:var(--navy)}.banner-icon .navy-fill{fill:var(--navy);stroke:none}.icon-asset{width:82px;height:82px;object-fit:contain;display:block;margin:0 0 14px 0}.service-detail .icon-asset{width:88px;height:88px;margin-bottom:16px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}.service-card{background:#fff}.learn{display:inline-block;margin-top:13px;color:var(--navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--green)}
.cta h2,.cta p{max-width:none}.cta h2{color:#fff}.cta p{color:#DDE8EB;font-size:1.05rem}
.page-hero{padding-top:58px;padding-bottom:46px}.page-hero h1{font-size:clamp(2.8rem,5vw,4.35rem);max-width:950px}.page-hero p{max-width:1000px;font-size:1.13rem}
.content-block{max-width:var(--max);margin:auto}.service-detail{padding:24px 0;border-top:1px solid var(--line)}.service-detail:first-child{padding-top:0;border-top:0}.definition{font-size:1.07rem}.bullet-list{padding-left:0;list-style:none}.bullet-list li{position:relative;padding:7px 0 7px 26px}.bullet-list li:before{content:"";position:absolute;left:0;top:14px;width:9px;height:9px;background:var(--green)}
.faq{border-top:1px solid var(--line)}.faq-item{padding:18px 0;border-bottom:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:50px;align-items:start}.headshot-frame{position:relative}.headshot-frame:after{content:"";position:absolute;left:-18px;bottom:-18px;width:44%;height:38%;border-left:14px solid var(--green);border-bottom:14px solid var(--green);border-radius:0 0 0 34px;z-index:0}.headshot-frame img{position:relative;z-index:1;border-radius:24px;box-shadow:0 14px 32px rgba(11,61,92,.11)}
.timeline{margin-top:16px}.timeline-item{border-left:3px solid var(--green);padding:0 0 20px 24px;position:relative}.timeline-item:before{content:"";position:absolute;left:-7px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--navy)}.cert-note{background:var(--cream);padding:20px;border-radius:16px}
.site-footer{background:var(--navy);color:#EAF2F4;padding:42px 28px 24px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.45fr .65fr .9fr;gap:45px}.footer-logo{width:330px;max-height:94px;object-fit:contain;object-position:left center}.site-footer h3{color:#fff}.site-footer a{color:#fff;text-decoration:none}.footer-links{display:flex;flex-direction:column;gap:7px}.footer-bottom{max-width:var(--max);margin:26px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:.86rem;color:#C7D6DB}
.preview-page{display:block}
@media(max-width:950px){.desktop-nav{display:none}.brand img{width:260px}.banner-art{width:48%;opacity:.75}.expertise-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
@media(max-width:620px){.header-inner{height:74px;padding:0 16px}.brand img{width:220px}.hero,.section,.page-hero{padding-left:20px;padding-right:20px}.section{padding-top:40px;padding-bottom:40px}.banner-art{width:58%;opacity:.4}.expertise-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}}
.linkedin-icon{width:18px;height:18px;vertical-align:-3px;margin-right:6px;color:#fff}.section.navy .section-kicker,.section.navy .eyebrow{color:var(--blue)!important;font-size:.82rem}.service-detail{scroll-margin-top:104px}@media(max-width:620px){.mobile-panel{padding-left:20px;padding-right:20px}}
.section-kicker,.eyebrow,
.page-hero .eyebrow,
.section .section-kicker,
.section.navy .section-kicker{
  font-size:13px!important;
  line-height:16px!important;
  color:#1F8FCC!important;
  text-transform:uppercase!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
  margin:0 0 12px!important;
}

.brand{display:flex;align-items:center;text-decoration:none}
.mobile-panel a.active,.desktop-nav a.active{font-weight:800}
@media(max-width:620px){.mobile-panel{padding-left:20px!important;padding-right:20px!important}}
