@font-face{font-family:AgileGist Epilogue;src:url(epilogue-latin.woff2) format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
body.ag-home{margin:0;background:#fff;color:#113c62;font-family:AgileGist Epilogue,Arial,sans-serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
.ag-home *,.ag-home *:before,.ag-home *:after{box-sizing:border-box}
.ag-home h1,.ag-home h2,.ag-home h3,.ag-home p{padding:0;text-transform:none}
.ag-home img{max-width:100%;vertical-align:middle}
.ag-home a{text-underline-offset:5px}
.ag-home a:focus-visible,.ag-home summary:focus-visible{outline:3px solid #287fae;outline-offset:5px}
body.ag-home a.ag-hero__primary,body.ag-home a.ag-header__contact,body.ag-home a.ag-button{background:#2478a8}
body.ag-home a.ag-hero__primary:hover,body.ag-home a.ag-header__contact:hover,body.ag-home a.ag-button:hover{background:#1e648e}
.ag-home :target{scroll-margin-top:125px}
.ag-skip{position:fixed;top:12px;left:12px;transform:translateY(-160%);background:#fff;color:#113c62;padding:12px 20px;z-index:10000}
.ag-skip:focus{transform:none}
.ag-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ag-container{max-width:1300px;margin:0 auto}
.ag-section{padding:72px 48px}
.ag-home h2{font-family:inherit;font-size:clamp(40px,3.8vw,58px);line-height:1.14;font-weight:500;letter-spacing:-.045em;color:#113c62;margin:0}
.ag-home h3{font-family:inherit;font-size:26px;line-height:1.25;font-weight:500;letter-spacing:-.03em;color:#113c62;margin:0 0 18px}
.ag-home p{margin:0 0 20px;color:inherit}
.ag-home main{color:#435e73}
.ag-home :is(.ag-home-cta,.aga-technical){color:#c8ddeb}
.ag-home .ag-kicker{font-size:14px;font-weight:500;line-height:1.5;color:#246f9d;margin:0 0 22px}
.ag-section__heading{display:grid;grid-template-columns:1.12fr 1fr;gap:95px;align-items:start;margin-bottom:64px}
.ag-section__heading>p,.ag-section__heading>div>p:not(.ag-kicker){font-size:20px;line-height:1.7;max-width:585px}
.ag-home a.ag-text-link{display:inline-flex;align-items:center;gap:22px;color:#113c62;text-decoration:none;font-size:16px;font-weight:500;line-height:1.6;border-bottom:1px solid #9fb9cc;padding:0 0 7px}
.ag-home a.ag-text-link:hover{color:#246f9d}
.ag-work{background:#fff;padding-bottom:42px}
.ag-case{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:center}
.ag-case__image{display:block;background:#e5eff5;padding:55px 28px;overflow:hidden}
.ag-case__image img{display:block;width:100%;height:auto;box-shadow:0 18px 28px #113c6220;transition:transform .35s}
.ag-case__image:hover img{transform:translateY(-4px)}
.ag-home .ag-case__body h3{font-size:48px;font-weight:500;letter-spacing:-.045em;margin-bottom:25px}
.ag-case__body>p:not(.ag-kicker){font-size:18px;line-height:1.75}
.ag-case dl,.ag-technical dl{margin:30px 0;font-size:16px}
.ag-case dl>div,.ag-technical dl>div{display:grid;grid-template-columns:130px 1fr;gap:18px;border-top:1px solid #d5e2eb;padding:14px 0}
.ag-case dt,.ag-technical dt{color:#527185;font-size:14px;font-weight:400}
.ag-case dd,.ag-technical dd{margin:0;color:#113c62;font-size:16px;line-height:1.6}
.ag-technical{background:#113c62;color:#fff;position:relative}
.ag-home .ag-technical h2,.ag-home .ag-technical h3{color:#fff}
.ag-home .ag-technical p{color:#c8ddeb}
.ag-home .ag-technical .ag-kicker{color:#85c7ee}
.ag-home .ag-technical a.ag-text-link{color:#fff;border-color:#6f98b5}
.ag-technical__project{display:grid;grid-template-columns:1fr 1.6fr;gap:65px;align-items:center;padding-top:45px;border-top:1px solid #ffffff30}
.ag-home .ag-technical__notes h3{font-size:30px;line-height:1.3}
.ag-technical__notes p{font-size:17px;line-height:1.8}
.ag-technical dl{margin-bottom:0}
.ag-technical dl>div{grid-template-columns:120px 1fr;border-color:#ffffff25;padding:13px 0}
.ag-technical dt{color:#a7c7dd}
.ag-technical dd{color:#fff;font-size:15px}
.ag-architecture{background:#0c304e;border:1px solid #4b7695;padding:34px 28px 28px}
.ag-home .ag-architecture__label{font-size:14px;color:#b4d5e9;margin:0 0 38px}
.ag-architecture__flow{display:grid;grid-template-columns:1fr 24px 1.2fr 24px 1fr;align-items:stretch}
.ag-architecture__node{min-height:170px;padding:20px 12px;border:1px solid #4e7896;display:flex;flex-direction:column;justify-content:center;gap:18px;text-align:center}
.ag-architecture__node span{font-size:14px;color:#bed8e9}
.ag-architecture__node strong{font-size:19px;line-height:1.2;font-weight:500;letter-spacing:-.02em}
.ag-architecture__node small{font-size:14px;line-height:1.5;color:#bed8e9}
.ag-architecture__node--core{background:#215c84;border-color:#60b5e4}
.ag-architecture__node--core strong{font-size:26px}
.ag-architecture__arrow{display:grid;place-items:center;text-align:center;color:#8cc8eb;font-size:22px}
.ag-architecture__foundation{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid #416885;margin-top:30px;padding-top:18px;font-size:14px;color:#b4d5e9}
.ag-architecture>a{display:inline-flex;align-items:center;gap:20px;color:#fff;font-size:14px;text-decoration:none;margin-top:30px;padding-bottom:6px;border-bottom:1px solid #6f98b5}
.ag-more-work{padding-top:40px;padding-bottom:30px;background:#fff}
.ag-more-work__heading{display:flex;justify-content:space-between;gap:40px;align-items:baseline;margin-bottom:26px}
.ag-home .ag-more-work__heading h2{font-size:27px;margin:0}
.ag-more-work__heading p{font-size:15px;margin:0;max-width:430px;text-align:right}
.ag-register-row{display:grid;grid-template-columns:170px 1.2fr 1fr 38px;gap:35px;align-items:center;border-top:1px solid #c9d9e4;padding:30px 0}
.ag-register-row:last-child{border-bottom:1px solid #c9d9e4}
.ag-register-row__image{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#eaf1f6;height:100px;padding:7px}
.ag-register-row__image img{width:100%;height:100%;object-fit:contain;transition:scale .3s}
.ag-register-row__image:hover img{scale:1.04}
.ag-home .ag-register-row .ag-kicker{font-size:14px;margin-bottom:9px}
.ag-home .ag-register-row h3{font-size:25px;margin:0}
.ag-home .ag-register-row__description{font-size:16px;line-height:1.75;margin:0}
.ag-register-row__link{font-size:28px;color:#113c62;text-decoration:none;text-align:right}
.ag-services{background:#f2f6f9}
.ag-capabilities article{display:grid;grid-template-columns:55px 1fr 1.25fr;gap:40px;padding:35px 0;border-top:1px solid #bfceda}
.ag-capabilities article:last-child{border-bottom:1px solid #bfceda}
.ag-capabilities article>span{font-size:15px;color:#246f9d;padding-top:6px}
.ag-home .ag-capabilities h3{font-size:30px;line-height:1.3;margin:0}
.ag-capabilities p{font-size:18px;line-height:1.8}
.ag-about{background:#fff;padding-bottom:85px}
.ag-about .ag-section__heading{margin-bottom:0}
.ag-home .ag-testimonials{background:#113c62;color:#e2edf5;padding-top:88px;padding-bottom:88px}
.ag-testimonials__layout{display:grid;grid-template-columns:1fr 1.65fr;gap:80px}
.ag-home .ag-testimonials .ag-kicker{color:#8ccfee}
.ag-home .ag-testimonials h2{color:#fff;font-size:clamp(36px,3.5vw,50px)}
.ag-testimonials__quote-mark{display:block;font-family:Georgia,serif;font-size:190px;line-height:1;color:#78c7ed;margin-top:28px;height:115px;user-select:none}
.ag-testimonials__body{min-width:0}
.ag-testimonials__quotes{display:grid;gap:38px;min-width:0;overflow:hidden}
.ag-home .ag-testimonial{margin:0;min-width:0;border-top:1px solid #6c96b3;padding-top:26px;overflow-wrap:anywhere}
.ag-home .ag-testimonial blockquote{border:0;margin:0;padding:0;color:#e2edf5;font-size:clamp(25px,2.25vw,34px);font-weight:400;line-height:1.5;letter-spacing:-.025em;font-style:normal}
.ag-home .ag-testimonial blockquote p{margin:0 0 20px;font-size:inherit;line-height:inherit;color:inherit}
.ag-home .ag-testimonial blockquote p:last-child{margin-bottom:0}
.ag-testimonials[data-carousel=true] .ag-testimonials__quotes{gap:0}
.ag-testimonials[data-carousel=true] .ag-testimonial{grid-area:1/1;visibility:hidden}
.ag-testimonials[data-carousel=true] .ag-testimonial:is(.is-active,.is-leaving){visibility:visible}
.ag-testimonial__rating{margin:0 0 22px;color:#f2c86b;line-height:1}
.ag-testimonial__rating>span[aria-hidden]{display:inline-flex;gap:5px}
.ag-testimonial__rating svg{display:block;stroke:currentColor;stroke-width:1.3;fill:none}
.ag-testimonial__rating svg.is-filled{fill:currentColor}
.ag-testimonial figcaption{display:flex;flex-direction:column;gap:5px;margin-top:28px;line-height:1.6}
.ag-testimonial__name{color:#fff;font-size:16px;font-weight:600}
.ag-testimonial__attribution{color:#b9d4e7;font-size:14px;white-space:pre-line}
.ag-testimonials__preview{grid-column:1/-1;border-top:1px solid #6c96b3;padding-top:26px}
.ag-home .ag-testimonials__preview-label{font-size:13px;color:#8ccfee}
.ag-home .ag-testimonials__preview-title{font-size:30px;line-height:1.5;color:#fff}
.ag-home .ag-testimonials__preview>p:not([class]){font-size:17px;max-width:600px}
.ag-testimonials__preview a{color:#fff;font-size:16px;text-underline-offset:6px}
.ag-testimonials__preview a:focus-visible{outline:3px solid #8ccfee;outline-offset:6px}
.ag-testimonials [hidden]{display:none!important}
.ag-testimonials__controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;padding-top:24px;border-top:1px solid #6c96b3}
.ag-testimonials__arrows{display:flex;align-items:center;gap:18px}
.ag-testimonials__controls button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-width:46px;min-height:46px;padding:8px 12px;background:transparent;border:1px solid #6c96b3;border-radius:0;box-shadow:none;color:#fff;font:inherit;font-size:22px;line-height:1;cursor:pointer}
.ag-testimonials__controls button:hover{background:#1d5076;border-color:#8ccfee}
.ag-testimonials__controls button:focus-visible{outline:3px solid #8ccfee;outline-offset:4px}
.ag-testimonials__controls .ag-testimonials__rotation{font-size:14px;border-color:transparent;padding:10px}
.ag-testimonials__counter{font-size:14px;color:#c1d8e8;font-variant-numeric:tabular-nums;min-width:42px;text-align:center}
@media(max-width:1099px){.ag-testimonials__layout{grid-template-columns:1fr 1.5fr;gap:40px}}
@media(max-width:700px){.ag-home .ag-testimonials{padding:52px 24px}.ag-testimonials__layout{grid-template-columns:1fr;gap:28px}.ag-testimonials__intro{position:relative;padding-right:50px}.ag-testimonials__quote-mark{position:absolute;top:30px;right:0;font-size:100px;height:60px;margin:0}.ag-home .ag-testimonial blockquote{font-size:26px}.ag-testimonial figcaption{margin-top:22px}.ag-testimonials__arrows{gap:12px}}
.ag-faq{background:#f2f6f9}
.ag-faq__layout{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}
.ag-faq__layout>div>p:not(.ag-kicker){margin-top:28px}
.ag-faq__questions details{border-top:1px solid #bfcfdb;padding:22px 0}
.ag-faq__questions details:last-child{border-bottom:1px solid #bfcfdb}
.ag-faq__questions summary{font-size:19px;font-weight:500;line-height:1.5;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px}
.ag-faq__questions summary::-webkit-details-marker{display:none}
.ag-faq__questions summary:after{content:'+';font-size:24px;color:#246f9d;flex-shrink:0;line-height:1.2}
.ag-faq__questions details[open] summary:after{content:'−'}
.ag-faq__questions details p{font-size:17px;line-height:1.75;padding-top:18px;margin:0;max-width:590px}
.ag-home-cta{padding:64px 48px;background:#113c62;color:#fff}
.ag-home .ag-home-cta .ag-kicker{color:#c5deef}
.ag-home .ag-home-cta h2{color:#fff;font-size:clamp(40px,4.5vw,64px);margin-bottom:22px}
.ag-home .ag-home-cta p.ag-home-cta__lead{color:#c5deef;font-size:17px;line-height:1.8;max-width:560px;margin:0 0 32px}
.ag-home a.ag-button{display:inline-flex;align-items:center;gap:30px;padding:17px 24px;background:#2478a8;border-radius:4px;color:#fff;text-decoration:none;font-size:17px;font-weight:500}
.ag-home-footer{background:#113c62;padding:0 48px 28px;color:#fff}
.ag-home-footer__main{border-top:1px solid #ffffff30;padding-top:40px;padding-bottom:40px;display:flex;justify-content:space-between;gap:60px}
.ag-home-footer__main img{width:180px;height:auto;display:block;margin-bottom:24px}
.ag-home .ag-home-footer p{color:#c5deef;font-size:15px;line-height:1.7;margin:0}
.ag-home-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:14px 60px;align-content:start}
.ag-home-footer a{font-size:16px;color:#fff;text-decoration:none}
.ag-home-footer a:hover{color:#69c1f1}
.ag-home-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff25;padding-top:24px}
.ag-home .ag-header__compact{display:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.ag-home .ag-hero__actions a span,.ag-home .ag-header__contact span,.ag-home .ag-button span,.ag-home .ag-text-link span{display:inline-block;transition:translate .2s}.ag-home .ag-hero__actions a:hover span,.ag-home .ag-header__contact:hover span,.ag-home .ag-button:hover span,.ag-home .ag-text-link:hover span{translate:3px -2px}}
@media(max-width:1099px){.ag-home .ag-header{display:block;position:relative;background:#113c62;padding:20px 28px;color:#fff}.ag-home .ag-header__inner{display:flex;align-items:center;justify-content:space-between;gap:22px}.ag-home .ag-header__logo img{width:150px;height:auto}.ag-home .ag-header__nav,.ag-home .ag-header__contact{display:none}.ag-home .ag-header__compact{display:block}.ag-home .ag-header__compact summary{cursor:pointer}.ag-home .ag-header__compact nav{position:absolute;top:85px;left:20px;right:20px;background:#113c62;border:1px solid #53748d;z-index:100;padding:15px 25px}.ag-header__compact ul{list-style:none;margin:0;padding:0}.ag-header__compact ul ul{padding-left:20px}.ag-header__compact a{color:#fff;display:block;padding:8px 0}.ag-home .ag-hero{padding-top:60px}.ag-section__heading,.ag-faq__layout,.ag-process__layout{gap:40px}.ag-case,.ag-technical__project{gap:35px}.ag-architecture{padding:25px 18px}.ag-register-row{grid-template-columns:140px 1fr 1fr 30px;gap:20px}}
@media(max-width:700px){.ag-section{padding:48px 24px}.ag-home .ag-hero{padding:45px 24px 55px}.ag-home .ag-hero__main,.ag-section__heading,.ag-faq__layout,.ag-case,.ag-technical__project,.ag-process__layout{grid-template-columns:1fr;gap:30px}.ag-home #ag-hero-title{font-size:48px}.ag-home .ag-hero__description{font-size:18px}.ag-home .ag-hero__actions{flex-wrap:wrap;gap:20px}.ag-home .ag-hero__art{height:390px;max-width:470px;width:90%;margin:0 auto}.ag-case__image{padding:30px 15px}.ag-home .ag-case__body h3{font-size:38px}.ag-technical__project{padding-top:30px}.ag-architecture__flow{grid-template-columns:1fr}.ag-architecture__node{min-height:100px;gap:10px}.ag-architecture__arrow{transform:rotate(90deg);padding:8px}.ag-more-work__heading{display:block}.ag-more-work__heading p{margin-top:25px}.ag-register-row{grid-template-columns:100px 1fr 24px;gap:18px}.ag-home .ag-register-row h3{font-size:20px}.ag-register-row__description{grid-column:2;grid-row:2}.ag-register-row__link{grid-column:3;grid-row:1}.ag-capabilities article{grid-template-columns:30px 1fr;gap:18px}.ag-capabilities article>div{grid-column:2}.ag-home .ag-capabilities h3{font-size:26px}.ag-process__layout{padding-top:45px}.ag-home-cta{padding:46px 24px}.ag-home-footer{padding:0 24px 25px}.ag-home-footer__main{flex-direction:column;gap:35px}.ag-home-footer nav{gap:12px 24px}.ag-home-footer__bottom{align-items:start;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){.ag-case__image img,.ag-register-row__image img{transition:none}.ag-case__image:hover img{transform:none}.ag-register-row__image:hover img{scale:1}}
.ag-all-work{text-align:center;background:#fff;padding:0 48px 44px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .ag-hero__art{perspective:1100px;transform-style:preserve-3d}
 .ag-hero__screen{translate:var(--ag-x,0px) var(--ag-y,0px);rotate:y var(--ag-tilt,0deg);transition:translate .45s cubic-bezier(.2,.7,.3,1),rotate .45s ease,box-shadow .4s}
 .ag-case__image{position:relative;perspective:1100px;isolation:isolate}
 .ag-case__image img{rotate:x var(--ag-rx,0deg);transform:rotateY(var(--ag-ry,0deg));translate:0 var(--ag-lift,0px);transition:rotate .35s,transform .35s,translate .35s,box-shadow .35s}
 .ag-case__image:hover img{--ag-lift:-8px;transform:rotateY(var(--ag-ry,0deg));box-shadow:0 26px 40px #113c6238}
 .ag-case__image:after{content:'Explore project ↗';position:absolute;right:22px;bottom:20px;background:#113c62;color:#fff;padding:10px 16px;font-size:15px;opacity:0;translate:0 8px;transition:opacity .25s,translate .25s}
 .ag-case__image:hover:after,.ag-case__image:focus-visible:after{opacity:1;translate:0 0}
 .ag-register-row{transition:background .25s}
 .ag-register-row:hover{background:#f0f6fa}
 .ag-register-row__link{transition:translate .25s}
 .ag-register-row:hover .ag-register-row__link{translate:4px -4px}
}
@media(prefers-reduced-motion:reduce){.ag-hero__screen,.ag-case__image img{translate:none!important;rotate:none!important}}
/* Comfortable touch targets for the mobile homepage and shared footer. */
@media(max-width:740px){
 .ag-home .ag-evo-root .ag-evo-progress button{min-height:44px}
 .ag-home .ag-evo-root .ag-evo-actions button{min-width:44px;min-height:44px}
 .ag-register-row{grid-template-columns:100px minmax(0,1fr) 44px;gap:16px}
 .ag-register-row__link{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:24px}
 .ag-home .ag-home-footer nav a,.ag-home .ag-home-footer__bottom>a{display:flex;align-items:center;min-height:44px}
}
@media(max-width:359px){.ag-register-row{grid-template-columns:80px minmax(0,1fr) 44px}}
