:root{--bg:#dce6ef;--navy:#102a4c;--ink:#123754;--blue:#102a4c;--line:#b6c9d9;--white:#fff;--space:3vw;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;padding:var(--space);background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-weight:400}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #456182;outline-offset:6px}h1,h2,h3,p{margin:0;font-weight:400}h1{font-size:clamp(38px,4.45vw,72px);line-height:1.14;letter-spacing:-.045em}h2{font-size:clamp(30px,3.35vw,52px);line-height:1.16;letter-spacing:-.035em}h3{font-size:26px;line-height:1.2;letter-spacing:-.025em}p{font-size:16px;line-height:1.65}p+p{margin-top:24px}.lead{font-size:clamp(20px,1.7vw,26px);line-height:1.5;letter-spacing:-.012em}.eyebrow{font-size:18px;margin-bottom:16px}.panel{border-radius:var(--radius);background:var(--white);overflow:hidden;margin-bottom:var(--space)}header{position:relative;z-index:2;padding:44px 50px 0;min-height:92px}.brand{display:inline-flex;align-items:center;gap:13px;font-size:19px;letter-spacing:-.025em;line-height:1.2}.brand-mark{display:flex;align-items:center;justify-content:center;width:30px;height:35px;font-weight:700;font-size:33px;letter-spacing:-7px;padding-right:5px}.brand-sub{display:block;font-size:9px;letter-spacing:.15em;margin-top:5px}.hero{min-height:520px;height:calc(100svh - 200px);max-height:900px;position:relative;color:white;background:var(--navy)}.photo{overflow:hidden;position:relative;border-radius:16px;background:#bad0e2}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.hero-image{position:absolute;inset:0;border-radius:0}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,34,62,.62),rgba(6,34,62,.1)),linear-gradient(0deg,rgba(10,40,65,.17),transparent)}.hero-image img{animation:drift 22s ease-in-out infinite alternate;object-position:center 57%}.hero-copy{position:relative;z-index:1;padding:34px 50px 55px}.hero h1{max-width:900px;animation:enter 1s .1s both}.down-link{display:grid;place-items:center;border:1px solid white;border-radius:50%;width:92px;height:92px;font-size:46px;font-weight:200;margin-top:45px;transition:background .3s,transform .3s;animation:enter 1s .35s both}.down-link:hover{background:#ffffff24;transform:translateY(5px)}.menu-toggle{position:fixed;right:calc(var(--space) + 50px);top:calc(var(--space) + 44px);z-index:20;border:0;background:var(--navy);color:white;border-radius:40px;display:flex;align-items:center;justify-content:center;gap:12px;height:46px;padding:0 22px;cursor:pointer;font-size:14px}.home .menu-toggle{background:white;color:var(--ink)}.menu-icon{display:grid;gap:4px;width:19px}.menu-icon i{height:1px;background:currentColor;width:19px;transition:transform .3s,opacity .3s}.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-5px) rotate(-45deg)}.menu-panel{position:fixed;inset:0 0 0 auto;margin:0;width:min(650px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:145px 60px 60px;background:var(--navy);color:white;border:none;z-index:19}.menu-panel[open]{animation:slide .4s ease-out}.menu-panel::backdrop{background:#081b326b;backdrop-filter:blur(6px)}.menu-top{font-size:12px;letter-spacing:.15em;margin-bottom:45px}.menu-panel nav{display:grid}.menu-panel nav a{border-top:1px solid #ffffff40;display:flex;align-items:center;gap:25px;padding:23px 0;font-size:44px;letter-spacing:-.04em;transition:padding .25s}.menu-panel nav a:hover{padding-left:12px}.menu-panel nav span{font-size:14px;letter-spacing:0}.menu-panel nav b{font-size:28px;margin-left:auto;font-weight:400}.menu-email{display:block;margin-top:45px;font-size:16px;overflow-wrap:anywhere}.mission{display:grid;grid-template-columns:1.12fr 1fr;padding:25px;gap:45px;min-height:620px}.mission-copy{padding:25px 0 0 25px;display:flex;flex-direction:column;align-items:flex-start}.mission .lead{max-width:470px;margin-top:90px;margin-bottom:50px}.mission .photo{min-height:540px}.mission img{object-position:55% center}.circle-link{border:1px solid currentColor;border-radius:50%;width:126px;height:126px;flex-shrink:0;display:flex;flex-direction:column;gap:13px;align-items:center;justify-content:center;font-size:12px;transition:background .3s,color .3s,transform .3s}.circle-link span{font-size:23px}.circle-link:hover{background:var(--ink);color:white;transform:rotate(-6deg)}.focus{display:grid;grid-template-columns:1fr 1fr;padding:50px;background:var(--navy);color:white;gap:8vw}.focus-heading .lead{margin:30px 0 45px;max-width:460px}.focus .circle-link:hover{background:white;color:var(--navy)}.focus-rows article{padding:5px 0 30px;border-bottom:1px solid #ffffff50;margin-bottom:30px;display:grid;grid-template-columns:45px 1fr;gap:16px}.focus-rows article:last-child{margin:0}.focus-rows article p{grid-column:2;max-width:400px}.focus-rows span{font-size:14px;padding-top:5px}.solutions{position:relative;min-height:640px;background:var(--blue);color:white;display:grid;grid-template-columns:1fr 1fr}.solution-image{border-radius:0;min-height:640px}.solution-copy{padding:50px;display:flex;align-items:flex-start;flex-direction:column}.solution-copy .lead{margin:55px 0 40px}.solution-copy .circle-link{margin-top:auto}.solution-copy .circle-link:hover{background:white;color:var(--navy)}.provide{padding:50px}.provide-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin:65px 0}.service-summary{border-top:1px solid var(--line);padding-top:25px}.service-summary>span,.service-card>span,.values-grid span{display:block;font-size:16px;margin-bottom:30px}.service-summary h3{font-size:24px;min-height:86px;margin-bottom:24px}.service-summary p{font-size:16px}.service-summary:hover h3{color:#17385f}.pill{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-width:170px;min-height:44px;padding:10px 24px;border:1px solid currentColor;border-radius:30px;background:transparent;color:inherit;font-size:14px;cursor:pointer;transition:color .25s,background .25s}.pill:hover{background:var(--navy);color:white}.pill span{font-size:20px}.footer{padding:50px;display:grid;grid-template-columns:1.3fr .55fr 1fr;gap:50px;margin-bottom:0;background:#c7d9e9}.footer nav,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:16px}.footer .brand{align-self:start}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer-contact a{overflow-wrap:anywhere;max-width:100%}.footer small{font-size:12px;margin-top:25px}.footer small:last-child{grid-column:3}.intro-panel{padding-bottom:50px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:66px 50px 50px}.intro h1{font-size:clamp(35px,3.4vw,54px)}.intro .lead{margin-bottom:32px}.intro>div>p:not(.lead){max-width:560px}.wide-image{margin:0 50px;height:580px}.story{padding:70px 50px;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.story .lead{margin-bottom:30px}.values{padding-bottom:50px}.values .intro{padding-top:50px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 35px;margin:10px 50px 0}.values-grid article{border-top:1px solid var(--line);padding-top:25px}.values-grid h3{margin-bottom:24px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px 30px;padding:30px 50px 0}.service-card .photo{height:330px;margin-bottom:30px}.service-card:hover img{transform:scale(1.04)}.service-card h2{font-size:28px;line-height:1.15;margin-bottom:24px;letter-spacing:-.025em}.service-card>span{margin-bottom:16px}.supplies{padding:60px 50px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:var(--navy);color:white}.supply-list article{display:flex;gap:30px;padding:28px 0;border-bottom:1px solid #ffffff50}.supply-list article:first-child{padding-top:0}.supply-list span{font-size:14px}.supply-list h3{margin-bottom:16px}.contact-panel{padding-bottom:55px}.contact-layout{display:grid;grid-template-columns:1fr 350px;gap:12vw;padding:65px 75px 0 50px;min-height:535px}.contact-heading{display:flex;flex-direction:column;justify-content:space-between}.contact-heading h1{font-size:44px}.contact-heading .lead{max-width:490px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 12px}label{font-size:14px;display:block}input,textarea{width:100%;border:0;border-bottom:1px solid #7993a8;background:transparent;outline:none;color:var(--ink);padding:10px 0;border-radius:0;font-size:16px;min-height:47px;transition:border .2s}input:focus,textarea:focus{border-bottom-color:var(--blue);border-bottom-width:2px}.full{grid-column:1/-1}textarea{resize:vertical;min-height:120px}form .pill{margin-top:28px}.form-note{font-size:12px;line-height:1.4;margin-top:16px}#form-status{font-size:14px;margin-top:12px}.contact-details{padding:60px 50px;display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white}.office{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.office>span{font-size:14px}.office h3{font-size:32px}.office address{font-style:normal;font-size:20px;line-height:1.6;margin:10px 0 20px}.office .pill{margin-top:20px}.office .pill:hover{background:white;color:var(--navy)}.office>a{overflow-wrap:anywhere;max-width:100%}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.65,.3,1)}.js .reveal.in-view{opacity:1;transform:none}@keyframes drift{from{transform:scale(1)}to{transform:scale(1.08) translateX(-.8%)}}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(min-width:1700px){body{max-width:2100px;margin:auto}.hero{height:75vh}}@media(max-width:1050px){.brand{font-size:16px}header{padding:35px 30px 0}.menu-toggle{right:calc(var(--space) + 30px);top:calc(var(--space) + 35px)}.hero-copy{padding-left:30px}.hero{min-height:530px}.mission{gap:25px}.mission-copy{padding-left:5px}.mission .lead{margin-top:45px}.focus,.provide,.footer,.story,.supplies,.contact-details{padding:40px 30px}.provide-grid{grid-template-columns:repeat(3,1fr)}.service-summary h3{min-height:60px}.solution-copy{padding:40px 30px}.intro{padding:55px 30px 40px;gap:45px}.wide-image{margin:0 30px;height:450px}.service-grid{padding:25px 30px 0;grid-template-columns:repeat(2,1fr)}.values-grid{margin:0 30px}.contact-layout{padding:55px 30px 0;gap:60px;grid-template-columns:1fr 350px}.footer{grid-template-columns:1fr 1fr}.footer-contact{grid-column:2}.footer small:last-child{grid-column:2}.footer .brand{grid-row:1/3}}
@media(max-width:700px){:root{--space:16px;--radius:17px}body{padding:16px}header{padding:26px 22px 0;min-height:90px}.brand{font-size:14px;gap:8px;max-width:240px}.brand-mark{width:23px;font-size:29px}.brand-sub{font-size:7px;letter-spacing:.09em}.menu-toggle{top:42px;right:38px;width:43px;height:43px;padding:0}.menu-label{display:none}.hero header .brand,.inner header .brand{max-width:calc(100% - 52px)}.hero{min-height:640px;height:calc(100svh - 32px);max-height:850px}.hero-copy{padding:32px 22px}.hero h1{font-size:clamp(37px,8.8vw,54px);line-height:1.1}.hero-image img{object-position:64% center}.hero-image:after{background:linear-gradient(180deg,rgba(8,31,56,.62),rgba(8,31,56,.17))}.down-link{width:72px;height:72px;margin-top:35px;font-size:38px}.mission{padding:22px;display:flex;flex-direction:column;gap:28px}.mission-copy{padding:0}.mission .lead{margin-top:35px;margin-bottom:30px}.mission .photo{height:370px;min-height:0}.circle-link{width:104px;height:104px;font-size:11px}.focus{grid-template-columns:1fr;gap:45px;padding:32px 22px}.focus-rows article{grid-template-columns:30px 1fr}.solutions{display:flex;flex-direction:column-reverse}.solution-copy{padding:32px 22px}.solution-copy .lead{margin:30px 0}.solution-image{min-height:0;height:380px}.provide{padding:32px 22px}.provide-grid{grid-template-columns:1fr;gap:32px;margin:40px 0}.service-summary{display:grid;grid-template-columns:30px 1fr;gap:12px}.service-summary h3{min-height:0;font-size:25px;margin:0}.service-summary p{grid-column:2}.service-summary>span{margin:3px 0}.footer{padding:32px 22px;display:grid;grid-template-columns:1fr;gap:30px}.footer .brand{grid-row:auto}.footer nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:18px}.footer-contact,.footer small:last-child{grid-column:1}.footer small{margin:0;line-height:1.5}.footer small:last-child{margin-top:-15px}.intro{grid-template-columns:1fr;gap:30px;padding:40px 22px 35px}.intro h1{font-size:36px}.intro .lead{margin-bottom:25px}.intro-panel{padding-bottom:22px}.wide-image{margin:0 22px;height:350px}.story{padding:35px 22px;grid-template-columns:1fr;gap:30px}.values .intro{padding:35px 22px 25px}.values{padding-bottom:35px}.values-grid{grid-template-columns:1fr;margin:0 22px;gap:30px}.values-grid span{margin-bottom:20px}.service-grid{padding:5px 22px 10px;grid-template-columns:1fr;gap:45px}.service-card .photo{height:350px;margin-bottom:25px}.supplies{grid-template-columns:1fr;padding:35px 22px;gap:40px}.contact-layout{display:flex;flex-direction:column;padding:40px 22px 0;gap:40px}.contact-heading{gap:35px}.contact-heading h1{font-size:38px}.contact-panel{padding-bottom:35px}.contact-details{grid-template-columns:1fr;gap:35px;padding:35px 22px}.office address{font-size:18px}.office>a{font-size:15px}.menu-panel{padding:120px 30px 35px}.menu-panel nav a{font-size:38px}.menu-top{max-width:250px;line-height:1.6}.menu-email{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
.menu-close{position:absolute;right:50px;top:44px;width:46px;height:46px;border:1px solid #ffffff80;border-radius:50%;background:white;color:var(--navy);font-size:29px;cursor:pointer}.menu-panel nav a[aria-current=page]{color:#a8d5ff}@media(max-width:700px){.menu-close{top:26px;right:22px}}
@media(min-width:701px){.hero-image img{object-position:center 20%}.wide-image img{object-position:center 30%}}

/* Supplied next.svg, tinted to match each link's current colour. */
.arrow-icon{display:inline-block;width:24px;height:24px;flex-shrink:0;background:currentColor;-webkit-mask:url('assets/next.svg') center/contain no-repeat;mask:url('assets/next.svg') center/contain no-repeat}
.down-link .arrow-icon{width:38px;height:38px;transform:rotate(90deg)}
.menu-panel nav .arrow-icon{margin-left:auto;width:28px;height:28px}


/* Original supplied logo, displayed without altering the source artwork. */
.supplied-brand{display:block;position:relative;width:290px;height:76px;max-width:none;overflow:hidden;background:#fff;border-radius:8px;flex-shrink:0}
.supplied-brand img{position:absolute;display:block;width:110%;max-width:none;height:auto;left:-5%;top:50%;transform:translateY(-50%)}
@media(max-width:700px){.supplied-brand{width:205px;height:57px}.hero header .supplied-brand,.inner header .supplied-brand{max-width:calc(100% - 55px)}}
/* Compact logo; blend away the supplied artwork's white canvas. */
.supplied-brand{width:220px;height:54px;background:transparent;border-radius:0;mix-blend-mode:multiply}
.home header .supplied-brand{mix-blend-mode:screen}
.home header .supplied-brand img{filter:grayscale(1) invert(1) contrast(10)}
@media(max-width:700px){.supplied-brand{width:165px;height:42px}}
.home header{mix-blend-mode:screen}
/* Smaller header and footer logo. */
.supplied-brand{width:155px;height:39px}
@media(max-width:700px){.supplied-brand{width:130px;height:33px}}
