@font-face{font-family:DM Sans;src:url(/fonts/dm-sans-latin.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/newsreader-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Newsreader;src:url(/fonts/newsreader-italic-latin.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--ink:#173349;--navy:#063e65;--muted:#415466;--paper:#fff;--surface:#f3f6f7;--line:#cfd8df;--brand-blue:#237fa6;--brand-green:#8dc73d;--brand-red:#e2192b;--sans:"DM Sans", sans-serif;--serif:"Newsreader", Georgia, serif;--space:clamp(24px, 6vw, 80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{background:var(--paper);min-height:100svh;color:var(--ink);font:20px/1.65 var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}main{flex:1}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}svg{flex-shrink:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--sans);letter-spacing:-.03em;text-wrap:pretty;font-weight:500;line-height:1.18}h1,h2,.person h3{font-family:var(--serif);letter-spacing:-.015em;font-weight:400}h1{font-size:clamp(40px,4.5vw,58px)}h2{font-size:clamp(32px,3.4vw,42px)}h3{letter-spacing:-.02em;font-size:28px;line-height:1.3}p{color:var(--muted)}em{font-style:normal}.container{width:calc(100% - var(--space) * 2);max-width:1120px;margin-inline:auto}.section-pad{padding-block:100px}.eyebrow{color:var(--muted);margin-bottom:24px;font-size:16px;font-weight:500}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline-offset:6px;outline:3px solid #2a769c}.skip-link{z-index:100;background:var(--navy);color:#fff;padding:16px 24px;position:fixed;top:-100px;left:24px}.skip-link:focus{top:16px}.arrow{width:24px;height:24px;transition:transform .18s}.diagonal{transform:rotate(-45deg)}a:hover>.arrow{transform:translate(4px)}a:hover>.diagonal{transform:rotate(-45deg)translate(4px)}.button{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:24px;min-height:56px;padding:15px 24px;font-size:16px;font-weight:500;line-height:1.5;transition:background-color .16s;display:inline-flex}.button-primary,.button-ink{background:var(--navy);color:#fff;border-color:var(--navy)}.button-primary:hover,.button-ink:hover{background:#072d47}.text-link{min-height:48px;color:var(--navy);align-items:center;gap:20px;padding-block:10px;font-size:16px;font-weight:500;line-height:1.5;display:inline-flex}.text-link:hover{text-underline-offset:6px;text-decoration:underline}.section-heading{justify-content:space-between;align-items:baseline;gap:40px;margin-bottom:48px;display:flex}.section-heading>.text-link{flex-shrink:0}.site-header{z-index:20;border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;height:104px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:32px;height:100%;display:flex}.brand{flex-shrink:0;width:216px;display:block}.brand img{width:100%;height:auto}.site-header nav{align-items:center;gap:32px;font-size:16px;display:flex}.site-header nav>a{padding-block:14px}.site-header nav>a:hover,.site-header nav>a[aria-current]{text-underline-offset:7px;text-decoration:underline}.site-header nav>.nav-contact{background:var(--navy);color:#fff;border-radius:4px;align-items:center;gap:18px;padding:13px 22px;display:inline-flex}.site-header nav>.nav-contact:hover,.site-header nav>.nav-contact[aria-current]{background:#072d47;text-decoration:none}.menu-toggle{display:none}.contact-band{background:var(--surface);border-top:1px solid var(--line);padding-block:72px}.contact-band-inner{justify-content:space-between;align-items:center;gap:56px;display:flex}.contact-band h2{max-width:600px;font-size:36px}.contact-band p{max-width:620px;margin-top:20px;font-size:18px}.contact-band .button{flex-shrink:0}.site-footer{color:#fff;background:#112f45;flex-shrink:0;padding-top:64px}.footer-top{grid-template-columns:1.2fr 1.2fr 1fr;gap:64px;padding-bottom:56px;display:grid}.footer-wordmark{font-family:var(--serif);font-size:36px;line-height:1.15}.footer-contact{color:#d5e0e8;align-content:start;gap:12px;font-size:16px;display:grid}.footer-contact p{color:inherit;margin-bottom:8px}.footer-contact a{overflow-wrap:anywhere}.footer-contact a:hover{text-underline-offset:5px;text-decoration:underline}.footer-top nav{gap:12px;font-size:16px;display:grid}.footer-top nav a:hover,.footer-bottom a:hover{text-underline-offset:5px;text-decoration:underline}.footer-bottom{color:#d5e0e8;border-top:1px solid #617382;justify-content:space-between;gap:28px;padding-block:26px;font-size:16px;display:flex}.footer-bottom>div{flex-wrap:wrap;gap:28px;display:flex}.page-hero{padding-top:56px;padding-bottom:64px}.page-hero h1{max-width:100%}.page-lead{margin-top:24px;font-size:22px;line-height:1.65}.prose{font-size:20px;line-height:1.75}.prose p{margin-bottom:28px}.prose h2{margin-top:56px;margin-bottom:24px;font-size:32px}.prose h2:first-child{margin-top:0}.prose a:not(.text-link){text-underline-offset:5px;text-decoration:underline}.prose ul{color:var(--muted);padding-left:24px}.prose li{margin-bottom:20px;padding-left:6px}.about-copy{padding-bottom:40px;font-size:22px;line-height:1.65}.about-hero{padding-bottom:24px}.about-copy p:last-child{margin-bottom:0}.about-image{max-width:1120px;padding-bottom:96px}.about-image img{object-fit:cover;border-radius:4px;width:100%;height:370px}.photo-caption{margin-top:16px;font-size:16px;line-height:1.6}.approach-section{background:var(--surface)}.approach-inner{max-width:1120px}.approach-steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin:48px 0 0;padding:0;list-style:none;display:grid}.approach-steps li{counter-increment:step;border-top:3px solid var(--navy);padding-top:24px}.approach-steps li:before{content:counter(step);font-family:var(--serif);color:var(--brand-blue);margin-bottom:16px;font-size:56px;line-height:1;display:block}.approach-steps h3{font-size:26px}.approach-steps p{margin-top:12px;font-size:18px}@media (width<=900px){.approach-steps{grid-template-columns:1fr;gap:40px}}.work-list{padding-bottom:100px}.project-grid{grid-template-columns:1fr 1fr;gap:72px 56px;display:grid}.project-card{flex-direction:column;min-width:0;height:100%;display:flex}.project-image{aspect-ratio:1.75;background:var(--surface);border-radius:4px;flex-shrink:0;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%}.project-open{display:none}.project-meta{color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:24px;margin-bottom:20px;font-size:16px;display:flex}.project-meta span+span:before{content:"·";margin-right:20px}.project-card h2,.project-card h3{min-height:3.9em;font-size:30px;line-height:1.3}.project-card p{margin-top:22px;font-size:18px;line-height:1.7}.project-card .text-link{margin-top:auto;padding-top:20px}.project-card:hover h2{text-underline-offset:5px;text-decoration:underline 1px}.work-image-note{margin-top:56px}.back-link{margin-bottom:32px;font-size:16px;display:inline-block}.back-link:hover{text-underline-offset:5px;text-decoration:underline}.case-hero{max-width:1120px}.case-hero h1{max-width:900px;font-size:clamp(36px,4.4vw,56px)}.case-article{padding-bottom:64px}.case-photo{padding-bottom:48px}.case-photo img{aspect-ratio:21/9;object-fit:cover;border-radius:2px;width:100%}@media (width<=600px){.case-photo img{aspect-ratio:3/2}}.case-facts{padding-bottom:64px}.assignment-facts{background:var(--surface);border-left:4px solid var(--brand-green);border-radius:0 4px 4px 0;grid-template-columns:repeat(4,auto) minmax(0,1.6fr);gap:24px 48px;margin:0;padding:28px 32px;display:grid}.assignment-facts dt,.glance-list dt,.contact-details dt{color:var(--muted);font-size:16px}.assignment-facts dd,.glance-list dd,.contact-details dd{margin:6px 0 0;font-size:18px;font-weight:500;line-height:1.5}.assignment-facts ul{margin:0;padding:0;list-style:none}.assignment-facts li+li{margin-top:4px}.assignment-facts a,.record-table a,.contact-details a{color:var(--navy);text-underline-offset:5px;text-decoration:underline 1px}.record-section{background:var(--surface)}.record-lead{max-width:780px;margin-top:20px;font-size:18px}.record-table-wrap{margin-block:40px 24px}.record-table{border-collapse:collapse;width:100%;font-size:18px;line-height:1.5}.record-table th,.record-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:20px 24px 20px 0}.record-table thead th{color:var(--muted);border-bottom:2px solid var(--ink);font-size:16px;font-weight:500}.record-table tbody th{font-weight:500}.record-table td{color:var(--muted)}.record-table td:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}.glance{padding-block:24px 80px}.glance h2{font-size:32px}.glance-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 48px;margin:28px 0 16px;display:grid}.glance-list>div{border-top:1px solid var(--line);padding:20px 0}.people-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:56px 48px;margin-top:48px;display:grid}.person img{aspect-ratio:5/6;object-fit:cover;border-radius:4px;width:100%;margin-bottom:24px}.person h3{font-size:28px}.person .person-role{color:var(--navy);margin:6px 0 16px;font-size:16px;font-weight:500}.person p{font-size:18px}.person .person-qualifications{margin-top:12px;font-size:16px}.contact-details{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 40px;margin:0 0 56px;padding-bottom:40px;display:grid}.contact-details address{font-style:normal}.contact-details dd>a+a,.contact-details address+a{margin-top:8px;display:inline-block}.capability{max-width:900px;padding-block:56px 96px;font-size:18px}.capability-head{border-bottom:2px solid var(--navy);grid-template-columns:180px 1fr auto;align-items:center;gap:32px;padding-bottom:32px;display:grid}.capability-logo{width:100%;height:auto}.capability-head .eyebrow{margin-bottom:4px}.capability-head h1{font-size:44px}.capability-tagline{margin-top:8px;font-size:18px}.capability section{padding-top:32px}.capability h2{margin-bottom:14px;font-size:26px}.capability-facts{color:var(--ink);margin-top:12px;font-weight:500}.capability-services{grid-template-columns:1fr 1fr;gap:16px 40px;margin:0;padding:0;list-style:none;display:grid}.capability-services li{border-left:3px solid var(--brand-green);align-content:start;gap:2px;padding-left:14px;display:grid}.capability-services span{color:var(--muted);font-size:16px}.capability-table{border-collapse:collapse;width:100%;font-size:16px}.capability-table th,.capability-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 16px 10px 0}.capability-table thead th{color:var(--muted);font-weight:500}.capability-table tbody th{font-weight:500}.capability-people{margin:0;padding-left:20px}.capability-foot{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:8px 28px;margin-top:40px;padding-top:20px;font-size:16px;display:flex}.case-next{border-top:1px solid var(--line);padding-top:28px;padding-bottom:72px}.case-next .text-link{align-items:start;max-width:100%;font-size:18px}.legal-page{overflow-wrap:anywhere;padding-bottom:96px}.case-article>*,.legal-page>*,.case-next>*{max-width:780px}.credit-entry{border-top:1px solid var(--line);margin-bottom:40px;padding-top:32px}.credit-entry h2{font-size:32px}.credit-entry p{font-size:18px}.contact-content{padding-bottom:96px}.local-notice{border-left:3px solid var(--navy);background:var(--surface);color:var(--muted);margin-bottom:40px;padding:20px 24px;font-size:18px}.local-notice strong{color:var(--ink)}fieldset.form-fields{border:0;min-inline-size:0;margin:0;padding:0}.form-fields{grid-template-columns:1fr 1fr;gap:32px 28px;display:grid}.field{flex-direction:column;gap:12px;min-width:0;display:flex}.field-wide{grid-column:1/-1}.field label{font-size:18px;font-weight:500}.field label span{color:var(--muted);font-weight:400}.field input,.field select,.field textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #8599a7;border-radius:4px;padding:15px 16px;font-size:18px;line-height:1.5}.field textarea{resize:vertical;min-height:190px}.field textarea::placeholder{color:#586b79}.form-note{margin-block:28px;font-size:16px;line-height:1.7}.form-note a{text-underline-offset:4px;text-decoration:underline}.form-actions{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.text-button{color:var(--ink);text-underline-offset:4px;background:0 0;border:0;padding:14px 4px;font-size:16px;text-decoration:underline}.form-status{color:#244f31;margin-top:24px;font-size:18px}.form-status:empty{margin:0}.draft-output{border-top:1px solid var(--line);margin-top:40px;padding-top:32px}.draft-output pre{background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font:18px/1.65 var(--sans);padding:24px}.noscript-note{background:var(--surface);margin-bottom:28px;padding:20px;font-size:18px}button:disabled{opacity:.55;cursor:not-allowed}.error-page{padding-top:56px;padding-bottom:100px}.error-page p{max-width:650px;margin-block:32px}@media (width>=1200px){.project-card h2,.project-card h3{min-height:2.6em}}@media (width<=1050px){.site-header nav{gap:20px}.brand{width:190px}.approach-inner{gap:40px}}@media (width<=900px){.site-header{height:88px}.menu-toggle{border:1px solid var(--line);min-height:48px;color:var(--ink);background:#fff;border-radius:4px;align-items:center;gap:14px;padding:10px 16px;font-size:16px;display:flex}.menu-lines{border-block:1px solid;width:18px;height:12px;position:relative}.menu-toggle[aria-expanded=true] .menu-lines{border:0}.menu-toggle[aria-expanded=true] .menu-lines:before,.menu-toggle[aria-expanded=true] .menu-lines:after{content:"";background:var(--ink);width:18px;height:1px;position:absolute;top:5px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg)}.site-header nav{padding:24px var(--space);border-bottom:1px solid var(--line);background:#fff;display:none;position:absolute;inset:87px 0 auto}.site-header nav.is-open{flex-direction:column;align-items:stretch;gap:12px;display:flex}.site-header nav>a{padding:14px 8px;font-size:18px}.site-header nav>.nav-contact{justify-content:space-between;padding-inline:18px}.section-pad{padding-block:72px}.contact-band-inner{flex-direction:column;align-items:start;gap:32px}.footer-top{grid-template-columns:1.3fr 1fr;gap:36px}.footer-contact{grid-area:2/1}.footer-top nav{grid-area:1/2/3}.footer-bottom{flex-direction:column;gap:20px}.approach-inner{grid-template-columns:1fr;gap:40px}.page-hero{padding-top:64px;padding-bottom:48px}.project-grid{grid-template-columns:1fr;gap:64px}.project-card h2,.project-card h3{min-height:0}.project-image{max-height:350px}.assignment-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-facts-services{grid-column:1/-1}.capability-head{grid-template-columns:140px 1fr}.capability-print{grid-column:1/-1;justify-self:start}}@media (width<=600px){:root{--space:24px}body{font-size:18px}.brand{width:178px}.header-inner{gap:20px}.menu-toggle{padding-inline:12px}h1{font-size:40px}h2{font-size:32px}h3{font-size:26px}.hero-description,.page-lead{margin-top:28px;font-size:20px;line-height:1.65}.button{padding-inline:20px}.section-pad{padding-block:60px}.section-heading{flex-direction:column;align-items:start;gap:20px;margin-bottom:36px}.contact-band{padding-block:56px}.contact-band h2{font-size:32px}.site-footer{padding-top:48px}.footer-top{grid-template-columns:1fr;gap:28px;padding-bottom:40px}.footer-contact,.footer-top nav{grid-area:auto}.footer-top nav{margin-top:8px}.footer-bottom>div{gap:24px}.page-hero{padding-top:48px;padding-bottom:40px}.prose{font-size:18px}.prose h2{margin-top:40px;font-size:28px}.about-copy{padding-bottom:24px;font-size:20px}.about-hero{padding-bottom:28px}.about-image{padding-bottom:56px}.about-image img{height:260px}.work-list{padding-bottom:64px}.project-card h2{font-size:28px}.case-hero h1{font-size:36px}.case-article{padding-bottom:40px}.case-next{padding-bottom:48px}.contact-content,.legal-page{padding-bottom:64px}.form-fields{grid-template-columns:1fr;gap:28px}.assignment-facts{grid-template-columns:1fr;padding:24px 20px}.case-facts{padding-bottom:48px}.record-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.record-table tr{border-bottom:1px solid var(--line);gap:6px;padding:20px 0;display:grid}.record-table th,.record-table td{border:0;padding:0;display:block}.record-table td[data-label]:before{content:attr(data-label) ": ";color:var(--muted)}.record-table td:first-child:before{content:none}.record-table td:first-child{font-size:16px}.record-table td[data-empty]{display:none}.glance{padding-bottom:56px}.capability{padding-block:40px 64px}.capability-head{grid-template-columns:1fr;gap:20px}.capability-logo{width:160px}.capability-head h1{font-size:36px}.capability-services{grid-template-columns:1fr}.field-wide{grid-column:auto}.local-notice{padding:20px}.field input,.field select,.field textarea{padding-inline:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=360px){.brand{width:152px}.header-inner{gap:12px}.menu-toggle{gap:10px;padding-inline:10px}}@media print{@page{size:A4;margin:14mm}.site-header,.site-footer,.skip-link,.contact-band,.capability-print{display:none!important}body{font-size:11pt}.capability{width:100%;max-width:none;padding:0;font-size:10.5pt;line-height:1.45}.capability-head{grid-template-columns:38mm 1fr;gap:8mm;padding-bottom:5mm}.capability-head h1{font-size:24pt}.capability-tagline,.capability-services span,.capability-table,.capability-foot{font-size:9.5pt}.capability section{padding-top:5mm}.capability h2{margin-bottom:2.5mm;font-size:14pt}.capability-services{gap:2.5mm 8mm}.capability-table th,.capability-table td{padding:1.5mm 4mm 1.5mm 0}.capability-foot{margin-top:6mm;padding-top:3mm}.capability *{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
