/* Small, useful details carried consistently across the portfolio. */
.site-header:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;pointer-events:none;background:linear-gradient(90deg,#305fa8,#79afd9);transform:scaleX(var(--read-progress,0));transform-origin:left;opacity:.9}
body[data-page=home] .site-header:after{background:linear-gradient(90deg,#a3ceff,#d0e6ff)}
.ch-project-card,.pv3-projectcard{position:relative}
.ch-project-card:before,.pv3-projectcard:before{content:attr(data-sequence);position:absolute;top:17px;right:17px;z-index:3;display:grid;place-items:center;width:31px;height:31px;border:1px solid #ffffff54;border-radius:50%;background:#12283d91;color:#fff;font-size:9px;font-weight:500;letter-spacing:.8px;pointer-events:none;backdrop-filter:blur(6px)}
.pv3-projectcard{border:1px solid #dce5eb;border-radius:7px;box-shadow:0 4px 18px #20384e05;overflow:hidden;transition:border-color .3s,box-shadow .3s,transform .35s}
.pv3-projectcard:hover{border-color:#a9bfd3;box-shadow:0 11px 26px #20384e0c;transform:translateY(-3px)}
.pv3-projectphoto{border-radius:0}
.pv3-projectphoto img{transition:transform .8s cubic-bezier(.2,.7,.25,1)}
.pv3-project-arrow{top:auto;bottom:17px;right:17px;background:#fffffff0;border:1px solid #ffffff99;transition:background .25s,color .25s,transform .3s}
.pv3-project-open:hover .pv3-project-arrow{background:#305fa8;border-color:#305fa8;color:#fff;transform:translate(2px,-2px)}
.pv3-project-copy{padding:22px 22px 0}
.pv3-project-copy h2{font-size:22px;line-height:1.35;font-weight:600;transition:color .25s}
.pv3-project-open:hover .pv3-project-copy h2{color:#305fa8}
.pv3-project-copy .pv3-project-type{font-size:9px;letter-spacing:1.1px;margin-bottom:10px}
.pv3-project-copy>p:not(.pv3-project-type){font-size:12px;color:#647588;line-height:1.7;margin-bottom:19px}
.pv3-project-meta{padding-block:16px;font-size:10px;font-weight:500}
.pv3-projectphoto .pv3-photo-label{font-size:9px;line-height:1.5;padding:6px 9px;max-width:calc(100% - 78px)}
.pv3-filters button{font-size:11px;line-height:1.5;padding:9px 15px;border-radius:999px;background:transparent;border-color:#d5dfe9;font-weight:500}
.pv3-filters button:hover{background:#e8eef6;border-color:#c4d4e6;color:#254568}
.pv3-filters button.is-active{background:#1b2e46;border-color:#1b2e46;color:#fff}
.pv3-project-count{font-size:10px;font-weight:500;letter-spacing:.8px;text-transform:uppercase}
.pv3-servicecard{border:1px solid #dce5eb;border-radius:7px}
.pv3-servicecard:hover{border-color:#abc1d6}
.pv3-servicecard-copy{padding:24px}
.pv3-servicecard-copy h2{font-size:22px}
.pv3-cta{position:relative;isolation:isolate;overflow:hidden}
.pv3-cta-inner{position:relative;z-index:1}
.pv3-cta:before{content:'';position:absolute;right:0;top:50%;width:400px;max-width:40%;height:240px;transform:translateY(-50%);opacity:.19;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 240' fill='none' stroke='%236583a0' stroke-width='1'%3E%3Cpath d='M48 214V84L158 40l180 36v138M48 84l180 30 110-38M228 114v100M48 151l180 24 110-30M99 64v150M158 40v174M280 96v118M48 84l180 130M228 114 48 214M228 114l110 100M338 76 228 214M27 226h334M30 68l122-50 210 45M18 84v130m-5-130h10m-10 130h10'/%3E%3C/svg%3E") center/contain no-repeat;mask-image:linear-gradient(90deg,transparent,#000 30%)}
.page-backtop{position:fixed;right:24px;bottom:24px;z-index:22;width:40px;height:40px;display:grid;place-items:center;border:1px solid #d4dfe9;border-radius:50%;background:#fafcfefa;color:#284b70;box-shadow:0 5px 18px #112d4b14;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(9px);transition:opacity .25s,visibility .25s,transform .3s,background .25s,color .25s}
.page-backtop.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.page-backtop .icon{width:15px;height:15px;transform:rotate(-45deg)}
.page-backtop:hover{background:#1b2e46;border-color:#1b2e46;color:#fff}
body.dialog-open .page-backtop,body.menu-open .page-backtop{display:none}
.footer-bottom{padding-right:52px}
@media(max-width:800px){.pv3-project-copy{padding:20px 19px 0}.pv3-project-copy h2{font-size:21px}.pv3-project-meta{font-size:10px}.pv3-cta:before{max-width:50%;opacity:.14}}
@media(max-width:600px){.pv3-project-copy{padding:21px 20px 0}.pv3-project-copy h2{font-size:22px}.pv3-project-copy>p:not(.pv3-project-type){font-size:13px}.pv3-project-meta{font-size:10px}.pv3-filters{gap:7px}.pv3-filters button{padding:8px 13px;font-size:10px}.pv3-servicecard-copy{padding:23px}.pv3-servicecard-copy h2{font-size:23px}.pv3-cta:before{max-width:70%;opacity:.1;right:-30px}.page-backtop{right:17px;bottom:18px;width:37px;height:37px}.footer-bottom{padding-right:48px}}
html[data-motion=off] .pv3-projectcard:hover{transform:none}
html[data-motion=off] .pv3-project-open:hover .pv3-project-arrow{transform:none}
html[data-motion=off] .page-backtop{transition:none}
