@font-face{font-family:Play;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/play-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Play;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/play-latin-700-normal.woff2)format("woff2")}@font-face{font-family:"Exo 2";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/exo-2-latin-400-normal.woff2)format("woff2")}@font-face{font-family:"Exo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/exo-2-latin-700-normal.woff2)format("woff2")}@font-face{font-family:"Exo 2";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/exo-2-latin-400-italic.woff2)format("woff2")}@font-face{font-family:"Exo 2";font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/exo-2-latin-700-italic.woff2)format("woff2")}:root{--blue:#0062bf;--blue-dark:#07517c;--ink:#4a4e57;--heading:#212934;--line:#e2e2e2;--soft:#f9f9fb;--site-width:1200px;color:var(--ink);font-synthesis:none;font-family:"Exo 2",Arial,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:#fff;margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button,summary{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;height:auto}svg{display:block}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #0076cc}h1,h2,h3,h4,h5,h6{color:var(--blue);margin:0 0 24px;font-family:Play,Arial,sans-serif;font-weight:400;line-height:1.4}h1{font-size:24px}h2{margin-top:30px;font-size:24px}h3{font-size:19px}p{margin:0 0 24px}.preserve-lines{white-space:pre-line}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:2000;background:#fff;padding:10px 18px;position:fixed;top:-100px;left:12px;box-shadow:0 2px 8px #0002}.skip-link:focus{top:12px}.site-header{z-index:30;background:#fff;position:relative}.header-inner{justify-content:space-between;align-items:flex-start;gap:40px;max-width:1280px;min-height:120px;margin:auto;padding:14px 35px 25px;display:flex}.brand{flex:0 0 170px;margin-top:10px;display:block}.brand img{object-fit:contain;width:170px;height:70px;display:block}.nav-list{gap:34px;margin:0;padding:0;font-family:"Exo 2",Arial,sans-serif;font-size:15px;list-style:none;display:flex}.nav-item{position:relative}.nav-item>a,.nav-dropdown>summary{color:var(--blue);white-space:nowrap;align-items:center;gap:8px;min-height:44px;padding:0 0 6px;text-decoration:none;display:flex;position:relative}.nav-item.active>a,.nav-item.active summary,.nav-item>a:hover,.nav-dropdown>summary:hover{color:var(--blue)}.nav-item.active>a:after,.nav-item.active summary:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:0;left:0;right:0}.nav-dropdown>summary{list-style:none}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>ul{border-top:2px solid var(--blue);background:#fff;width:max-content;min-width:235px;max-width:340px;margin:0;padding:8px 0;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 8px 25px #0002}.nav-dropdown li a{color:var(--blue);border-bottom:1px solid #eee;padding:12px 20px;font-size:14px;line-height:1.6;display:block}.nav-dropdown li:last-child a{border-bottom:0}.nav-dropdown li a:hover,.nav-dropdown li a[aria-current]{background:var(--soft);color:var(--blue);text-decoration:none}.menu-toggle{display:none}main{min-height:calc(100vh - 245px)}.page-shell{max-width:1280px;margin:0 auto;padding:0 35px 48px}.page-copy{padding-top:3px}.center-title h1{text-align:center;font-size:28px}.home-page .page-copy{max-width:1140px;margin:35px auto 0}.prose p{margin-bottom:26px}.prose strong{font-weight:700}.prose h2{margin:28px 0 22px}.prose h3{margin:24px 0 16px}.prose ul,.prose ol{margin:0 0 27px;padding-left:25px}.prose li{margin:0 0 6px;padding-left:0}.prose a{color:var(--blue);font-weight:700}.prose a.button{color:#fff}.prose a:hover{color:var(--blue)}.prose img{margin:24px auto;display:block}.prose pre{background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:20px;overflow:auto}.prose blockquote{border-left:3px solid var(--blue);margin-left:0;padding-left:20px}.page-image{max-width:950px;margin:40px auto}.page-image.full-width{max-width:none}.page-image img{width:100%;height:auto;display:block}.page-image figcaption{margin-top:12px;font-size:14px}.text-section{margin:40px 0}.cta-section{border-left:3px solid var(--blue);background:#f4f8fc;margin:40px 0;padding:32px}.button{background:var(--blue);color:#fff;border:1px solid var(--blue);letter-spacing:.5px;justify-content:center;align-items:center;min-height:44px;padding:9px 24px;font-family:"Exo 2",Arial,sans-serif;font-size:13px;text-decoration:none;display:inline-flex}.button:hover{color:#fff;background:#07517c;border-color:#07517c;text-decoration:none}.hero{max-width:1140px;margin:0 auto 36px;position:relative}.hero-slides{aspect-ratio:1.9;background:#eaf1f7;position:relative;overflow:hidden}.hero-slide{height:100%;position:absolute;inset:0}.hero-slide[hidden]{display:none}.hero-slide img{object-fit:cover;width:100%;height:100%;display:block}.hero-caption{text-align:center;color:#fff;white-space:pre-line;letter-spacing:1.6px;text-shadow:1px 1px 2px #000,-1px -1px 1px #000;justify-content:center;align-items:center;padding:25px;font-family:Play,Arial,sans-serif;font-size:clamp(25px,4vw,48px);font-weight:400;line-height:1.25;text-decoration:none;display:flex;position:absolute;inset:0}.hero-caption:hover{color:#fff;text-decoration:none}.hero-controls{z-index:3;background:#fffe;border-radius:25px;align-items:center;gap:4px;padding:0 8px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 1px 6px #0002}.hero-controls button{color:#07517c;background:0 0;border:0;min-width:40px;min-height:40px;font-size:25px}.hero-controls [data-hero-pause]{border-left:1px solid #cdd5df;font-size:15px}.hero-dots{gap:0;display:flex}.hero-dots button{min-width:30px;position:relative}.hero-dots button:before{content:"";background:#bcc9d5;border-radius:50%;width:7px;height:7px;margin:auto;display:block}.hero-dots button[aria-pressed=true]:before{background:var(--blue);transform:scale(1.25)}.client-section{padding:10px 0 35px}.client-strip{scroll-snap-type:x mandatory;scrollbar-width:thin;align-items:center;gap:45px;padding:0 5px 18px;display:flex;overflow:auto}.client-strip img{object-fit:contain;scroll-snap-align:start;flex:0 0 130px;width:130px;height:130px}.diagram-section{margin:20px 0 30px}.diagram-scroll{scrollbar-width:thin;overflow-x:auto}.diagram-scroll iframe{aspect-ratio:27700/9700;border:0;width:100%;min-width:740px;height:auto;display:block}.diagram-help{color:#68717b;margin:10px 0 0;font-size:13px}.diagram-help span{display:none}.diagram-description{margin-top:10px;font-size:14px}.diagram-description summary{color:var(--blue)}.diagram-description p{max-width:780px;margin:8px 0}.contact-form{max-width:1200px;margin:0 auto 38px}.contact-form label{margin:0 0 23px;font-size:15px;display:block}.contact-form input,.contact-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #081539;border-radius:0;margin-top:5px;padding:11px 14px;line-height:1.5;display:block;box-shadow:inset 0 1px 2px #00000003}.contact-form input{min-height:45px}.contact-form textarea{resize:vertical;min-height:165px}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status{margin:14px 0 0;font-size:14px}.offices{grid-template-columns:1fr 1fr;gap:55px;display:grid}.office img{width:100%;height:auto;display:block}.office h2{margin:20px 0 12px}.office a{color:var(--blue)}.site-footer{text-align:center;color:#fff;background:#081539;border-top:0;padding:22px 25px 25px;font-size:14px;line-height:1.7}.site-footer p{margin:0}.site-footer a{color:#75baff}.site-footer a:hover{color:#a8d5ff}.blog-page{min-height:60vh;padding-top:10px}.blog-intro{margin-bottom:40px;font-size:20px}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;display:grid}.post-card{border-bottom:1px solid var(--line);padding-bottom:25px}.post-card>a img{aspect-ratio:16/9;object-fit:cover;width:100%}.post-card h2{margin:10px 0;font-size:22px}.post-meta{color:#727780;margin:15px 0;font-size:14px}.tags{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.tags a{background:#f1f6fb;padding:3px 10px;font-size:13px;display:block}.pagination{flex-wrap:wrap;justify-content:space-between;gap:20px;margin:40px 0;display:flex}.article-page{max-width:900px}.article-page h1{margin-top:20px;font-size:32px}.article-cover{width:100%;margin:15px 0 35px}.back-link{font-size:14px}.empty-state{max-width:700px;padding:45px 0 80px}.empty-state h2{margin-top:0}.draft-notice{background:#fff5d6;border:1px solid #edcf7b;margin-bottom:24px;padding:12px 18px;font-size:14px}@media (width<=1050px){.header-inner{gap:25px}.nav-list{gap:19px;font-size:14px}.brand{flex-basis:145px}.brand img{width:145px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.header-inner{flex-wrap:wrap;align-items:center;gap:0;min-height:102px;padding:10px 28px 18px}.brand{flex-basis:150px;margin-top:0}.brand img{width:150px;height:70px}.menu-toggle{color:#666;background:0 0;border:0;flex-direction:column;justify-content:center;gap:4px;width:44px;height:44px;padding:11px;display:flex}.menu-toggle span{background:currentColor;width:20px;height:2px;display:block}.js #main-navigation{display:none}.js #main-navigation.is-open{display:block}#main-navigation{width:calc(100% + 56px);margin:8px -28px -18px}.nav-list{border-top:1px solid #eee;gap:0;font-size:14px;display:block}.nav-item>a,.nav-dropdown>summary{border-bottom:1px solid var(--line);justify-content:space-between;min-height:46px;padding:11px 28px}.nav-item.active>a:after,.nav-item.active summary:after{display:none}.nav-item.active>a{background:var(--soft)}.nav-dropdown>ul{width:100%;max-width:none;box-shadow:none;background:#fafafa;border:0;padding:0;position:static}.nav-dropdown li a{padding:13px 40px}.page-shell{padding:10px 28px 35px}h1,h2{font-size:24px}.center-title h1{text-align:left;font-size:25px}.hero{margin:0 -10px 30px}.hero-slides{aspect-ratio:1.45}.hero-caption{letter-spacing:.7px;padding:18px 18px 60px;font-size:clamp(21px,5vw,36px)}.hero-controls{bottom:10px}.hero-controls button{min-height:38px}.hero-dots button{min-width:25px}.home-page .page-copy{margin-top:25px}.client-strip{gap:25px}.client-strip img{flex-basis:100px;width:100px;height:100px}.diagram-section{margin:0 0 28px}.diagram-help span{display:inline}.diagram-scroll{padding-bottom:12px}.offices{gap:30px}.page-image{margin:30px auto}.article-page h1{font-size:28px}}@media (width<=600px){.post-grid,.offices{grid-template-columns:1fr}.offices{gap:15px}.contact-form{margin-bottom:30px}.hero-caption{font-size:clamp(18px,5.2vw,25px)}.site-footer{font-size:13px}.prose p{margin-bottom:22px}.hero-controls{gap:0}.page-copy h1{margin-bottom:25px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.reveal-pending{opacity:0}[data-reveal].is-revealed{animation:1s both content-enter}@keyframes content-enter{0%{opacity:0}to{opacity:1}}.hero-slides{aspect-ratio:1140/640}.hero-slide.is-active{z-index:2;animation:.9s both hero-fade-in}.hero-slide.is-leaving{z-index:1;pointer-events:none;animation:.9s both hero-fade-out}.hero-motion-ready .hero-slide.is-active img{animation:hero-zoom var(--slide-duration,6s) linear both}.hero-line{display:block}.hero-word{white-space:nowrap;display:inline-block}.hero-character{display:inline-block}.hero-motion-ready .is-active .hero-character{animation:hero-letter var(--character-duration,5s) var(--caption-ease) both;animation-delay:calc(var(--caption-delay,0s) + var(--character-index,0)*50ms)}.hero-paused .hero-slide,.hero-paused .hero-slide img,.hero-paused .hero-character,.hero-paused .hero-caption>span{animation-play-state:paused!important}@keyframes hero-zoom{0%{transform:scale(var(--slide-zoom,1.1))}to{transform:scale(1)}}@keyframes hero-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hero-fade-out{0%{opacity:1}to{opacity:0}}@keyframes hero-letter{0%{opacity:0}to{opacity:1}}.client-section{position:relative}.client-strip{scroll-snap-type:none;padding:0;display:block;overflow:auto}.client-track{width:max-content;display:flex}.client-group{align-items:center;gap:20px;padding-right:20px;display:flex}.client-group img{flex:0 0 150px;width:150px;height:150px}.client-clones{display:none}.client-motion-ready .client-clones{display:flex}.client-motion-ready .client-track{animation:49.4s linear infinite client-loop}.client-motion-ready .client-strip{overflow:hidden}.client-motion-ready:hover .client-track,.client-motion-ready:focus-within .client-track,.client-inactive .client-track{animation-play-state:paused}.client-paused .client-track{animation:none}.client-paused .client-clones{display:none}.client-paused .client-strip{overflow:auto}@keyframes client-loop{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=850px){.hero-slides{aspect-ratio:1.45}.client-group img{flex-basis:100px;width:100px;height:100px}}@media (prefers-reduced-motion:reduce){.reveal-pending{opacity:1}.hero-slide.is-active,.hero-motion-ready .hero-slide.is-active img,.hero-motion-ready .is-active .hero-character,.client-motion-ready .client-track{animation:none!important}.client-motion-ready .client-clones{display:none}.client-motion-ready .client-strip{overflow:auto}}.hero{--caption-ease:linear(0 0%,2e-7 2.5%,.000005 5%,.000038 7.5%,.00016 10%,.0004883 12.5%,.001215 15%,.0026261 17.5%,.00512 20%,.0092264 22.5%,.015625 25%,.0251642 27.5%,.03888 30%,.0580145 32.5%,.084035 35%,.118652 37.5%,.16384 40%,.221853 42.5%,.295245 45%,.386891 47.5%,.5 50%,.61311 52.5%,.704755 55%,.778147 57.5%,.83616 60%,.881348 62.5%,.915965 65%,.941986 67.5%,.96112 70%,.974836 72.5%,.984375 75%,.990774 77.5%,.99488 80%,.997374 82.5%,.998785 85%,.999512 87.5%,.99984 90%,.999962 92.5%,.999995 95%,1 97.5%,1 100%)}.page-image.natural-width{width:min(100%,var(--image-width));max-width:100%}.page-image.natural-width img{width:100%;height:auto;display:block}code,pre,kbd,samp{font-family:"Exo 2",Arial,sans-serif}h1,h2,h3,h4,h5,h6{overflow-wrap:anywhere}.home-page .hero-controls{display:none}.home-page .page-copy{background-color:#fff;background-image:url(/patterns/crossword.png);background-position:0 0;background-repeat:repeat;background-size:auto;border:0;padding:36px 40px}@media (width<=600px){.home-page .page-copy{padding:26px 20px}}
