@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/barlow-condensed-bold.woff2') format('woff2')}
@font-face{font-family:"Barlow Condensed";font-style:italic;font-weight:700;font-display:swap;src:url('/assets/fonts/barlow-condensed-bold-italic.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/manrope-variable.woff2') format('woff2')}
:root{--blue:#0045A8;--burgundy:#800018;--ink:#17212b;--body:#505963;--line:#d6dce3;--soft:#f2f4f7;--white:#fff;--space:clamp(1.5rem,4.3vw,5rem);--display:"Barlow Condensed","Arial Narrow",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;background:var(--white);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased}
::selection{background:var(--blue);color:white}
a{color:inherit;text-decoration:none;text-underline-offset:.3em}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid var(--burgundy);outline-offset:5px}
img{display:block;max-width:100%;height:auto}p,h1,h2,h3{margin-top:0}p{margin-bottom:1.35rem}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:.98;letter-spacing:-.012em;text-transform:uppercase;overflow-wrap:anywhere;hyphens:auto}
h1{font-size:clamp(4.3rem,7.75vw,7.75rem);margin-bottom:1.65rem}
h2{font-size:clamp(3.5rem,5.4vw,5.6rem);margin-bottom:1.6rem}
h3{font-size:clamp(2rem,3.3vw,3.2rem);margin:0;line-height:1.1}address{font-style:normal}
.container{width:min(100% - 2 * var(--space),1280px);margin-inline:auto}
.skip-link{position:fixed;top:.7rem;left:.7rem;padding:.6rem 1rem;background:var(--blue);color:white;z-index:100;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;min-height:94px;gap:2rem}
.brand{flex:none;display:block}.logo-window{display:block;position:relative;overflow:hidden;width:198px;height:68px}
.logo-window img{position:absolute;width:100%;top:50%;transform:translateY(-50%)}
.main-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:clamp(1.3rem,2.5vw,2.6rem);font-size:.875rem;font-weight:700}
.main-nav a{padding:.6rem 0;position:relative;white-space:nowrap}
.main-nav a:not(.nav-contact)::after{content:"";position:absolute;bottom:.1rem;left:0;right:100%;height:2px;background:var(--blue);transition:right .2s}
.main-nav a:hover::after{right:0}.main-nav .nav-contact{background:var(--blue);color:var(--white);padding:.8rem 1.35rem;display:flex;align-items:center;gap:1.6rem;border-radius:2px}
.nav-contact span{font-size:1.4rem;line-height:1}.nav-contact:hover{background:#003581}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0 2rem;padding-top:clamp(2.5rem,4.5vw,4.5rem)}
.eyebrow{display:flex;align-items:center;gap:.8rem;font-size:.75rem;font-weight:700;letter-spacing:.11em;line-height:1.7;text-transform:uppercase;margin-bottom:1.5rem}
.accent-line{width:2rem;height:3px;background:var(--blue);flex:none}
.hero-title-top{display:block;font-size:.78em;line-height:1.05}.hero-title-main{display:block;line-height:1.12;white-space:normal}
.hero-title-main .underlined{font-style:italic;line-height:1.05;padding-right:.06em}.company-suffix{font-style:normal;font-size:.37em;margin-left:.03em;letter-spacing:.01em}
.underlined{position:relative;display:inline-block;max-width:100%}
.underlined::after{content:"";position:absolute;bottom:-.015em;height:5px;left:0;width:100%;background:linear-gradient(to right,var(--blue) 0 85%,transparent 85% 88%,var(--burgundy) 88% 100%);transform:skewX(-24deg)}
.hero-intro{font-size:1.0625rem;line-height:1.8;color:var(--body);max-width:28rem;margin-top:1.8rem}
.hero-actions{display:flex;align-items:center;gap:1.7rem;flex-wrap:wrap;margin-top:1.8rem}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:clamp(1rem,5vw,3rem);max-width:100%;min-height:54px;padding:.8rem clamp(.75rem,4vw,1.4rem);border-radius:2px;font-weight:700;font-size:.9375rem;transition:background .2s,transform .2s}
.button span{font-size:1.5rem;line-height:1}.button-primary{background:var(--blue);color:white}.button-primary:hover{background:#003581;transform:translateY(-2px)}
.phone-link{font-size:.9375rem;font-weight:700;display:flex;align-items:center;gap:.65rem;min-height:44px}
.phone-link svg{width:18px;height:18px;fill:none;stroke:var(--blue);stroke-width:1.6;stroke-linejoin:round;flex:none}
.phone-link:hover{text-decoration:underline;color:var(--blue)}
.hero-brand{position:relative;isolation:isolate;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:3.5rem 0 3rem}
.hero-brand::before{content:"";position:absolute;z-index:-1;inset:0 calc(-1 * var(--space)) 0 .5rem;background:var(--soft);clip-path:polygon(17% 0,100% 0,100% 100%,0 100%)}
.hero-brand::after{content:"";position:absolute;top:0;right:-.5rem;height:4px;width:28%;background:linear-gradient(to right,var(--blue) 0 80%,transparent 80% 85%,var(--burgundy) 85%);transform:skewX(-24deg)}
.hero-logo-window{position:relative;overflow:hidden;aspect-ratio:3/1;width:100%}.hero-logo-window img{position:absolute;width:100%;top:50%;transform:translateY(-50%)}
.brand-rule{display:flex;justify-content:space-between;gap:.55rem;margin:2rem 2rem 1rem}.brand-rule span:first-child{height:2px;background:var(--blue);width:87%}.brand-rule span:last-child{height:2px;background:var(--burgundy);flex:1}
.hero-brand p{text-align:center;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:1.2rem;letter-spacing:.035em;color:var(--body);margin:0}
.hero-bottom{grid-column:1/-1;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.6rem;padding:1.25rem 1.75rem;font-size:.875rem;border-left:5px solid var(--blue)}
.hero-bottom p{margin:0;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}.hero-bottom p span{color:#aab6c7}
.hero-bottom a{display:flex;gap:1.4rem;align-items:center;flex:none;min-height:32px;font-weight:700}.hero-bottom a:hover{text-decoration:underline}
.section{padding-block:clamp(3.5rem,5.5vw,5.5rem)}.section-grid{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.3fr);gap:clamp(3rem,6.5vw,7rem)}
.section-index{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;display:flex;align-items:center;gap:.75rem;margin-bottom:1.4rem;line-height:1.7}
.section-index::before{content:"";width:1.35rem;height:3px;transform:skewX(-24deg);background:var(--blue);flex:none}
.about{border-bottom:1px solid var(--line)}.about .section-heading{display:flex;flex-direction:column;align-items:flex-start;padding-right:2.8rem;border-right:1px solid var(--line)}
.about .section-heading h2{font-size:clamp(4rem,6.3vw,6.5rem);margin-bottom:2rem}
.blue-word{color:var(--ink);font-style:italic;position:relative}.blue-word::after{content:"";position:absolute;bottom:.06em;left:0;width:100%;height:3px;background:var(--blue)}
.prose{color:var(--body)}.lead{font-size:1.125rem;line-height:1.8;color:var(--ink)}.about-copy p:last-child{margin-bottom:0}
.aim{border-left:3px solid var(--burgundy);padding:1.1rem 1.3rem;margin-top:1.65rem;background:var(--soft);color:var(--ink)}
.experience{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.7rem;width:100%;margin-top:auto;padding-top:1.2rem}
.experience>div+div{border-left:1px solid var(--line);padding-left:1.7rem}
.experience strong{font-family:var(--display);font-size:5.5rem;font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--blue)}
.experience strong span{font-size:2.5rem;vertical-align:top;line-height:1.5;margin-left:.1rem}
.experience p{margin:.65rem 0 0;font-size:.875rem;line-height:1.7;color:var(--body);overflow-wrap:anywhere}
.services{background:var(--soft)}.services>.container{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);column-gap:clamp(3rem,6.5vw,7rem)}
.section-top{grid-column:1;grid-row:1/3;align-self:center}.section-top h2{margin-bottom:1.6rem}.section-top>p{font-size:1rem;color:var(--body);max-width:25rem;margin:0}.full-stop{color:var(--burgundy)}
.list-intro{grid-column:2;grid-row:1;font-size:.875rem;color:var(--body);margin-bottom:.8rem}
.services-list{grid-column:2;grid-row:2;padding:0;margin:0;list-style:none;border-top:2px solid var(--blue)}
.services-list li{display:flex;align-items:center;gap:1rem;padding:1.55rem .2rem;border-bottom:1px solid #c6cfd9}.services-list h3{min-width:0}
.service-mark{height:3px;width:2rem;background:var(--blue);margin-left:auto;flex:none;transform:skewX(-24deg)}.services-list li:last-child .service-mark{background:var(--burgundy)}
.service-notes{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.2rem;padding-top:1.75rem;border-top:1px solid var(--line)}.service-notes p{margin:0}
.text-link{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:2rem;font-weight:700;color:var(--blue);font-size:.9375rem;margin-top:1.4rem;padding:.35rem 0;border-bottom:1px solid var(--blue)}
.text-link:hover{color:var(--burgundy);border-color:var(--burgundy)}
.why-us{border-bottom:1px solid var(--line)}
.why-intro{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.3fr);gap:clamp(3rem,6.5vw,7rem);margin-bottom:2.5rem}
.why-intro h2{margin:0}.why-intro h2 .underlined{font-style:italic}.why-intro p:last-child{margin:0}
.reasons-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4rem}
.reasons-list li{padding:1.65rem 0 1.8rem;border-top:1px solid var(--line)}
.reasons-list h3{font-size:clamp(1.9rem,2.6vw,2.4rem);line-height:1.15;margin-bottom:.8rem;padding-left:1rem;border-left:3px solid var(--blue)}
.reasons-list li:nth-child(even) h3{border-left-color:var(--burgundy)}
.reasons-list p{margin:0;color:var(--body)}
.location{background:var(--soft);border-bottom:1px solid var(--line)}
.location .section-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,5rem);align-items:center}
.location h2{max-width:none}.location-details .lead{margin-bottom:1.75rem}
.location-graphic{margin:1.7rem 0 0}.location-graphic img{width:100%;height:auto;border:1px solid #dce5ef}
.office{padding:1.4rem 1.75rem;border-left:3px solid var(--blue);background:#fff;display:grid;grid-template-columns:1fr 1.5fr;gap:1.5rem}
.office .eyebrow{font-size:.75rem;color:var(--body);margin:0}.office address{font-size:1rem;line-height:1.85}.office address strong{font-weight:700}
.contact{background:#fff;position:relative}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(3rem,6vw,6rem)}
.contact h2{font-size:clamp(4rem,7vw,7rem);margin-bottom:1.8rem}.contact h2 .underlined{font-style:italic}
.contact-copy>p{max-width:29rem;color:var(--body)}.contact-copy>p:last-child{margin-bottom:0}
.contact-links{align-self:center;min-width:0;padding:0 1.75rem 1.5rem 2rem;background:var(--soft);border-left:4px solid var(--blue);position:relative}
.contact-links::after{content:"";position:absolute;left:-4px;bottom:0;width:4px;height:2rem;background:var(--burgundy)}
.contact-method{display:block;padding:1.5rem 0;border-bottom:1px solid #cad2dc}
.contact-label{display:block;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;color:var(--body);margin-bottom:.5rem;font-weight:600}
.contact-value{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--display);font-size:clamp(1.6rem,2.8vw,2.7rem);font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.contact-arrow{flex:none;font-size:1.75rem;color:var(--blue);font-weight:400;transition:transform .2s}
.contact-method:hover .contact-value{color:var(--blue)}.contact-method:hover .contact-arrow{transform:translate(3px,-3px)}
.contact-links address{margin-top:1.35rem;font-size:.875rem;color:var(--body);line-height:1.85}
.site-footer{background:var(--ink);border-top:3px solid var(--blue);font-size:.8125rem;color:#fff}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:84px;padding-block:1.2rem}.footer-inner p{margin:0}
.footer-inner a{display:flex;align-items:center;gap:1.2rem;min-height:44px}.footer-inner a:hover{text-decoration:underline}.site-footer a:focus-visible{outline-color:#fff}
.error-main{min-height:70vh;display:flex;flex-direction:column;justify-content:center;padding-block:4rem;align-items:flex-start}.error-main h1{max-width:12ch}.error-main p{color:var(--body)}
@media(max-width:1100px){
.header-inner{flex-wrap:wrap}.main-nav{width:100%;align-items:stretch;gap:0;flex-direction:column;padding:.5rem 0 1.5rem;font-size:1rem}.main-nav a{padding:.7rem 0}.main-nav .nav-contact{margin-top:.6rem;justify-content:space-between;padding:.9rem 1rem}
.js .menu-toggle{display:flex;align-items:center;gap:.75rem;border:1px solid var(--line);border-radius:2px;background:white;min-height:44px;padding:.4rem .8rem;font-size:.875rem;font-weight:700;color:var(--ink)}.menu-bars{width:16px;height:8px;border-top:2px solid var(--blue);border-bottom:2px solid var(--blue)}.js .main-nav:not(.is-open){display:none}
.header-inner{gap:1rem}.logo-window{width:175px;height:63px}.main-nav{gap:1.2rem}.main-nav .nav-contact{padding:.75rem 1rem;gap:1rem}
.hero{gap:0 1.5rem}.hero h1{font-size:clamp(3.75rem,7.9vw,6.5rem)}.hero-actions{gap:1rem}.phone-link{font-size:.875rem}.hero-bottom{padding:1.15rem 1.3rem}.hero-bottom p{gap:.75rem}.hero-bottom>a{display:none}
.section-grid{gap:3rem}.about .section-heading{padding-right:1.8rem}.experience{gap:1rem}.experience>div+div{padding-left:1rem}.experience strong{font-size:4.8rem}.services>.container{column-gap:3rem}.contact-links{padding-inline:1.5rem}
}
@media(max-width:800px){
.why-intro{grid-template-columns:minmax(0,1fr);gap:1.8rem;margin-bottom:1.8rem}.why-intro h2 br{display:none}.why-intro h2 .underlined{margin-left:.12em}.reasons-list{grid-template-columns:minmax(0,1fr)}.reasons-list h3{font-size:2rem}.reasons-list li{padding-block:1.4rem}.location .section-grid{grid-template-columns:minmax(0,1fr);gap:1.8rem}.location-graphic{margin:1.4rem 0 1.8rem}
html{scroll-padding-top:6rem}.header-inner{min-height:82px;flex-wrap:wrap;gap:0}.logo-window{width:157px;height:62px}
.main-nav{width:100%;display:flex;align-items:stretch;gap:0;flex-direction:column;padding:.5rem 0 1.5rem;font-size:1rem}.main-nav a{padding:.7rem 0}.main-nav .nav-contact{margin-top:.6rem;justify-content:space-between;padding:.9rem 1rem}
.js .menu-toggle{display:flex;align-items:center;gap:.75rem;border:1px solid var(--line);border-radius:2px;background:white;min-height:44px;padding:.4rem .8rem;font-size:.875rem;font-weight:700;color:var(--ink)}.menu-bars{width:16px;height:8px;border-top:2px solid var(--blue);border-bottom:2px solid var(--blue)}.js .main-nav:not(.is-open){display:none}
.hero{grid-template-columns:minmax(0,1fr);padding-top:2.2rem}.hero h1{font-size:clamp(3.4rem,13.5vw,6.5rem);margin-bottom:1.5rem}.hero-title-top{font-size:.9em}
.eyebrow{font-size:.75rem;margin-bottom:1.1rem}.hero-intro{font-size:1rem;max-width:28rem;margin-top:1.4rem}.hero-actions{margin-top:1.3rem;gap:1.1rem}
.hero-brand{margin-top:2.2rem;min-height:0;padding:2rem 0 1.4rem}.hero-brand::before{inset:0 calc(-1 * var(--space)) 0 calc(-1 * var(--space));clip-path:polygon(11% 0,100% 0,100% 100%,0 100%)}.hero-brand::after{right:0;width:24%}
.hero-logo-window{max-width:460px;align-self:center}.brand-rule{margin:1.1rem 1rem .8rem}.hero-brand p{font-size:1.05rem}.hero-bottom{margin-top:0;padding:1rem 1.1rem;position:relative;z-index:1}.hero-bottom p{display:block;font-size:.8125rem;line-height:1.9}.hero-bottom p span{padding-inline:.3rem}
.section{padding-block:3.1rem}.section-grid{grid-template-columns:minmax(0,1fr);gap:1.8rem}.section-index{font-size:.75rem;margin-bottom:1.2rem}h2{font-size:3.5rem}
.about .section-heading{border-right:0;padding-right:0}.about .section-heading h2{font-size:4.3rem;margin-bottom:1.5rem}.about .section-heading h2 br{display:none}.about .section-heading h2 .blue-word{margin-left:.13em}
.experience{max-width:24rem;padding-top:.2rem;gap:clamp(1rem,5vw,2rem)}.experience>div+div{padding-left:clamp(1rem,5vw,2rem)}.experience strong{font-size:4.5rem}.experience p{font-size:.875rem}.lead{font-size:1.0625rem}
.services>.container{display:block}.section-top h2{margin-bottom:1.2rem}.section-top>p{max-width:none;margin-bottom:1.7rem}.services-list li{gap:1rem;padding:1.3rem 0}.services-list h3{font-size:clamp(2rem,7.5vw,3rem)}.service-mark{width:1.2rem}
.service-notes{grid-template-columns:minmax(0,1fr);gap:1.3rem;margin-top:1.5rem;padding-top:0;border-top:0}.text-link{gap:1rem;font-size:.875rem}.location .section-grid{gap:0}.location h2{max-width:none}
.office{grid-template-columns:minmax(0,1fr);gap:.65rem;padding:1.2rem 1.3rem}.contact-grid{grid-template-columns:minmax(0,1fr);gap:1.8rem}.contact h2{font-size:clamp(3.75rem,13vw,5rem)}.contact-value{font-size:clamp(1.65rem,7.4vw,2.5rem)}.contact-links{padding:0 1.1rem 1.2rem}.contact-links address{font-size:.875rem}.footer-inner{min-height:85px;gap:1rem;font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

