@font-face{font-family:Archivo;src:url('/assets/fonts/archivo-latin.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('/assets/fonts/ibm-plex-sans-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/ibm-plex-mono-regular-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/ibm-plex-mono-semibold-latin.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}

:root{--cream:#f3ead9;--ivory:#fffdf7;--teal:#0d3035;--teal-2:#17474d;--oxide:#a62c21;--oxide-dark:#812219;--line:rgba(13,48,53,.28);--soft:#d9cfbd;--pad:clamp(22px,5vw,76px);--display:Georgia,'Times New Roman',serif;--sans:'IBM Plex Sans',Arial,sans-serif;--ui:Archivo,Arial,sans-serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--teal);font-family:var(--sans);font-size:17px;line-height:1.6;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #075bd8;outline-offset:4px}
.skip-link{position:fixed;left:12px;top:12px;z-index:1000;background:var(--ivory);padding:10px 14px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.masthead{height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:50}
.wordmark{flex:0 0 auto;text-decoration:none;text-transform:uppercase;font:800 18px/.8 var(--ui);letter-spacing:.05em}
.wordmark em{font:italic 16px/1 var(--display);text-transform:none;letter-spacing:0;font-weight:400}
.desktop-nav{display:flex;align-items:center;gap:clamp(15px,1.8vw,30px);font:700 11px/1 var(--ui);text-transform:uppercase;letter-spacing:.06em}
.desktop-nav .call-link{border-left:1px solid var(--line);padding-left:clamp(15px,1.8vw,30px)}
.button-link,.desktop-nav .quote-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--oxide);color:white;padding:15px 18px;text-decoration:none;font:700 12px/1 var(--ui);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--oxide)}
.button-link:hover,.desktop-nav .quote-link:hover{background:var(--oxide-dark)}
.menu-button{display:none;border:1px solid var(--teal);background:transparent;color:var(--teal);padding:11px 12px;font:700 11px/1 var(--ui);text-transform:uppercase;letter-spacing:.08em}
.mobile-quick{display:none}
.mobile-menu{display:none}
.mobile-menu[hidden]{display:none}

h1,h2,h3,p{overflow-wrap:break-word}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.045em}
h1{font-size:clamp(58px,7.1vw,108px);line-height:.91;margin:0}
h2{font-size:clamp(43px,5.5vw,78px);line-height:.93;margin:0}
h3{font-size:clamp(27px,3vw,42px);line-height:1;margin:0}
.eyebrow,.section-label,.caption{font-family:var(--ui);font-weight:700;text-transform:uppercase;letter-spacing:.11em}
.eyebrow,.section-label{font-size:12px;line-height:1.3}
.standfirst{font-family:var(--display);font-size:clamp(22px,2.2vw,32px);line-height:1.32}
.measure{max-width:720px}
.caption{font-size:9px;line-height:1.4;margin-top:9px;letter-spacing:.04em;text-transform:none;font-weight:500}
.media-frame{margin:0}
.media-frame img{width:100%;height:100%;object-fit:cover}

.home-hero{min-height:650px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.45fr);border-bottom:1px solid var(--line)}
.address-stage{padding:48px var(--pad) 46px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.address-stage .eyebrow{margin:0 0 28px}
.address-display{font-family:var(--display);font-weight:700;color:var(--oxide);letter-spacing:-.072em;margin:0}
.address-display span{display:block}
.address-display .number{font-size:clamp(110px,13.7vw,206px);line-height:.72}
.address-display .street{font-size:clamp(92px,11.4vw,172px);line-height:.88;margin-top:.08em;white-space:nowrap}
.address-place{font:italic clamp(27px,3vw,43px)/1.1 var(--display);margin:26px 0 20px}
.address-argument{max-width:720px;font-family:var(--display);font-size:17px;line-height:1.55;margin:0}
.hero-rail{display:grid;grid-template-rows:minmax(360px,1.35fr) minmax(210px,.65fr);background:var(--teal)}
.contact-panel{background:var(--teal);color:white;padding:38px;display:flex;flex-direction:column;justify-content:center}
.contact-panel h1,.contact-panel h2{font-size:clamp(32px,3vw,47px);line-height:.95;margin:0 0 25px;color:white}
.contact-panel p{font-family:var(--display);font-size:17px;line-height:1.45;margin:0 0 24px}
.contact-actions{border-top:1px solid rgba(255,255,255,.4)}
.contact-actions a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.4);text-decoration:none}
.contact-actions span{display:block;font:700 10px/1 var(--ui);text-transform:uppercase;letter-spacing:.13em;color:#c8d3d1;margin-bottom:7px}
.contact-actions strong{font:700 18px/1.2 var(--display);color:white}
.contact-actions .accent{font-family:var(--ui);font-size:14px;text-transform:uppercase;letter-spacing:.07em}
.hero-image{position:relative;margin:0;min-height:0;background:var(--teal)}
.hero-image img{width:100%;height:100%;object-fit:cover}
.hero-image .caption{position:absolute;left:10px;bottom:8px;background:rgba(255,253,247,.94);padding:5px 7px;margin:0;color:var(--teal)}
.section-index{min-height:62px;display:grid;grid-template-columns:1.4fr repeat(4,1fr);align-items:center;gap:20px;padding:12px var(--pad);background:var(--teal);color:white;font:600 11px/1.3 var(--mono);border-bottom:1px solid var(--teal)}
.section-index span{text-transform:uppercase;letter-spacing:.08em}

.location-proof,.split-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:100px var(--pad);align-items:center;background:var(--ivory)}
.location-proof .media-frame img{aspect-ratio:1.45;object-fit:cover}
.location-proof h2,.split-section h2{margin-bottom:28px}
.location-proof .large-copy{font-family:var(--display);font-size:clamp(22px,2.3vw,32px);line-height:1.35}
.services-band{padding:105px var(--pad);background:var(--oxide);color:white}
.section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}
.section-heading-row p{font-family:var(--display);font-size:20px;margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.55)}
.service-card{min-height:465px;padding:28px 30px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.55);text-decoration:none}
.service-card:first-child{border-left:1px solid rgba(255,255,255,.55)}
.service-card .count{font:600 11px var(--mono)}
.service-card h3{margin:58px 0 26px;color:white}
.service-card p{font-family:var(--display);line-height:1.5}
.service-card b{margin-top:auto;font:700 11px var(--ui);text-transform:uppercase;letter-spacing:.08em}
.split-section.dark{background:var(--teal);color:white}
.split-section.cream{background:var(--cream)}
.split-section .media-frame img{aspect-ratio:1;object-fit:cover}
.split-section p{font-family:var(--display);font-size:19px;line-height:1.6}
.split-section .large-copy{font-size:clamp(22px,2.2vw,31px);line-height:1.35}
.scope-band{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:100px var(--pad);background:var(--teal);color:white}
.scope-band p{font-family:var(--display);font-size:clamp(20px,2.1vw,29px);line-height:1.45;margin:0;align-self:end}
.scope-band .section-label{color:#d6e1df;margin-bottom:25px;display:block}
.cta-band{padding:105px var(--pad);display:grid;grid-template-columns:1.3fr .7fr auto;align-items:end;gap:50px;background:var(--ivory)}
.cta-band p{font-family:var(--display);font-size:20px;margin:0}

.page-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);min-height:620px;border-bottom:1px solid var(--line)}
.page-hero-copy{padding:70px var(--pad);display:flex;flex-direction:column;justify-content:center}
.page-hero-copy .eyebrow{margin:0 0 30px}
.page-hero-copy .standfirst{max-width:800px;margin:40px 0 0}
.page-hero-rail{display:grid;grid-template-rows:1fr 230px;background:var(--teal)}
.page-hero-rail .contact-panel h2{font-size:37px}
.page-hero-rail .hero-image img{object-position:center}
.content-section{padding:100px var(--pad);display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;border-bottom:1px solid var(--line);background:var(--ivory)}
.content-section:nth-of-type(even){background:var(--cream)}
.content-section p{font-family:var(--display);font-size:clamp(20px,2vw,28px);line-height:1.48;margin:0;max-width:840px}
.content-section h2{font-size:clamp(42px,5vw,70px)}
.content-section.statement{background:var(--teal);color:white}
.content-section.statement .section-label{display:block;color:#d6e1df;margin-bottom:28px}
.process{padding:100px var(--pad);background:var(--oxide);color:white}
.process-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}
.process-head p{font-family:var(--display);font-size:20px}
.process-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.55);list-style:none;padding:0;margin:0;counter-reset:steps}
.process-list li{counter-increment:steps;min-height:310px;padding:28px;border-right:1px solid rgba(255,255,255,.55);display:flex;flex-direction:column}
.process-list li:first-child{border-left:1px solid rgba(255,255,255,.55)}
.process-list li:before{content:'0' counter(steps);font:600 11px var(--mono)}
.process-list h3{font-size:31px;margin:50px 0 22px;color:white}
.process-list p{font-family:var(--display);line-height:1.5;margin:0}
.related{padding:85px var(--pad);background:var(--cream)}
.related h2{font-size:48px;margin-bottom:35px}
.related-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--teal)}
.related-links a{padding:22px 0;border-bottom:1px solid var(--teal);font-family:var(--display);font-size:22px;text-decoration:none}

.address-page-hero .page-hero-copy{background:var(--cream)}
.address-page-display{font-family:var(--display);font-size:clamp(76px,10vw,150px);font-weight:700;line-height:.82;letter-spacing:-.065em;color:var(--oxide);margin:0 0 30px}
.address-page-display span{display:block}
.address-page-display small{font:italic clamp(27px,3vw,42px)/1.1 var(--display);letter-spacing:-.02em;color:var(--teal);display:block;margin-top:25px}

.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;background:var(--ivory)}
.contact-details{padding:90px var(--pad);background:var(--teal);color:white}
.contact-details h2{font-size:46px;margin-bottom:22px}
.contact-details p{font-family:var(--display);font-size:21px;margin:0 0 55px}
.quote-form-wrap{padding:90px var(--pad)}
.quote-form-wrap h2{margin-bottom:25px}
.quote-form-wrap>p{font-family:var(--display);font-size:21px;max-width:650px}
.quote-form{margin-top:42px}
.field{margin-bottom:28px}
.field label{display:block;font:700 12px var(--ui);text-transform:uppercase;letter-spacing:.09em;margin-bottom:9px}
.field input,.field textarea{width:100%;border:1px solid var(--teal);background:transparent;color:var(--teal);font:18px/1.4 var(--sans);padding:15px 16px;border-radius:0}
.field textarea{min-height:170px;resize:vertical}
.field input[aria-invalid='true'],.field textarea[aria-invalid='true']{border:3px solid var(--oxide)}
.error{min-height:20px;color:var(--oxide-dark);font:600 13px var(--sans);margin:7px 0 0}
.form-state{display:none;margin-top:25px;padding:22px;background:var(--teal);color:white;font-family:var(--display);font-size:20px}
.form-state.visible{display:block}
.form-state a{color:white;font-weight:700}
.legal-wrap{padding:90px var(--pad) 120px;display:grid;grid-template-columns:.48fr 1.12fr;gap:9vw;background:var(--ivory)}
.legal-wrap h1{font-size:clamp(65px,9vw,130px);color:var(--oxide)}
.legal-copy{max-width:780px}
.legal-copy h2{font-size:38px;margin:55px 0 18px}
.legal-copy h2:first-child{margin-top:0}
.legal-copy p{font-family:var(--display);font-size:18px;line-height:1.65}

.site-footer{background:var(--teal);color:white;padding:60px var(--pad) 35px}
.footer-top{display:grid;grid-template-columns:1fr .8fr;gap:8vw;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.35)}
.footer-brand{font:800 clamp(30px,4vw,56px)/.9 var(--ui);letter-spacing:-.04em;text-transform:uppercase}
.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-self:end;font-family:var(--display);font-size:17px}
.footer-contact address{font-style:normal}
.footer-nav{padding-top:35px;display:grid;grid-template-columns:repeat(4,1fr);gap:17px 30px;font:600 11px var(--ui);text-transform:uppercase;letter-spacing:.05em}

@media(max-width:1100px){.desktop-nav{gap:13px}.desktop-nav a:nth-child(3),.desktop-nav a:nth-child(4){display:none}.home-hero{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.address-display .street{white-space:normal}.service-card{padding:25px 20px}.process-list li{padding:24px 18px}}
@media(max-width:720px){body{font-size:16px}.masthead{height:68px;padding:0 20px}.desktop-nav{display:none}.menu-button{display:block}.mobile-menu{position:fixed;z-index:45;inset:68px 0 0;background:var(--teal);color:white;padding:34px 22px;display:flex;flex-direction:column}.mobile-menu nav{display:grid}.mobile-menu nav a{font:700 23px/1.1 var(--display);padding:15px 0;border-bottom:1px solid rgba(255,255,255,.35);text-decoration:none}.mobile-menu .mobile-actions{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-menu .mobile-actions a{font:700 11px var(--ui);text-transform:uppercase;letter-spacing:.06em;padding:16px 12px;border:1px solid white;text-align:center;text-decoration:none}.mobile-menu .mobile-actions a:last-child{background:var(--oxide);border-color:var(--oxide)}h1{font-size:clamp(49px,14vw,66px)}h2{font-size:45px}.home-hero{grid-template-columns:1fr}.address-stage{padding:40px 22px 44px;min-height:510px}.address-display .number{font-size:104px;line-height:.75}.address-display .street{font-size:78px;line-height:.85;white-space:normal;margin-top:.15em}.address-place{font-size:25px;margin-top:24px}.address-argument{font-size:15px}.hero-rail{grid-template-rows:auto 280px}.contact-panel{padding:30px 22px}.contact-panel h1,.contact-panel h2{font-size:34px}.section-index{grid-template-columns:1fr 1fr;padding:18px 22px;gap:14px}.section-index span{grid-column:1/-1}.location-proof,.split-section{grid-template-columns:1fr;padding:70px 22px;gap:40px}.location-proof .media-frame{order:2}.services-band{padding:72px 22px}.section-heading-row{display:block;margin-bottom:38px}.section-heading-row p{margin-top:18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:340px;border-left:0!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.55);padding:26px 8px}.service-card h3{margin:35px 0 20px}.scope-band{grid-template-columns:1fr;padding:70px 22px;gap:35px}.cta-band{grid-template-columns:1fr;padding:70px 22px;gap:30px;align-items:start}.cta-band .button-link{width:max-content}.page-hero{grid-template-columns:1fr}.page-hero-copy{padding:55px 22px}.page-hero-copy .standfirst{margin-top:28px}.page-hero-rail{grid-template-rows:auto 260px}.content-section{grid-template-columns:1fr;padding:72px 22px;gap:30px}.process{padding:72px 22px}.process-head{display:block}.process-list{grid-template-columns:1fr}.process-list li{min-height:250px;border-left:0!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.55)}.related{padding:70px 22px}.related-links{grid-template-columns:1fr}.address-page-display{font-size:78px}.address-page-display small{font-size:24px}.contact-layout{grid-template-columns:1fr}.contact-details,.quote-form-wrap{padding:68px 22px}.legal-wrap{grid-template-columns:1fr;padding:60px 22px 90px;gap:45px}.footer-top{grid-template-columns:1fr}.footer-contact{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr}.site-footer{padding:50px 22px 30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:720px){.masthead{gap:10px}.mobile-quick{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}.mobile-quick a{font:700 9px/1 var(--ui);text-transform:uppercase;letter-spacing:.05em}.mobile-quick a:last-child{background:var(--oxide);color:white;padding:9px 8px;text-decoration:none}.menu-button{flex:0 0 auto;padding:10px 9px;font-size:10px}}
