/*!
 * Bootstrap Grid v5.2.3 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, RGBA(255, 255, 255, 0.15), RGBA(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(VAR(--bs-gutter-x) * .5);padding-left:calc(VAR(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * VAR(--bs-gutter-y));margin-right:calc(-.5 * VAR(--bs-gutter-x));margin-left:calc(-.5 * VAR(--bs-gutter-x))}.row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(VAR(--bs-gutter-x) * .5);padding-left:calc(VAR(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*# sourceMappingURL=bootstrap-grid.min.css.map */
/**
 * Swiper 11.0.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 22, 2023
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translatez(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,RGBA(0,0,0,.5),RGBA(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,RGBA(0,0,0,.5),RGBA(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,RGBA(0,0,0,.5),RGBA(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,RGBA(0,0,0,.5),RGBA(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid VAR(--swiper-preloader-color,VAR(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translatez(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(VAR(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (VAR(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,VAR(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,VAR(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,VAR(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,VAR(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translatey(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 VAR(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translatex(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,RGBA(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,VAR(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,RGBA(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * VAR(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * VAR(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,RGBA(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
@keyframes fade-in-right {
  from {
    opacity: 0;
    transform: TRANSLATEX( -15px );
  }
  to {
    opacity: 1;
    transform: TRANSLATEX( 0 );
  }
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: TRANSLATEY( 15px );
  }
  to {
    opacity: 1;
    transform: TRANSLATEY( 0 );
  }
}


@keyframes grow-right {
  from {
    transform: SCALEX( 0 );
  }
  to {
    transform: SCALEX( 1 );
  }
}
/*





 */

:root {
	/* Colors */
	--green: #073110;
	--pink: #FF9FFF;
	--blue: #2C41FF;
	--yellow: #FEFE82;
	--purple: #21077A;
	--grey: #CFCAC7;
	--off-black: #111;
}

@font-face {
	font-family: Degular;
	src: url(/assets/Degular-Bold.otf);
	font-weight: 800;
	font-style: normal;
}

@font-face {
	font-family: Degular;
	font-weight: 500;
	src: url(/assets/Degular-Medium.otf);
}

@font-face {
	font-family: Degular;
	font-weight: 400;
	src: url(/assets/Degular-Regular.otf);
}


@font-face {
	font-family: Poppins;
	src: url(/assets/Poppins-Regular.ttf);
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: Poppins;
	src: url(/assets/Poppins-Medium.ttf);
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: Poppins;
	src: url(/assets/Poppins-Bold.ttf);
	font-weight: 700;
	font-style: normal;
}

.container, .container-fluid, .row {
	box-sizing: border-box;
}

html,
body {
	width: 100%;
	min-height: 100%;
	padding: 0;
	margin: 0;
	font-family: Poppins, Arial, sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #333;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1 {
	margin: 0 0 20px;
	font-family: Degular;
	font-weight: 800;
	font-size: 80px;
	line-height: 1.1;
	letter-spacing: 3px;
	text-transform: uppercase;
}
h1 .fullStop {
	position: relative;
	left: 1px;
	display: inline-block;
	transform: ROTATE( 45deg );
	transform-origin: 50% 82%;
}

h2 {
	margin: 0 0 10px;
	font-family: Poppins;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	letter-spacing: .5px;
}
a {
	text-decoration: none;
}
p {
	margin: 0 0 20px;
	line-height: 1.65;
}

button,
.button {
  display: inline-block;
  min-height: 40px;
  padding: 12px 14px;
  border: 1px solid VAR( --purple );
  font-family: Poppins, Arial, sans-serif;
	font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: VAR( --off-black );
  text-align: center;
  text-rendering: geometricprecision;
  text-transform: none;
  border-radius: 6px;
  background: VAR( --yellow );
  box-shadow: RGBA(0, 0, 0, 0.1) 1px 2px 4px;
  outline: 0;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: middle;
  box-sizing: border-box;
  cursor: pointer;
	transition: 0.07s;
}

button:hover,
button:active,
.button:hover,
.button:active {
  background-color: initial;
  background-position: 0 0;
	border-color: VAR( --yellow );
  color: VAR( --yellow );
}

button:active,
.button:active {
  opacity: .5;
}

section {
	position: relative;
}

section .patternOverlay,
section .patternBackground {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
section .patternOverlay {
	z-index: 1;
	background-color: VAR( --green );
}

section .patternBackground {
	z-index: 2;
}
section .patternBackground .line {
	height: 80px;
	position: relative;
	background-image: url(/assets/tiles.svg);
	background-color: VAR( --green );
	background-repeat: repeat-x;
	background-blend-mode: multiply;
	animation: scrolling-bg 145s linear infinite;
	opacity: 0.1;
}
section .patternBackground .line:nth-child(even) {
	animation-direction: reverse;
}

section .patternBackground.static {
	background-image: url(/assets/tiles.svg);
	background-color: VAR( --green );
	background-size: auto 80px;
	background-blend-mode: multiply;
	opacity: 0.1;
}
section .patternBackground.static .line {
	animation: none;
}

@keyframes scrolling-bg {
	from {
		background-position: 0 0;
	}
	to {
		background-position: 632px 0;
	}
}

.textRight {
	text-align: right;
}

.textCenter {
	text-align: center;
}


.header {
	padding: 25px 20px;
	background-color: #000;
}

.header a {
	font-family: Degular;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-decoration: none;
	color: #FFF;
	transition: 0.2s;
}
.header a:hover {
	color: VAR( --grey );
}

.header .home {
	font-family: Degular;
	font-weight: 800;
	letter-spacing: 1.3px;
	text-transform: uppercase;
}

.homePage .hero {
	color: #FFF;
	overflow: hidden;
}

.blinq_video_container{
	position: absolute;
	right: 15px;
	top: 35px;
}


.homePage .hero .container-fluid,
.homePage .testimonials .container-fluid {
	position: relative;
	z-index: 10;
}

.homePage .hero .intro {
	min-height: CALC( 97vh - 100px ); /* 100 = header + audio control heights */
	padding-top: 180px;
	padding-bottom: 80px;
}

.homePage .hero h1 {
	max-width: 800px;
	margin: 0 0 10px;
	padding-top: 35px;
	font-size: 90px;
	line-height: 1.1;
	letter-spacing: 4px;
	text-transform: none;
}
.homePage .hero h1 span {
	color: VAR( --pink );
	white-space: nowrap;
}

.homePage .hero .subtitle {
	margin: 0 0 40px;
	font-size: 18px;
	color: VAR( --grey );
}

.homePage .hero .button {
	padding: 20px 30px;
}

.homePage .hero .logo {
	margin-top: 20px;
	text-align: center;
}
.homePage .hero svg {
	max-width: 250px;
}

.homePage .hero .blurb {
	position: relative;
	left: 10px;
	max-width: 700px;
	margin: 120px auto 0;
	padding: 70px 0 180px;
	line-height: 1.1;
	font-weight: 400;
	font-size: 35px;
	color: #FFF;
}

.homePage .audioControls {
	display: flex;
	align-items: center;
	justify-content: end;
	margin: 0 0 10px;
	font-size: 18px;
	line-height: 1.4px;
	color: #DDD;
	text-align: right;
	user-select: none;
}
.homePage .audioControls .switch{
	margin: 0 10px;
}

.clients {
	padding: 220px 0 100px;
}

.clients img {
	display: block;
	width: 100px;
	height: 40px;
	margin: 0 auto 40px;
	object-fit: contain;
	object-position: center;
}

blockquote {
	margin: 80px 0 15px;
	font-family: Degular;
	font-size: 50px;
	font-weight: 800;
	color: #FFF;
	line-height: 1.1;
	letter-spacing: 0.5px;
}

blockquote span {
	color: VAR( --pink );
}

figcaption {
	padding-left: 2px;
	font-size: 16px;
	color: VAR( --grey );
}

.posts {
	padding: 80px 0 30px;
}

#blogPosts {
	padding-top: 5px;
}

@media screen and (max-width: 1299px) and (min-width: 992px) {
	#blogPosts > div:nth-child(4n) {
		display: none;
	}
}

.postBlock {
	display: flex;
	flex-direction: column;
	height: 400px;
	padding-bottom: 10px;
	margin-bottom: 40px;
	border-radius: 10px;
	border: 2px solid #4456BA;
	cursor: pointer;
	text-decoration: none;
	overflow: hidden;
}

.postBlock .content {
	flex: 1;
	margin: 0;
	padding: 10px 10px 0;
}

.postBlock h3 {
	height: CALC(40px * 4);
	font-family: Poppins;
	font-weight: 700;
	font-size: 36px;
	line-height: 40px;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 10px;
}

#post h1,
.postBlock h3 {
	font-family: Degular;
	background: LINEAR-GRADIENT( 120deg, #44A5DE, #6750DE );
	background-clip: text;
	text-fill-color: transparent;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.postBlock p {
	height: 0px;
	margin: 10px 0 0;
	font-size: 16px;
	color: #FFF;
	line-height: 22px;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: 0.2s ease-out;
}

.postBlock:hover p {
	height: CALC(22px * 6);
}

.postBlock .background {
	position: relative;
	width: 100%;
	height: 150px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
	transition: 0.2s ease-out;
	z-index: 1;
	filter: GRAYSCALE(50%);
}
.postBlock .background::after,
.postBlock .background::before {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	content: '';
	z-index: 2;
}

.postBlock .background::before {
	background-color: RGBA( 74, 37, 255, 1);
	mix-blend-mode: screen;
}
.postBlock .background::after {
	background-color: RGBA( 93, 21, 229, .5);
	mix-blend-mode: multiply;
}

.postBlock .more {
	font-weight: 500;
	color: #725DE2;
	text-align: center;
}

.postBlock:hover .background {
	min-height: 0;
	opacity: 0;
}

body.post {
	background-image: LINEAR-GRADIENT( to right, #03000C, #040024 );
}

body.post .return {
	display: inline-block;
	font-weight: 500;
	font-size: 20px;
	color: #FFF;
	text-decoration: none;
	margin: 20px 0 60px;
}

#post .content {
	margin: 0;
	padding: 0 0 0px;
	font-size: 18px;
	color: #FFF;
}

#post h1 {
	margin: 60px 0 10px;
	line-height: 1.2;
	font-size: 60px;
}

#post .info {
	margin: 0 0 30px;
	color: #EEE;
}

#post a {
	font-weight: 700;
	color: #FFF;
	text-decoration: none;
}
#post h3 {
	margin: 40px 0 0px;
}
#post h5 {
	margin: 30px 0 0px;
}
#post p {
	line-height: 1.4;
}

section.testimonials {
	padding: 80px 0 140px;
	background-color: #111;
	background-image: url(/assets/lv_tiles.svg);
	background-size: 487px 499px;
	background-blend-mode: multiply;
}

.testimonials h2 {
	font-family: Degular;
	font-weight: 800;
	font-size: 70px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #FFF;
	text-align: center;
}
.testimonials .subtitle {
	max-width: 600px;
	margin: 20px auto 0px;
	font-size: 16px;
	font-weight: 500;
	color: VAR( --grey );
	letter-spacing: 1px;
	text-align: center;
}

.jobPage .header {
	text-align: center;
}
.jobPage .header .logo {
	display: inline-block;
	position: relative;
	left: 7px;
}
.jobPage .header .logo img {
	height: 40px;
}

.jobPage .allJobs {
	font-weight: 700;
	color: #666;
	text-decoration: none;
}

.jobPage .container {
	position: relative;
	max-width: 700px;
	z-index: 10;
}

.jobPage h1 {
	margin: 80px 0 30px;
	font-size: 50px;
}

.jobPage .department {
	margin: 70px 0 0px;
	line-height: 1;
	font-family: Degular;
	font-weight: 800;
	font-size: 36px;
}

.jobPage .jobPost {
	font-size: 17px;
}

.jobPage .jobPost a {
	color: #444;
	font-weight: 700;
	text-decoration: none;
}
.jobPage .jobPost p {
	padding: 0;
	margin: 25px 0;
}

.jobPage .equal {
	font-style: italic;
	text-align: justify;
}

.jobPage .apply {
	margin: 40px 0;
	font-size: 18px;
}

.jobPage a.job {
	display: block;
	padding: 20px 0px;
	text-decoration: none;
}
.jobPage a.job:last-of-type {
	padding-bottom: 0px;
}

.jobPage .job .payRange {
	float: right;
}

.jobPage .job .title {
	margin: 0 0 5px;
	font-family: Degular;
	font-weight: 800;
	letter-spacing: -0.5px;
	font-size: 26px;
	color: #444;
}

.jobPage .job .desc {
	display: block;
	line-height: 1.3;
	font-size: 16px;
	color: #777;
	overflow: hidden;
	text-overflow: ellipsis;

	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.jobPage .empty {
	padding-top: 12px;
}

.jobPage .interest {
	margin-top: 100px;
}
.jobPage .interest a {
	text-decoration: none;
	font-weight: 700;
	color: #444;
}

.projectPage .container-fluid {
	margin-left: 50px;
	margin-right: 50px;
	width: CALC( 100% - 100px );
}

@media screen and (min-width: 1800px) {
	.projectPage .container-fluid {
		margin-left: 80px;
		margin-right: 80px;
		width: CALC( 100% - 160px );
	}
}
section.projectPreviews .container-fluid {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.projectPage {
	position: relative;
}
.projectPage .mobileOnly {
	display: none;
}

.projectPage .showcase {
	position: relative;
	height: MIN( 1500px, CALC(95vh - 72px) );
	background-size: cover;
	background-position: center;
}
.projectPage .showcase video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 1;
}

.projectPage .showcase .audioControls {
	position: absolute;
	right: 40px;
	bottom: 30px;
	width: 50px;
	height: 50px;
	cursor: pointer;
	z-index: 2;
}
.projectPage .showcase .audioControls svg {
	display: inline-block;
	height: 100%;
	width: auto;
	fill: VAR( --yellow );
	stroke: RGBA( 0, 0, 0, 0.1 );
}
.projectPage .showcase .audioControls.muted .mute {
	display: initial;
}
.projectPage .showcase .audioControls.playing .sound {
	display: initial;
}
.projectPage .showcase .audioControls .mute,
.projectPage .showcase .audioControls .sound {
	display: none;
}

.projectPage .hero {
	position: relative;
	padding: 140px 0 80px;
	margin-bottom: 120px;
	background-color: VAR( --green );
	color: VAR( --pink );
	z-index: 10;
}
.projectPage h1 {
	position: absolute;
	top: CALC( 90vh - 72px - 60px );
	left: 30px;
	line-height: 1;
	font-size: 180px;
	z-index: 100;
	color: #FFF;
	text-shadow: 0 0 15px RGBA( 0, 0, 0, 0.2 );
}
.projectPage .hero .description {
	font-size: 20px;
	line-height: 1.4;
}

.projectPage .work {
	padding: 0 0 80px;
	background-color: #FFF;
}

.projectPage .feature {
	margin-bottom: 200px;
}

.projectPage .feature .details {
	position: sticky;
	position: -webkit-sticky;
	top: MAX( 20vh, 100px ); /* caps bypasses scss compiler */
}

.projectPage h2 {
	font-size: 40px;
	line-height: 1.1;
}
.projectPage .feature p {
	width: 85%;
	line-height: 1.4;
}

.projectPage .screenshot {
	position: relative;
	padding-top: 8px;
}
.projectPage .screenshot img {
	display: block;
	max-width: 100%;
	max-height: 900px;
	object-fit: contain;
	object-position: center;
	margin: 0 auto;
	border-radius: 15px;
	box-shadow: 0 0 30px RGBA( 0, 0, 0, 0.15 );
	opacity: 0;
}
.projectPage .revealed .screenshot img {
	animation: showProject .3s ease-out forwards;
}
@keyframes showProject {
	0% {
		transform: TRANSLATEY( 200px );
		opacity: 0;
	}
	70% {
		transform: TRANSLATEY( -50px );
		opacity: .5;
	}
	100% {
		transform: SCALE( 1 ) TRANSLATEY( 0px );
		opacity: 1;
	}
}

section.contactBar {
	padding: 130px 20px 120px 0;
	color: #FFF;
	background-color: #111;
}
section.contactBar .prompt {
	position: relative;
	display: inline-block;
}
section.contactBar .prompt .default,
section.contactBar .prompt .swipe {
	margin: 0;
	color: #444;
	font-size: 40px;
	font-weight: 500;
	letter-spacing: -1px;
}
section.contactBar .prompt .swipe {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	color: VAR( --grey );
	z-index: 10;
	white-space: nowrap;
	overflow: hidden;
	width: 0%;
	transition: 0.2s ease-in;
}
section.contactBar .prompt.reveal .swipe {
	width: 100%;
}
section.contactBar a {
	font-weight: 700;
	color: #FFF;
	text-decoration: none;
	font-size: 22px;
	transition: 0.25s;
}
section.contactBar a:hover {
	color: VAR( --grey );
}

section.projectPreviews a {
	text-decoration: none;
	font-weight: 500;
	color: #222;
}
section.projectPreviews .contact {
	position: relative;
	left: -8px; /* Visually center */
}

section.projectPreviews .clientPreview {
	display: block;
	position: relative;
	min-height: 60vh;
	padding: 90px 40px;
	font-size: 30px;
}
section.projectPreviews .clientPreview .overlay,
section.projectPreviews .clientPreview .backdrop,
section.projectPreviews .clientPreview .background {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
}
section.projectPreviews .clientPreview .overlay {
	height: 100%;
	background-color: RGBA( 7, 49, 16, 0.85 );
	z-index: 10;
	transition: 0.2s ease-in;
	transform-origin: bottom center;
}
section.projectPreviews .clientPreview:hover .overlay {
	transform: SCALEY( 0 );
}

section.projectPreviews .clientPreview .backdrop {
	background-color: RGBA( 0, 0, 0, 0.6 );
	z-index: 2;
}
section.projectPreviews .clientPreview .background {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top left;
	z-index: 1;
}

section.projectPreviews .clientPreview .content {
	position: relative;
	color: #FFF;
	z-index: 20;
}
section.projectPreviews .clientPreview .name {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 60px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}
section.projectPreviews .clientPreview .blurb {
	max-width: 350px;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 8;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

section.projectPreviews .clientPreview .seeProject {
	position: absolute;
	bottom: 42px;
	right: 60px;
	line-height: 1;
	font-size: 18px;
	font-weight: 700;
	color: VAR( --pink );

	transition: 0.1s;
	z-index: 30;
}

.projectPage .results {
	padding: 100px 0 60px;
}
.projectPage .results .result {
	padding-top: 45px;
	padding-bottom: 50px;
	border-bottom: 1px solid #EFEFEF;
}
.projectPage .results .result:last-of-type {
	border-bottom: none;
}

.projectPage .results .fact {
	font-size: 100px;
	line-height: 1;
}

.projectPage .results .label {
	display: flex;
	position: relative;
	top: 5px;
	align-items: center;
  height: 100%;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
}

.projectsPage .hero {
	min-height: MIN( 1500px, CALC(95vh - 100px) );
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: VAR( --green );
}
.projectsPage h1 {
	margin: 0 0 30px;
	text-align: center;
	text-transform: uppercase;
	font-size: 110px;
	letter-spacing: 3px;
	color: VAR( --pink );
}

section.projects {
	padding-top: 60px;
	background-color: VAR( --off-black );
}

.projectBlock {
	position: relative;
	padding: 60px 0;
	color: #FFF;
}

.projectBlock .title {
	display: flex;
	justify-content: space-between;
	align-items: end;
	flex-wrap: wrap;
}

.projectBlock .details {
	font-size: 18px;
	overflow: hidden;
}

.projectBlock .name {
	padding-right: 30px;
	font-size: 44px;
	font-weight: 800;
	line-height: 1;
	color: #FFF;
	text-decoration: none;
}

.projectBlock hr {
	border-top: 1px solid #FFF;
	transform-origin: left center;
}

.projectBlock .blurb {
	margin: 5px 0 20px;
	padding-top: 7px;
	line-height: 1.6;
}

.projectBlock .videoBG {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 1;
}

.projectBlock .imagery {
	position: relative;
}
.projectBlock .imagery.noSidebar {
	min-height: 600px;
}
.projectBlock .image {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 1;
}

.projectBlock .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: 0.3s ease-out;
}
.projectBlock .image:hover img {
	transform: SCALE( 1.03 );
}

.projectBlock .facts video {
	width: 100%;
	padding-top: 80px;
	border-radius: 10px;
}

.projectBlock .facts {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 60px 20px 25px 25px;
	background-color: RGBA( 7, 49, 16, 0.6 );
	background-image: url(/assets/dark-glass.webp);
	background-repeat: no-repeat;
	background-size: cover;
	color: #FFF;
	box-sizing: border-box;
	position: relative;
	z-index: 10;
}
.projectBlock .fact {
	padding: 40px 0;
	text-align: center;
}
.projectBlock .fact .value {
	font-weight: 800;
	font-size: 80px;
	line-height: 1.2;
}
.projectBlock .fact .label {
	color: VAR( --grey );
}

.projectBlock.hidden hr {
	transform: SCALEX( 0 );
}
.projectBlock.hidden .name,
.projectBlock.hidden .platforms,
.projectBlock.hidden .imagery,
.projectBlock.hidden .blurb {
	opacity: 0;
}

.projectBlock.revealed hr {
	animation: grow-right ease 0.2s forwards;
}
.projectBlock.revealed .name {
	animation: fade-in-up ease-in 0.25s forwards;
	animation-delay: 0.2s;
}
.projectBlock.revealed .platforms {
	animation: fade-in-up ease 0.3s forwards;
	animation-delay: 0.25s;
}
.projectBlock.revealed .blurb {
	animation: fade-in-right ease 0.3s forwards;
	animation-delay: 0.35s;
}
.projectBlock.revealed .imagery {
	animation: fade-in-up ease 0.3s forwards;
	animation-delay: 0.5s;
}

.footer {
	padding: 140px 0 0px;
	line-height: 1.2;
	overflow: hidden;
}

.footer,
.homePage .testimonials {
	position: relative;
	color: #FFF;
	background-color: VAR( --off-black );
}

.footer .patternOverlay,
.footer .patternBackground .line,
.homePage .testimonials .patternOverlay,
.homePage .testimonials .patternBackground .line {
	background-color: VAR( --off-black );
}
.footer .patternBackground .line,
.homePage .testimonials .patternBackground .line {
	opacity: 0.4;
}
.homePage .footer .patternOverlay,
.homePage .footer .patternBackground .line {
	background-color: VAR( --green );
}
.homePage .footer .patternBackground .line {
	opacity: 0.2;
}

.footer .container-fluid {
	position: relative;
	z-index: 10;
}

.footer .link {
	padding-top: 8px;
}

.footer .copy {
	letter-spacing: 1.3px;
	font-family: Degular;
	font-weight: 500;
	text-align: center;
	text-transform: uppercase;
}
.contactPage a,
.clientPreview:hover .seeProject,
.footer a {
	position: relative;
	display: inline-block;
	font-size: 20px;
	color: #FFF;
	text-decoration: none;
}
.contactPage a:after,
.clientPreview .seeProject:after,
.footer a:after {
	position: absolute;
	display: inline-block;
	right: -40px;
	top: CALC( 45% - 13px );
	line-height: 1;
	font-size: 26px;
	color: #FFF;
	overflow: hidden;
	content: "\2192";
	transform: SCALEX( 0 );
	transition: 0.15s ease-in;
	transform-origin: left;
}
.contactPage a:hover:after,
.clientPreview:hover .seeProject:after,
.footer a:hover:after {
	transform: SCALEX( 1 );
}

.footer .baseline {
	padding-top: 120px;
	padding-bottom: 30px;
	color: #666;
}


.switch {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 28px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.switch .slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

.switch input:checked + .slider {
  background-color: #2196F3;
}

.switch input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

.switch input:checked + .slider:before {
  -webkit-transform: TRANSLATEX(20px);
  -ms-transform: TRANSLATEX(20px);
  transform: TRANSLATEX(20px);
}

.contactPage {
	background-image: LINEAR-GRADIENT( to right, #FFF, #EFEFEF );
}

.contactPage .intro h1 {
	margin: 80px 0 20px;
	font-size: 70px;
}
.contactPage .intro h1 span{
	letter-spacing: 1px;
}
.contactPage .intro p {
	font-size: 20px;
	line-height: 1.4;
}
.contactPage .label {
	max-width: 90%;
	font-size: 22px;
	margin-top: 50px;
	padding-top: 15px;
	border-top: 1px solid #111;
	margin-bottom: 5px;
	font-weight: 500;
}

.contactPage section.emails {
	padding: 80px 0 140px;
}

.contactPage section.emails a,
.contactPage section.emails a:after {
	color: #444;
}

.contactPage section.emails .work {
	margin-top: 50px;
}

/* ---------------------------------------------------------------------------
 * Phosphor hero
 * Pixel-mirrored from Paper artboard "Blinq — Hero (Forest, Phosphor)".
 * Reference frame is 1440×900; layout uses absolute children at design offsets
 * and scales gracefully via clamp() for non-design viewports.
 * ------------------------------------------------------------------------- */

/* On the homepage the phosphor hero ships its own nav, so suppress the global
 * site header (rendered from layouts/application.haml) just there. */
body:has(.hero--phosphor) > .header { display: none; }

.hero--phosphor {
	--canopy: #0A150A;
	--paper: #F4FAF1;
	--paper-soft: #F4FAF1D1;     /* 82% — secondary headline line */
	--paper-mute: #E8F0E5;
	--paper-quiet: #E8F0E5C7;    /* 78% — nav links */
	--paper-lede: #E8F0E5B3;     /* 70% — eyebrow description */
	--paper-faint: #E8F0E573;    /* 45% — stat labels */
	--hairline: #E8F0E51F;       /* 12% — divider under nav */
	--divider: #E8F0E529;        /* 16% — vertical lines between stats */
	--phosphor: #5DBE60;
	--phosphor-bright: #7FE082;
	--phosphor-deep: #143014;
	--phosphor-pill-text: #0A1A0A;
	--font-display: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

	position: relative;
	min-height: MAX(900px, 100vh);
	background: VAR(--canopy);
	color: VAR(--paper);
	overflow: hidden;
	isolation: isolate;
	font-family: VAR(--font-display);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-synthesis: none;
}

/* --- Grid layer ------------------------------------------------------- */

.hero--phosphor .blinq-grid {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

/* Higher specificity than .homePage .hero svg overrides shipped in mobile.css. */
.homePage .hero--phosphor .blinq-grid svg,
.hero--phosphor .blinq-grid svg {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	display: block;
}

/* All foreground content sits above the grid (and any scrim pseudo-elements). */
.hero--phosphor > :not(.blinq-grid) { position: relative; z-index: 3; }

/* --- Top nav ---------------------------------------------------------- */

.hero--phosphor .hero__nav {
	position: absolute;
	top: 0;
	left: 56px;
	right: 56px;
	height: 88px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.hero--phosphor .hero__brand {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	width: 168px;
	height: 38px;
}

.hero--phosphor .hero__brand img {
	width: 168px;
	height: 38px;
	display: block;
	object-fit: contain;
}

.hero--phosphor .hero__brand .hero__brand-logo--blue { display: none; }
html.theme-blue .hero--phosphor .hero__brand .hero__brand-logo--green { display: none; }
html.theme-blue .hero--phosphor .hero__brand .hero__brand-logo--blue { display: block; }
.hero--phosphor.hero--phosphor-blue .hero__brand .hero__brand-logo--green { display: none; }
.hero--phosphor.hero--phosphor-blue .hero__brand .hero__brand-logo--blue { display: block; }

.hero--phosphor .hero__links {
	display: flex;
	align-items: center;
	gap: 42px;
}

.hero--phosphor .hero__links a {
	font-family: VAR(--font-mono);
	font-size: 11.5px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: VAR(--paper-quiet);
	text-decoration: none;
	transition: color 180ms ease;
}

.hero--phosphor .hero__links a:hover,
.hero--phosphor .hero__links a:focus-visible {
	color: VAR(--paper);
}

.hero--phosphor .hero__cta {
	display: flex;
	align-items: center;
	gap: 18px;
}

.hero--phosphor .hero__pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px 10px 14px;
	border: 1px solid #7FE08273;
	border-radius: 999px;
	background-color: #7FE0820F;
	color: VAR(--paper-mute);
	font-family: VAR(--font-mono);
	font-size: 11.5px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.hero--phosphor .hero__pill:hover,
.hero--phosphor .hero__pill:focus-visible {
	background-color: #7FE08214;
	border-color: #7FE082A8;
}

.hero--phosphor .hero__pulse-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: VAR(--phosphor-bright);
	box-shadow: 0 0 8px #7FE082E6;
	flex-shrink: 0;
	animation: phosphorDot 2.6s ease-in-out infinite;
}

@keyframes phosphorDot {
	0%, 100% { opacity: 1; box-shadow: 0 0 8px #7FE082E6; }
	50%      { opacity: 0.55; box-shadow: 0 0 4px #7FE08280; }
}

/* --- Hairline --------------------------------------------------------- */

.hero--phosphor .hero__hairline {
	position: absolute;
	top: 88px;
	left: 56px;
	right: 56px;
	height: 1px;
	background: VAR(--hairline);
}

/* --- Eyebrow block ---------------------------------------------------- */

.hero--phosphor .hero__eyebrow {
	position: absolute;
	top: 152px;
	left: 56px;
	width: 380px;
	max-width: CALC(100vw - 112px);
	padding-left: 5px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.hero--phosphor .hero__label {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: VAR(--font-mono);
	font-size: 11px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: VAR(--phosphor-bright);
}

.hero--phosphor .hero__diamond {
	display: inline-block;
	width: 6px;
	height: 6px;
	background: VAR(--phosphor-bright);
	box-shadow: 0 0 10px #7FE082B3;
	transform: ROTATE(45deg);
	flex-shrink: 0;
}

.hero--phosphor .hero__lede {
	margin: 0;
	max-width: 340px;
	font-family: VAR(--font-display);
	font-size: 14.5px;
	line-height: 23px;
	color: VAR(--paper-lede);
}

/* --- Headline --------------------------------------------------------- */

.hero--phosphor .hero__headline {
	position: absolute;
	top: 401px;
	left: 56px;
	right: 56px;
	max-width: 1180px;
	display: flex;
	flex-direction: column;
}

.hero--phosphor .hero__line {
	font-family: VAR(--font-display);
	font-size: CLAMP(56px, 7.2vw, 95px);
	line-height: CLAMP(58px, 7.2vw, 96px);
	letter-spacing: -0.035em;
	white-space: nowrap;
	color: VAR(--paper);
}

.hero--phosphor .hero__line--bold { font-weight: 700; }

.hero--phosphor .hero__line--light {
	font-weight: 500;
	letter-spacing: -0.03em;
	color: VAR(--paper-soft);
	margin-top: 8px;
}

.hero--phosphor .hero__forward-row {
	display: inline-flex;
	align-items: center;
	gap: 24px;
	margin-top: 8px;
}

.hero--phosphor .hero__forward-pill {
	display: inline-flex;
	align-items: center;
	padding: 6px 22px 8px;
	background: VAR(--phosphor-bright);
	border-radius: 4px;
}

.hero--phosphor .hero__forward-text {
	font-family: VAR(--font-display);
	font-size: CLAMP(60px, 7.9vw, 104px);
	line-height: CLAMP(58px, 7.6vw, 100px);
	font-weight: 700;
	letter-spacing: -0.035em;
	color: VAR(--phosphor-pill-text);
}

/* --- Bottom strip / stats -------------------------------------------- */

.hero--phosphor .hero__stats {
	position: absolute;
	left: 56px;
	right: 56px;
	bottom: 60px;
	display: flex;
	align-items: flex-start;
	gap: 64px;
}

.hero--phosphor .hero__stat {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.hero--phosphor .hero__stat dt {
	font-family: VAR(--font-mono);
	font-size: 10.5px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: VAR(--paper-faint);
}

.hero--phosphor .hero__stat dd {
	margin: 0;
	font-family: VAR(--font-display);
	font-size: 30px;
	font-weight: 500;
	line-height: 30px;
	letter-spacing: -0.02em;
	color: VAR(--paper-mute);
}

.hero--phosphor .hero__stat-value--narrow {
	font-size: 26px !important;
	letter-spacing: -0.01em !important;
}

.hero--phosphor .hero__stat-divider {
	display: inline-block;
	flex-shrink: 0;
	align-self: center;
	width: 1px;
	height: 46px;
	background: VAR(--divider);
}

/* --- Phosphor pulse animation --------------------------------------- */

@keyframes phosphorPulse {
	0%, 100% { opacity: 1; }
	50%      { opacity: VAR(--pulse-min, 0.6); }
}

.hero--phosphor .blinq-grid svg .c1 {
	--pulse-min: 0.55;
	animation: phosphorPulse 6.0s ease-in-out infinite;
	animation-delay: VAR(--d, 0s);
	transform-box: fill-box;
}

.hero--phosphor .blinq-grid svg .c2 {
	--pulse-min: 0.60;
	animation: phosphorPulse 5.0s ease-in-out infinite;
	animation-delay: VAR(--d, 0s);
	transform-box: fill-box;
}

.hero--phosphor .blinq-grid svg .c3 {
	--pulse-min: 0.55;
	animation: phosphorPulse 4.2s ease-in-out infinite;
	animation-delay: VAR(--d, 0s);
	transform-box: fill-box;
}

.hero--phosphor .blinq-grid svg .c4 {
	--pulse-min: 0.50;
	animation: phosphorPulse 3.6s ease-in-out infinite;
	animation-delay: VAR(--d, 0s);
	transform-box: fill-box;
}

@media (prefers-reduced-motion: reduce) {
	.hero--phosphor .blinq-grid svg .c1,
	.hero--phosphor .blinq-grid svg .c2,
	.hero--phosphor .blinq-grid svg .c3,
	.hero--phosphor .blinq-grid svg .c4,
	.hero--phosphor .hero__pulse-dot { animation: none; }
}

/* --- Responsive scaling ---------------------------------------------- */

@media (max-width: 1200px) {
	.hero--phosphor .hero__line { white-space: normal; }
}

@media (max-width: 960px) {
	.hero--phosphor {
		min-height: auto;
		padding-bottom: 56px;
	}

	/* The bloom is anchored to the upper-right of the grid; on narrow viewports
	 * that becomes the strongest area in view, so the foreground gets a soft
	 * top-down scrim to keep nav links and body copy legible. */
	.hero--phosphor::before {
		content: "";
		position: absolute;
		inset: 0 0 auto 0;
		height: 320px;
		background: LINEAR-GRADIENT(
			180deg,
			RGBA(10, 21, 10, 0.94) 0%,
			RGBA(10, 21, 10, 0.92) 22%,
			RGBA(10, 21, 10, 0.55) 60%,
			RGBA(10, 21, 10, 0) 100%
		);
		z-index: 2;
		pointer-events: none;
	}

	.hero--phosphor .hero__nav {
		position: static;
		left: auto;
		right: auto;
		height: auto;
		padding: 20px 24px;
		gap: 16px;
	}

	.hero--phosphor .hero__links {
		gap: 24px;
	}

	/* The translucent CTA pill is hard to read against the upper-right bloom on
	 * narrow viewports; the eyebrow + Contact nav link cover the same intent. */
	.hero--phosphor .hero__cta { display: none; }

	.hero--phosphor .hero__hairline {
		position: static;
		left: auto;
		right: auto;
		margin: 0 24px;
	}

	.hero--phosphor .hero__eyebrow {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		max-width: none;
		margin: 32px 24px 0;
		padding-left: 0;
	}

	.hero--phosphor .hero__lede { max-width: 540px; }

	.hero--phosphor .hero__headline {
		position: static;
		top: auto;
		left: auto;
		right: auto;
		margin: 48px 24px 0;
		max-width: none;
	}

	.hero--phosphor .hero__line {
		font-size: CLAMP(40px, 9vw, 72px);
		line-height: 1.05;
	}

	.hero--phosphor .hero__forward-text {
		font-size: CLAMP(44px, 10vw, 80px);
		line-height: 1;
	}

	.hero--phosphor .hero__stats {
		position: static;
		left: auto;
		right: auto;
		bottom: auto;
		margin: 64px 24px 0;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}

	.hero--phosphor .hero__stat-divider {
		width: 100%;
		height: 1px;
		align-self: stretch;
	}

	/* Keep all foreground hero content above the animated grid on narrow
	 * viewports. The mobile rules above switch several blocks to position: static;
	 * static elements ignore z-index, which allowed the grid cells to paint over
	 * the headline/copy at some sizes. Re-enabling a stacking context here keeps
	 * both green and blue themes readable. */
	.hero--phosphor .hero__nav,
	.hero--phosphor .hero__hairline,
	.hero--phosphor .hero__eyebrow,
	.hero--phosphor .hero__headline,
	.hero--phosphor .hero__stats {
		position: relative;
		z-index: 4;
	}
}

@media (max-width: 560px) {
	.hero--phosphor .hero__links { gap: 18px; }
}

/* ---------------------------------------------------------------------------
 * Phosphor project card
 * Lifts each .projectBlock onto a forest-green surface that sits one step
 * above the canopy page background, with hero-matching typography and a
 * single phosphor accent on the lead stat. Reuses existing markup.
 * ------------------------------------------------------------------------- */

/* The homepage and clients index sit on a tiled phosphor warp pattern,
 * darkened with a canopy overlay so the cards still pop and the section
 * reads as a continuation of the hero's forest. The pattern image is a
 * 1024×682 JPEG, asset_url() resolves the digested Sprockets path. */
.homePage .projects,
.projectsPage .projects {
	position: relative;
	background-color: #0A150A;
	background-image:
		LINEAR-GRADIENT(RGBA(10, 21, 10, 0.78), RGBA(10, 21, 10, 0.78)),
		url(/assets/projects_warp.jpg);
	background-repeat: repeat, repeat;
	background-size: auto, 512px auto;
	color: #F4FAF1;
	padding: 80px 0 24px;
}

.projectsPage .hero {
	background-color: #0A150A;
	color: #F4FAF1;
}
.projectsPage .hero h1 {
	color: #F4FAF1;
}

/* --- Card shell ------------------------------------------------------- */

.homePage .projects .projectBlock,
.projectsPage .projects .projectBlock {
	position: relative;
	margin: 0 0 56px;
	padding: 48px 56px 56px;
	background-color: #102713;
	border: 1px solid RGBA(232, 240, 229, 0.06);
	border-radius: 16px;
	color: #F4FAF1;
	font-family: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow: hidden;
}

/* --- Title row -------------------------------------------------------- */

.homePage .projects .projectBlock .title,
.projectsPage .projects .projectBlock .title {
	align-items: baseline;
	gap: 24px;
	margin-bottom: 20px;
}

.homePage .projects .projectBlock .name,
.projectsPage .projects .projectBlock .name {
	font-family: "Geist", system-ui, sans-serif;
	font-size: CLAMP(40px, 4.4vw, 56px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.025em;
	color: #F4FAF1;
	padding-right: 0;
}

.homePage .projects .projectBlock .name:hover,
.projectsPage .projects .projectBlock .name:hover {
	color: #7FE082;
	transition: color 200ms ease;
}

.homePage .projects .projectBlock .platforms,
.projectsPage .projects .projectBlock .platforms {
	font-family: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 11px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: RGBA(232, 240, 229, 0.55);
	white-space: nowrap;
}

/* Hairline divider — paper white at low opacity, like the hero hairline. */
.homePage .projects .projectBlock hr,
.projectsPage .projects .projectBlock hr {
	border: none;
	border-top: 1px solid RGBA(232, 240, 229, 0.12);
	margin: 0;
	width: 100%;
}

/* --- Description ------------------------------------------------------ */

.homePage .projects .projectBlock .blurb,
.projectsPage .projects .projectBlock .blurb {
	margin: 24px 0 36px;
	padding: 0;
	max-width: 780px;
	font-family: "Geist", system-ui, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: -0.005em;
	color: RGBA(232, 240, 229, 0.78);
}

.homePage .projects .projectBlock .details,
.projectsPage .projects .projectBlock .details {
	font-size: 16px;
}

/* --- Imagery (image left, stats panel right) ------------------------- */

.homePage .projects .projectBlock .imagery,
.projectsPage .projects .projectBlock .imagery {
	border-radius: 12px;
	overflow: hidden;
}

.homePage .projects .projectBlock .image,
.projectsPage .projects .projectBlock .image {
	border-radius: 12px;
	overflow: hidden;
}

.homePage .projects .projectBlock .image img,
.projectsPage .projects .projectBlock .image img {
	transition: transform 600ms CUBIC-BEZIER(0.16, 1, 0.3, 1);
}
.homePage .projects .projectBlock .image:hover img,
.projectsPage .projects .projectBlock .image:hover img {
	transform: SCALE(1.04);
}

/* --- Stats panel (right column) -------------------------------------- */

.homePage .projects .projectBlock .facts,
.projectsPage .projects .projectBlock .facts {
	background-color: #163A1A;
	background-image: LINEAR-GRADIENT(
		180deg,
		RGBA(125, 224, 130, 0.05) 0%,
		RGBA(125, 224, 130, 0) 60%
	);
	border: 1px solid RGBA(125, 224, 130, 0.12);
	border-radius: 12px;
	padding: 36px 28px 28px;
	color: #F4FAF1;
	align-items: stretch;
}

.homePage .projects .projectBlock .fact,
.projectsPage .projects .projectBlock .fact {
	padding: 18px 0;
	text-align: left;
	border-bottom: 1px solid RGBA(232, 240, 229, 0.08);
}
.homePage .projects .projectBlock .fact:first-child,
.projectsPage .projects .projectBlock .fact:first-child {
	padding-top: 0;
}
.homePage .projects .projectBlock .fact:last-of-type,
.projectsPage .projects .projectBlock .fact:last-of-type {
	border-bottom: none;
}

.homePage .projects .projectBlock .fact .value,
.projectsPage .projects .projectBlock .fact .value {
	font-family: "Geist", system-ui, sans-serif;
	font-size: CLAMP(40px, 3.8vw, 56px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: #F4FAF1;
}

/* The first stat in each card pops in phosphor — one intense colour
 * moment per card per the impeccable "10% accent" guideline. */
.homePage .projects .projectBlock .fact:first-child .value,
.projectsPage .projects .projectBlock .fact:first-child .value {
	color: #7FE082;
}

.homePage .projects .projectBlock .fact .label,
.projectsPage .projects .projectBlock .fact .label {
	margin-top: 8px;
	font-family: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 10.5px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: RGBA(232, 240, 229, 0.55);
}

.homePage .projects .projectBlock .facts video,
.projectsPage .projects .projectBlock .facts video {
	margin-top: 20px;
	padding-top: 0;
	border-radius: 8px;
	border: 1px solid RGBA(232, 240, 229, 0.08);
	width: 100%;
}

/* Pending state (when there are no results yet) — keeps the same shape but
 * de-emphasised so the phosphor moment is reserved for real numbers. */
.homePage .projects .projectBlock .facts .pending .value,
.projectsPage .projects .projectBlock .facts .pending .value {
	font-size: CLAMP(28px, 2.4vw, 36px);
	color: #7FE082;
	letter-spacing: 0.04em;
}

.homePage .projects .projectBlock .facts .pending .label,
.projectsPage .projects .projectBlock .facts .pending .label {
	margin-top: 12px;
	font-size: 11px;
	color: RGBA(232, 240, 229, 0.55);
}

/* The reveal animation already runs on .revealed; the existing keyframes
 * (fade-in-up etc.) are reused. We only need to scope the hr animation
 * so it doesn't try to draw a 100% white line during reveal. */
.homePage .projects .projectBlock.hidden .name,
.homePage .projects .projectBlock.hidden .platforms,
.homePage .projects .projectBlock.hidden .imagery,
.homePage .projects .projectBlock.hidden .blurb,
.projectsPage .projects .projectBlock.hidden .name,
.projectsPage .projects .projectBlock.hidden .platforms,
.projectsPage .projects .projectBlock.hidden .imagery,
.projectsPage .projects .projectBlock.hidden .blurb {
	opacity: 0;
}

/* --- Mobile ----------------------------------------------------------- */

@media (max-width: 960px) {
	.homePage .projects,
	.projectsPage .projects {
		padding: 56px 0 16px;
	}

	.homePage .projects .projectBlock,
	.projectsPage .projects .projectBlock {
		padding: 32px 24px 36px;
		margin: 0 12px 32px;
		border-radius: 14px;
	}

	.homePage .projects .projectBlock .name,
	.projectsPage .projects .projectBlock .name {
		padding-right: 12px;
	}

	.homePage .projects .projectBlock .blurb,
	.projectsPage .projects .projectBlock .blurb {
		font-size: 15px;
		line-height: 24px;
	}

	.homePage .projects .projectBlock .facts,
	.projectsPage .projects .projectBlock .facts {
		display: none;
	}
}

/* ---------------------------------------------------------------------------
 * Phosphor projects — editorial three-plate composition.
 * Continues the canopy + phosphor accent from the hero. The first project
 * renders as a tall flagship plate; the rest render as compact teaser plates.
 * One phosphor accent moment per plate (the hero metric) plus the play
 * overlay on plates that carry video. Designed in Paper as
 * "Blinq — Projects (Editorial)".
 * ------------------------------------------------------------------------- */

.homePage .projects.projects--phosphor {
	--canopy: #0A150A;
	--canopy-rgb: 10, 21, 10;
	--plate: #0F1D0F;
	--paper: #F4FAF1;
	--paper-soft: RGBA(244, 250, 241, 0.86);
	--paper-quiet: RGBA(232, 240, 229, 0.62);
	--paper-faint: RGBA(232, 240, 229, 0.50);
	--hairline: RGBA(232, 240, 229, 0.16);
	--hairline-soft: RGBA(232, 240, 229, 0.12);
	--phosphor: #5DBE60;
	--phosphor-rgb: 93, 190, 96;
	--phosphor-bright: #7FE082;
	--phosphor-bright-rgb: 127, 224, 130;
	--font-display: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

	position: relative;
	background-color: VAR( --canopy );
	background-image:
		LINEAR-GRADIENT( RGBA( VAR( --canopy-rgb ), 0.82 ), RGBA( VAR( --canopy-rgb ), 0.82 ) ),
		url(/assets/projects_warp.jpg);
	background-repeat: repeat, repeat;
	background-size: auto, 512px auto;
	color: VAR( --paper );
	padding: 64px 0 96px;
	font-family: VAR( --font-display );
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-synthesis: none;
}

.homePage .projects.projects--phosphor .projects__inner {
	max-width: 1328px;
	margin: 0 auto;
	padding: 0 56px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* --- Section eyebrow ------------------------------------------------- */

.homePage .projects.projects--phosphor .projects__eyebrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	font-family: VAR( --font-mono );
	font-size: 11px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: VAR( --paper-quiet );
}

.homePage .projects.projects--phosphor .projects__eyebrow-left,
.homePage .projects.projects--phosphor .projects__eyebrow-right {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.homePage .projects.projects--phosphor .projects__diamond {
	display: inline-block;
	width: 6px;
	height: 6px;
	background: VAR( --phosphor );
	box-shadow: 0 0 10px RGBA( VAR( --phosphor-bright-rgb ), 0.55 );
	transform: ROTATE( 45deg );
	flex-shrink: 0;
}

.homePage .projects.projects--phosphor .projects__eyebrow-label {
	color: VAR( --paper );
}

.homePage .projects.projects--phosphor .projects__eyebrow-rule {
	display: inline-block;
	width: 32px;
	height: 1px;
	background: VAR( --hairline );
}

.homePage .projects.projects--phosphor .projects__eyebrow-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: VAR( --paper );
	text-decoration: none;
	transition: color 180ms ease;
}

.homePage .projects.projects--phosphor .projects__eyebrow-link:hover,
.homePage .projects.projects--phosphor .projects__eyebrow-link:focus-visible {
	color: VAR( --phosphor-bright );
}

/* --- Project plate --------------------------------------------------- */

.homePage .projects.projects--phosphor .projects__plate {
	background: VAR( --plate );
	border: 1px solid RGBA( 232, 240, 229, 0.08 );
	border-radius: 4px;
	overflow: hidden;
	transition: border-color 240ms ease, transform 320ms ease;
}

.homePage .projects.projects--phosphor .projects__plate:hover {
	border-color: RGBA( 232, 240, 229, 0.16 );
}

/* Flagship plate stacks header above a tall image+detail row. */
.homePage .projects.projects--phosphor .projects__plate--flagship {
	display: flex;
	flex-direction: column;
	padding: 56px;
	gap: 48px;
}

.homePage .projects.projects--phosphor .projects__plate--flagship .projects__plate-header {
	padding-bottom: 32px;
	border-bottom: 1px solid VAR( --hairline );
}

.homePage .projects.projects--phosphor .projects__plate--flagship .projects__plate-body {
	display: flex;
	gap: 48px;
	align-items: stretch;
}

.homePage .projects.projects--phosphor .projects__plate--flagship .projects__media {
	width: 824px;
	height: 520px;
	flex-shrink: 0;
}

.homePage .projects.projects--phosphor .projects__plate--flagship .projects__detail {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1;
	padding: 4px 0;
	gap: 32px;
}

/* Teaser plate runs image+detail side by side at a compact height.
 * Uses display: contents on the header/body wrappers so their children become
 * direct grid items. The right column has two rows: header on top, detail
 * (body + stats) on the bottom, while the image spans both rows on the left. */
.homePage .projects.projects--phosphor .projects__plate--teaser {
	display: grid;
	grid-template-columns: 480px 1fr;
	grid-template-rows: auto 1fr;
	min-height: 320px;
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__plate-body {
	display: contents;
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__plate-header {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	padding: 36px 40px 0;
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__media {
	grid-column: 1;
	grid-row: 1 / -1;
	min-height: 320px;
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__detail {
	grid-column: 2;
	grid-row: 2;
	display: flex;
	flex-direction: column;
	padding: 16px 40px 36px;
	gap: 24px;
	justify-content: space-between;
}

/* --- Plate header (number, name, platforms, CTA) -------------------- */

.homePage .projects.projects--phosphor .projects__plate-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 32px;
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__plate-header-left {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
	flex: 1 1 auto;
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__plate-header-right {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-end;
	flex-shrink: 0;
}

.homePage .projects.projects--phosphor .projects__plate--flagship .projects__plate-header-left {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.homePage .projects.projects--phosphor .projects__plate--flagship .projects__plate-header-right {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-end;
}

.homePage .projects.projects--phosphor .projects__plate-index {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: VAR( --font-mono );
	font-size: 11px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: VAR( --paper-quiet );
}

.homePage .projects.projects--phosphor .projects__plate-number {
	color: VAR( --paper );
}

.homePage .projects.projects--phosphor .projects__plate-rule {
	display: inline-block;
	width: 18px;
	height: 1px;
	background: RGBA( 232, 240, 229, 0.32 );
}

.homePage .projects.projects--phosphor .projects__plate-name {
	margin: 0;
	font-family: VAR( --font-display );
	font-weight: 500;
	letter-spacing: -0.04em;
	color: VAR( --paper );
	line-height: 1;
}

.homePage .projects.projects--phosphor .projects__plate-name a {
	color: inherit;
	text-decoration: none;
	transition: color 180ms ease;
}

.homePage .projects.projects--phosphor .projects__plate-name a:hover,
.homePage .projects.projects--phosphor .projects__plate-name a:focus-visible {
	color: VAR( --phosphor-bright );
}

.homePage .projects.projects--phosphor .projects__plate--flagship .projects__plate-name {
	font-size: 96px;
	line-height: 96px;
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__plate-name {
	font-size: 56px;
	line-height: 56px;
	letter-spacing: -0.03em;
}

/* Platform pills + view-case-study CTA */

.homePage .projects.projects--phosphor .projects__platforms {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: VAR( --font-mono );
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: VAR( --paper-quiet );
	line-height: 14px;
}

.homePage .projects.projects--phosphor .projects__platform {
	padding: 6px 10px;
	border: 1px solid VAR( --hairline );
	border-radius: 999px;
}

.homePage .projects.projects--phosphor .projects__plate-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: VAR( --font-mono );
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: VAR( --paper );
	text-decoration: none;
	transition: color 180ms ease;
}

.homePage .projects.projects--phosphor .projects__plate-cta-arrow {
	color: VAR( --phosphor );
	transition: transform 240ms ease;
}

.homePage .projects.projects--phosphor .projects__plate-cta:hover,
.homePage .projects.projects--phosphor .projects__plate-cta:focus-visible {
	color: VAR( --phosphor-bright );
}

.homePage .projects.projects--phosphor .projects__plate-cta:hover .projects__plate-cta-arrow {
	transform: TRANSLATEX( 4px );
}

/* --- Media plate (image + overlays) ---------------------------------- */

.homePage .projects.projects--phosphor .projects__media {
	position: relative;
	border-radius: 2px;
	overflow: hidden;
	background-color: VAR( --canopy );
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	isolation: isolate;
}

.homePage .projects.projects--phosphor .projects__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: LINEAR-GRADIENT(
		180deg,
		RGBA( VAR( --canopy-rgb ), 0.32 ) 0%,
		RGBA( VAR( --canopy-rgb ), 0.0 ) 28%,
		RGBA( VAR( --canopy-rgb ), 0.0 ) 60%,
		RGBA( VAR( --canopy-rgb ), 0.55 ) 100%
	);
	pointer-events: none;
	z-index: 1;
}

.homePage .projects.projects--phosphor .projects__media-tick {
	position: absolute;
	top: 0;
	left: 24px;
	width: 1px;
	height: 32px;
	background: VAR( --phosphor );
	z-index: 2;
}

.homePage .projects.projects--phosphor .projects__media-number {
	position: absolute;
	top: 24px;
	right: 24px;
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	font-family: VAR( --font-mono );
	color: RGBA( 244, 250, 241, 0.6 );
	line-height: 1;
	z-index: 2;
}

.homePage .projects.projects--phosphor .projects__media-number-prefix {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.homePage .projects.projects--phosphor .projects__media-number-value {
	font-family: VAR( --font-display );
	font-weight: 200;
	font-size: 32px;
	letter-spacing: -0.03em;
	color: RGBA( 244, 250, 241, 0.85 );
}

.homePage .projects.projects--phosphor .projects__plate--flagship .projects__media-number-value {
	font-size: 64px;
}

.homePage .projects.projects--phosphor .projects__media-caption {
	position: absolute;
	left: 24px;
	bottom: 24px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: VAR( --font-mono );
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: RGBA( 244, 250, 241, 0.7 );
	line-height: 14px;
	z-index: 2;
}

.homePage .projects.projects--phosphor .projects__media-caption-dot {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: VAR( --paper );
}

.homePage .projects.projects--phosphor .projects__media-caption-meta {
	color: RGBA( 244, 250, 241, 0.45 );
}

/* --- Play overlay ---------------------------------------------------- */

.homePage .projects.projects--phosphor .projects__play {
	position: absolute;
	right: 24px;
	bottom: 24px;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
	color: inherit;
	z-index: 3;
}

.homePage .projects.projects--phosphor .projects__play-caption {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	font-family: VAR( --font-mono );
	line-height: 1;
}

.homePage .projects.projects--phosphor .projects__play-eyebrow {
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: RGBA( 244, 250, 241, 0.55 );
}

.homePage .projects.projects--phosphor .projects__play-duration {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: VAR( --paper );
}

.homePage .projects.projects--phosphor .projects__play-button {
	position: relative;
	width: 64px;
	height: 64px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1.5px solid RGBA( VAR( --phosphor-rgb ), 0.85 );
	background: RGBA( VAR( --canopy-rgb ), 0.42 );
	-webkit-backdrop-filter: BLUR( 8px );
	backdrop-filter: BLUR( 8px );
	transition: transform 240ms ease, border-color 240ms ease, background-color 240ms ease;
	flex-shrink: 0;
}

.homePage .projects.projects--phosphor .projects__play-button-ring {
	position: absolute;
	inset: 6px;
	border-radius: 50%;
	border: 1px solid RGBA( VAR( --phosphor-rgb ), 0.18 );
	transition: border-color 240ms ease;
}

.homePage .projects.projects--phosphor .projects__play svg {
	margin-left: 3px;
	position: relative;
	z-index: 1;
}

/* SVG path inherits the theme phosphor — overrides the inline fill/stroke
 * baked into the partial so the play triangle re-tints in blue mode. */
.homePage .projects.projects--phosphor .projects__play svg path {
	fill: VAR( --phosphor );
	stroke: VAR( --phosphor );
}

.homePage .projects.projects--phosphor .projects__play:hover .projects__play-button,
.homePage .projects.projects--phosphor .projects__play:focus-visible .projects__play-button {
	transform: SCALE( 1.04 );
	border-color: VAR( --phosphor-bright );
	background: RGBA( VAR( --canopy-rgb ), 0.62 );
}

.homePage .projects.projects--phosphor .projects__play:hover .projects__play-button-ring {
	border-color: RGBA( VAR( --phosphor-bright-rgb ), 0.42 );
}

.homePage .projects.projects--phosphor .projects__play:focus-visible {
	outline: 2px solid VAR( --phosphor-bright );
	outline-offset: 6px;
	border-radius: 999px;
}

/* When a video is playing inline, fade the overlays so they don't compete. */
.homePage .projects.projects--phosphor .projects__media.is-playing::after,
.homePage .projects.projects--phosphor .projects__media.is-playing .projects__media-tick,
.homePage .projects.projects--phosphor .projects__media.is-playing .projects__media-number,
.homePage .projects.projects--phosphor .projects__media.is-playing .projects__media-caption,
.homePage .projects.projects--phosphor .projects__media.is-playing .projects__play {
	opacity: 0;
	pointer-events: none;
	transition: opacity 240ms ease;
}

.homePage .projects.projects--phosphor .projects__media-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 2;
	background: #000;
}

/* --- Detail column (brief + stats) ----------------------------------- */

.homePage .projects.projects--phosphor .projects__detail-eyebrow {
	font-family: VAR( --font-mono );
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: VAR( --paper-quiet );
	line-height: 14px;
	margin-bottom: 14px;
}

.homePage .projects.projects--phosphor .projects__detail-body {
	font-family: VAR( --font-display );
	font-weight: 400;
	font-size: 17px;
	line-height: 28px;
	letter-spacing: -0.005em;
	color: VAR( --paper-soft );
	max-width: 380px;
	margin: 0;
}

.homePage .projects.projects--phosphor .projects__detail-body--teaser {
	font-size: 15px;
	line-height: 24px;
	color: RGBA( 244, 250, 241, 0.72 );
	max-width: 460px;
}

.homePage .projects.projects--phosphor .projects__stats {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-top: 24px;
	border-top: 1px solid VAR( --hairline );
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__stats {
	flex-direction: row;
	align-items: stretch;
	gap: 32px;
	padding-top: 22px;
}

.homePage .projects.projects--phosphor .projects__stats-row {
	display: flex;
	gap: 32px;
	padding-top: 4px;
}

.homePage .projects.projects--phosphor .projects__stat {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__stat {
	flex: 0 0 auto;
}

.homePage .projects.projects--phosphor .projects__stat-label {
	font-family: VAR( --font-mono );
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: VAR( --paper-faint );
	line-height: 14px;
}

.homePage .projects.projects--phosphor .projects__stat--hero .projects__stat-label {
	color: VAR( --paper-quiet );
}

.homePage .projects.projects--phosphor .projects__stat-value {
	font-family: VAR( --font-display );
	font-weight: 500;
	font-size: 28px;
	line-height: 32px;
	letter-spacing: -0.02em;
	color: VAR( --paper );
}

.homePage .projects.projects--phosphor .projects__stat--hero .projects__stat-value {
	font-size: 72px;
	line-height: 72px;
	letter-spacing: -0.04em;
	color: VAR( --phosphor );
}

.homePage .projects.projects--phosphor .projects__plate--teaser .projects__stat--hero .projects__stat-value {
	font-size: 40px;
	line-height: 44px;
	letter-spacing: -0.03em;
}

.homePage .projects.projects--phosphor .projects__stats-divider {
	width: 1px;
	align-self: stretch;
	background: VAR( --hairline-soft );
	flex-shrink: 0;
}

/* --- Reveal-on-scroll ------------------------------------------------ */

.homePage .projects.projects--phosphor .projects__plate {
	opacity: 0;
	transform: TRANSLATEY( 24px );
	transition: opacity 520ms ease, transform 520ms ease;
}

.homePage .projects.projects--phosphor .projects__plate.is-revealed {
	opacity: 1;
	transform: TRANSLATEY( 0 );
}

@media ( prefers-reduced-motion: reduce ) {
	.homePage .projects.projects--phosphor .projects__plate {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* --- Responsive collapse -------------------------------------------- */

@media ( max-width: 1180px ) {
	.homePage .projects.projects--phosphor .projects__inner {
		padding: 0 32px;
	}

	.homePage .projects.projects--phosphor .projects__plate--flagship {
		padding: 40px;
		gap: 32px;
	}

	.homePage .projects.projects--phosphor .projects__plate--flagship .projects__plate-name {
		font-size: 72px;
		line-height: 72px;
	}

	.homePage .projects.projects--phosphor .projects__plate--flagship .projects__media {
		width: 60%;
		height: auto;
		min-height: 420px;
	}

	.homePage .projects.projects--phosphor .projects__plate--teaser {
		grid-template-columns: 360px 1fr;
	}
}

@media ( max-width: 860px ) {
	.homePage .projects.projects--phosphor {
		padding: 48px 0 72px;
	}

	.homePage .projects.projects--phosphor .projects__inner {
		padding: 0 20px;
		gap: 16px;
	}

	.homePage .projects.projects--phosphor .projects__eyebrow {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.homePage .projects.projects--phosphor .projects__plate--flagship,
	.homePage .projects.projects--phosphor .projects__plate--teaser {
		display: flex;
		flex-direction: column;
		padding: 0;
	}

	.homePage .projects.projects--phosphor .projects__plate--teaser {
		min-height: 0;
	}

	.homePage .projects.projects--phosphor .projects__plate-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding: 28px 24px 0;
		border-bottom: none;
	}

	.homePage .projects.projects--phosphor .projects__plate--teaser .projects__plate-header-left,
	.homePage .projects.projects--phosphor .projects__plate--teaser .projects__plate-header-right {
		grid-row: auto;
		grid-column: auto;
		padding: 0;
		justify-self: start;
		align-items: flex-start;
	}

	.homePage .projects.projects--phosphor .projects__plate--flagship .projects__plate-name,
	.homePage .projects.projects--phosphor .projects__plate--teaser .projects__plate-name {
		font-size: 48px;
		line-height: 48px;
		letter-spacing: -0.03em;
	}

	.homePage .projects.projects--phosphor .projects__plate-body {
		display: flex;
		flex-direction: column;
		gap: 24px;
		padding: 24px 24px 32px;
	}

	.homePage .projects.projects--phosphor .projects__plate--flagship .projects__media,
	.homePage .projects.projects--phosphor .projects__plate--teaser .projects__media {
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		min-height: 0;
	}

	.homePage .projects.projects--phosphor .projects__plate--flagship .projects__detail,
	.homePage .projects.projects--phosphor .projects__plate--teaser .projects__detail {
		padding: 0;
		gap: 24px;
	}

	/* Teaser cards (2nd/3rd projects): add breathing room around the
	 * description + stats block on mobile so copy doesn't feel cramped
	 * against the card edges. */
	.homePage .projects.projects--phosphor .projects__plate--teaser .projects__detail {
		padding: 0 4px 6px;
	}

	.homePage .projects.projects--phosphor .projects__plate--teaser .projects__detail-body--teaser {
		padding: 0 2px;
	}

	.homePage .projects.projects--phosphor .projects__plate--flagship .projects__media-number-value {
		font-size: 40px;
	}

	.homePage .projects.projects--phosphor .projects__plate--flagship .projects__stat--hero .projects__stat-value {
		font-size: 56px;
		line-height: 56px;
	}

	.homePage .projects.projects--phosphor .projects__play-button {
		width: 56px;
		height: 56px;
	}

	.homePage .projects.projects--phosphor .projects__plate--teaser .projects__stats {
		flex-wrap: wrap;
		gap: 20px;
		padding: 24px 4px 4px;
	}
}

/* --- Blue theme override --------------------------------------------- *
 * When html.theme-blue is set, swap the canopy + phosphor tokens for the
 * navy + baby-blue equivalents used by the rest of the site. Every value
 * downstream — the warp overlay, plate background, diamond glow, media
 * gradient, play-button border/glass, hero stat color, SVG triangle —
 * resolves through the variable redefinitions below.
 *
 * The background-image is restated explicitly so it beats the legacy
 * `html.theme-blue .homePage .projects` rule further down the cascade
 * (which targets the old projectBlock design and would otherwise stomp
 * our warp overlay with a flat navy gradient). */
html.theme-blue .homePage .projects.projects--phosphor {
	--canopy: #0A1525;
	--canopy-rgb: 10, 21, 37;
	--plate: #0F1B33;
	--phosphor: #508FCC;
	--phosphor-rgb: 80, 143, 204;
	--phosphor-bright: #7FBFEC;
	--phosphor-bright-rgb: 127, 191, 236;

	background-color: VAR( --canopy );
	background-image: LINEAR-GRADIENT( 180deg, #0A1525 0%, #102642 100% );
}

/* ---------------------------------------------------------------------------
 * Phosphor testimonials
 * Continues the forest from the project list — same canopy + warp pattern
 * background, lifted card surface for each quote, single phosphor accent on
 * the highlighted phrase per card. Header pairs a strong editorial title
 * with a bordered phosphor pill CTA, mirroring the hero's "Book a call"
 * button language.
 * ------------------------------------------------------------------------- */

.homePage .testimonials.testimonials--phosphor {
	--canopy: #0A150A;
	--canopy-rgb: 10, 21, 10;
	--card-bg: #102713;
	--paper: #F4FAF1;
	--paper-rgb: 244, 250, 241;
	--paper-muted-rgb: 232, 240, 229;
	--phosphor: #7FE082;
	--phosphor-rgb: 127, 224, 130;
	--spotlight-scale: 1.045;
	--spotlight-lift: -4px;
	--spotlight-transition: 260ms CUBIC-BEZIER(0.22, 1, 0.36, 1);
	--signature-fill-duration: 700ms;

	position: relative;
	background-color: VAR( --canopy );
	background-image:
		LINEAR-GRADIENT(RGBA(VAR(--canopy-rgb), 0.82), RGBA(VAR(--canopy-rgb), 0.82)),
		url(/assets/projects_warp.jpg);
	background-repeat: repeat, repeat;
	background-size: auto, 512px auto;
	background-blend-mode: normal;
	color: VAR( --paper );
	padding: 96px 0 120px;
	font-family: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Reset old testimonials rules that were tuned for the previous design. */
.homePage .testimonials.testimonials--phosphor h2 {
	font-family: "Geist", system-ui, sans-serif;
	font-size: CLAMP(36px, 4vw, 52px);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.05;
	color: #F4FAF1;
	text-align: left;
	text-transform: none;
	margin: 0;
}

.homePage .testimonials.testimonials--phosphor blockquote {
	font-family: "Geist", system-ui, sans-serif;
	font-size: CLAMP(22px, 1.85vw, 27px);
	font-weight: 400;
	line-height: 1.32;
	letter-spacing: -0.014em;
	color: #F4FAF1;
	margin: 0;
	padding: 0;
}

.homePage .testimonials.testimonials--phosphor figcaption {
	color: inherit;
	padding: 0;
	font-size: inherit;
}

/* --- Layout shell ----------------------------------------------------- */

.homePage .testimonials.testimonials--phosphor .testimonials__inner {
	max-width: 1328px;
	margin: 0 auto;
	padding: 0 56px;
}

.homePage .testimonials.testimonials--phosphor .testimonials__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 48px;
	margin-bottom: 64px;
}

.homePage .testimonials.testimonials--phosphor .testimonials__title-block {
	max-width: 760px;
}

.homePage .testimonials.testimonials--phosphor .testimonials__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 28px;
	font-family: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 11px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: VAR( --phosphor );
}

.homePage .testimonials.testimonials--phosphor .testimonials__diamond {
	display: inline-block;
	width: 6px;
	height: 6px;
	background: VAR( --phosphor );
	box-shadow: 0 0 10px RGBA( VAR( --phosphor-rgb ), 0.7 );
	transform: ROTATE(45deg);
	flex-shrink: 0;
}

.homePage .testimonials.testimonials--phosphor .testimonials__title-accent {
	font-family: "Geist", system-ui, sans-serif;
	font-style: italic;
	font-weight: 500;
	color: VAR( --phosphor );
	letter-spacing: -0.02em;
}

/* CTA pill — matches the hero's Book a call button language. */
.homePage .testimonials.testimonials--phosphor .testimonials__cta {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 22px;
	background-color: RGBA( VAR( --phosphor-rgb ), 0.06 );
	border: 1px solid RGBA( VAR( --phosphor-rgb ), 0.45 );
	border-radius: 999px;
	color: RGBA( VAR( --paper-muted-rgb ), 1 );
	font-family: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 200ms ease, border-color 200ms ease, transform 200ms ease;
}

.homePage .testimonials.testimonials--phosphor .testimonials__cta:hover,
.homePage .testimonials.testimonials--phosphor .testimonials__cta:focus-visible {
	background-color: RGBA( VAR( --phosphor-rgb ), 0.1 );
	border-color: RGBA( VAR( --phosphor-rgb ), 0.66 );
}

.homePage .testimonials.testimonials--phosphor .testimonials__cta-arrow {
	display: inline-block;
	font-family: "Geist", system-ui, sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	transition: transform 200ms ease;
}

.homePage .testimonials.testimonials--phosphor .testimonials__cta:hover .testimonials__cta-arrow {
	transform: TRANSLATEX(3px);
}

/* --- Card grid -------------------------------------------------------- */

.homePage .testimonials.testimonials--phosphor .testimonials__grid {
	display: grid;
	grid-template-columns: REPEAT(4, 1fr);
	gap: 16px;
}

.homePage .testimonials.testimonials--phosphor .testimonial {
	display: flex;
	flex-direction: column;
	background-color: VAR( --card-bg );
	border: 1px solid RGBA(232, 240, 229, 0.06);
	border-radius: 16px;
	padding: 32px 28px;
	margin: 0;
	overflow: hidden;
	transform-origin: center center;
	will-change: transform;
	transition: border-color VAR(--spotlight-transition), transform VAR(--spotlight-transition), box-shadow VAR(--spotlight-transition), background-color VAR(--spotlight-transition);
}

.homePage .testimonials.testimonials--phosphor .testimonial:hover {
	border-color: RGBA(VAR(--phosphor-rgb), 0.32);
	transform: TRANSLATEY(VAR(--spotlight-lift)) SCALE(VAR(--spotlight-scale));
	box-shadow:
		0 16px 38px RGBA(0, 0, 0, 0.35),
		0 0 0 1px RGBA(VAR(--phosphor-rgb), 0.1) inset,
		0 0 20px RGBA(VAR(--phosphor-rgb), 0.14);
}

/* Spotlight state (driven by JS sequencer): one card at a time gets elevated
 * like a carousel slide while others remain visible in place. */
.homePage .testimonials.testimonials--phosphor .testimonial.is-spotlight {
	border-color: RGBA(VAR(--phosphor-rgb), 0.32);
	transform: TRANSLATEY(VAR(--spotlight-lift)) SCALE(VAR(--spotlight-scale));
	box-shadow:
		0 16px 38px RGBA(0, 0, 0, 0.35),
		0 0 0 1px RGBA(VAR(--phosphor-rgb), 0.1) inset,
		0 0 20px RGBA(VAR(--phosphor-rgb), 0.14);
}

/* Big phosphor open-quote glyph at the top of each card — restrained,
 * positioned as decorative typography rather than a bg flourish. */
.homePage .testimonials.testimonials--phosphor .testimonial__body {
	flex: 1;
	position: relative;
	padding-top: 44px;
}

.homePage .testimonials.testimonials--phosphor .testimonial__body::before {
	content: "\201C";
	position: absolute;
	top: -10px;
	left: -2px;
	display: block;
	font-family: "Geist", system-ui, sans-serif;
	font-size: 72px;
	font-weight: 700;
	line-height: 1;
	color: VAR( --phosphor );
	opacity: 0.55;
}

/* The single phosphor moment per card: the highlighted phrase. */
.homePage .testimonials.testimonials--phosphor .testimonial__highlight {
	font-weight: 600;
	color: VAR( --phosphor );
	font-style: normal;
	letter-spacing: -0.005em;
}

/* Per-card typographic signature — echoes each quote's punch phrase as
 * a phosphor stamp. Outlined for soft-edge phrases, solid phosphor for
 * the numeric "10×", italic-lowercase for the more poetic "divine". */
.homePage .testimonials.testimonials--phosphor .testimonial__signature {
	font-family: "Geist", system-ui, sans-serif;
	font-size: CLAMP(44px, 5vw, 64px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.035em;
	text-transform: uppercase;
	position: relative;
	margin: 24px 0 0;
	padding: 0;
	user-select: none;
	pointer-events: none;
	white-space: nowrap;
	transition: transform VAR(--spotlight-transition);
}

.homePage .testimonials.testimonials--phosphor .testimonial:hover .testimonial__signature,
.homePage .testimonials.testimonials--phosphor .testimonial.is-spotlight .testimonial__signature {
	transform: TRANSLATEY(-1px);
}

.homePage .testimonials.testimonials--phosphor .testimonial__signature-outline,
.homePage .testimonials.testimonials--phosphor .testimonial__signature-fill {
	display: block;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

.homePage .testimonials.testimonials--phosphor .testimonial__signature-outline {
	color: transparent;
	-webkit-text-stroke: 1px RGBA(VAR(--phosphor-rgb), 0.28);
	transition: -webkit-text-stroke-color VAR(--spotlight-transition);
}

.homePage .testimonials.testimonials--phosphor .testimonial__signature-fill {
	position: absolute;
	inset: 0;
	color: VAR(--phosphor);
	clip-path: INSET(0 100% 0 0);
	opacity: 0.12;
	text-shadow:
		0 0 6px RGBA(VAR(--phosphor-rgb), 0.38),
		0 0 16px RGBA(VAR(--phosphor-rgb), 0.25);
	transition: opacity VAR(--spotlight-transition);
}

.homePage .testimonials.testimonials--phosphor .testimonial:hover .testimonial__signature-outline,
.homePage .testimonials.testimonials--phosphor .testimonial.is-spotlight .testimonial__signature-outline {
	-webkit-text-stroke-color: RGBA(VAR(--phosphor-rgb), 0.5);
}

.homePage .testimonials.testimonials--phosphor .testimonial:hover .testimonial__signature-fill,
.homePage .testimonials.testimonials--phosphor .testimonial.is-filling .testimonial__signature-fill {
	animation: testimonialSignatureSweep VAR(--signature-fill-duration) CUBIC-BEZIER(0.22, 1, 0.36, 1) forwards;
}

@keyframes testimonialSignatureSweep {
	0% {
		clip-path: INSET(0 100% 0 0);
		opacity: 0.15;
	}
	30% {
		opacity: 0.82;
	}
	100% {
		clip-path: INSET(0 0 0 0);
		opacity: 0.95;
	}
}

/* Solid variant — for numerals like "10×" where filled phosphor reads
 * as a confident statement of the quote's literal claim. */
.homePage .testimonials.testimonials--phosphor .testimonial__signature--solid {
	text-transform: none;
	font-size: CLAMP(54px, 6.2vw, 80px);
	letter-spacing: -0.04em;
}

.homePage .testimonials.testimonials--phosphor .testimonial__signature--solid .testimonial__signature-outline {
	color: RGBA(VAR(--phosphor-rgb), 0.24);
	-webkit-text-stroke: 0;
}

.homePage .testimonials.testimonials--phosphor .testimonial__signature--solid .testimonial__signature-fill {
	-webkit-text-stroke: 0;
}

/* Italic-lowercase variant — for more poetic phrases that benefit from
 * an editorial flourish rather than uppercase weight. */
.homePage .testimonials.testimonials--phosphor .testimonial__signature--italic {
	font-style: italic;
	font-weight: 500;
	text-transform: lowercase;
	letter-spacing: -0.025em;
	font-size: CLAMP(54px, 6vw, 78px);
}

.homePage .testimonials.testimonials--phosphor .testimonial__divider {
	height: 1px;
	background: RGBA(232, 240, 229, 0.12);
	margin: 24px 0 20px;
}

.homePage .testimonials.testimonials--phosphor .testimonial__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}

.homePage .testimonials.testimonials--phosphor .testimonial__attribution {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

/* Brand logo — rendered as a muted white silhouette so client logos read
 * as a uniform monochrome row regardless of original brand color. */
.homePage .testimonials.testimonials--phosphor .testimonial__brand {
	display: block;
	width: auto;
	height: auto;
	flex-shrink: 0;
	opacity: 0.78;
	transition: opacity 200ms ease;
	filter: DROP-SHADOW(0 0 12px RGBA(VAR(--phosphor-rgb), 0.12));
}

.homePage .testimonials.testimonials--phosphor .testimonial:hover .testimonial__brand {
	opacity: 0.95;
}

/* Per-brand sizing — keeps each mark optically balanced rather than
 * mathematically equal-height. */
.homePage .testimonials.testimonials--phosphor .testimonial__brand--fanbants {
	height: 28px;
	width: auto;
}

.homePage .testimonials.testimonials--phosphor .testimonial__brand--sanu {
	height: 16px;
	width: auto;
}

.homePage .testimonials.testimonials--phosphor .testimonial__brand--grounded {
	height: 32px;
	width: auto;
}

.homePage .testimonials.testimonials--phosphor .testimonial__brand--cgrc {
	height: 36px;
	width: auto;
}

.homePage .testimonials.testimonials--phosphor .testimonial__name {
	font-family: "Geist", system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.005em;
	color: #F4FAF1;
}

.homePage .testimonials.testimonials--phosphor .testimonial__role {
	font-family: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: RGBA(232, 240, 229, 0.55);
}

/* --- Responsive ------------------------------------------------------- */

@media (max-width: 1100px) {
	.homePage .testimonials.testimonials--phosphor .testimonials__grid {
		grid-template-columns: REPEAT(2, 1fr);
	}
}

@media (max-width: 960px) {
	.homePage .testimonials.testimonials--phosphor {
		padding: 72px 0 88px;
	}

	.homePage .testimonials.testimonials--phosphor .testimonials__inner {
		padding: 0 24px;
	}

	.homePage .testimonials.testimonials--phosphor .testimonials__header {
		flex-direction: column;
		align-items: stretch;
		gap: 28px;
		margin-bottom: 48px;
	}

	.homePage .testimonials.testimonials--phosphor .testimonials__cta {
		align-self: flex-start;
	}
}

@media (max-width: 640px) {
	.homePage .testimonials.testimonials--phosphor .testimonials__grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.homePage .testimonials.testimonials--phosphor .testimonial {
		min-height: auto;
		padding: 28px 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.homePage .testimonials.testimonials--phosphor .testimonial {
		transition: none;
		transform: none !important;
		box-shadow: none !important;
	}

	.homePage .testimonials.testimonials--phosphor .testimonial__signature {
		transition: none;
		transform: none !important;
	}

	.homePage .testimonials.testimonials--phosphor .testimonial__signature-fill {
		animation: none !important;
		clip-path: INSET(0 100% 0 0);
		opacity: 0;
	}
}

/* ---------------------------------------------------------------------------
 * Blue / baby-blue hero variant
 * Same hero structure, swapped from forest green (#5DBE60 / #7FE082) to
 * deep navy with a baby-blue accent (#508FCC / #7FBFEC). Achieved by
 * overriding the CSS custom properties on .hero--phosphor and replacing
 * each hardcoded green hex with its blue equivalent. The keyframe pulse
 * dot uses a parallel @keyframes phosphorDotBlue so the green animation
 * is left untouched.
 * ------------------------------------------------------------------------- */

.hero--phosphor.hero--phosphor-blue,
html.theme-blue .hero--phosphor {
	--canopy: #0A1525;
	--phosphor: #508FCC;
	--phosphor-bright: #7FBFEC;
	--phosphor-deep: #142F4D;
	--phosphor-pill-text: #0A1525;
}

.hero--phosphor.hero--phosphor-blue .hero__pill,
html.theme-blue .hero--phosphor .hero__pill {
	border-color: #7FBFEC73;
	background-color: #7FBFEC0F;
}

.hero--phosphor.hero--phosphor-blue .hero__pill:hover,
.hero--phosphor.hero--phosphor-blue .hero__pill:focus-visible,
html.theme-blue .hero--phosphor .hero__pill:hover,
html.theme-blue .hero--phosphor .hero__pill:focus-visible {
	background-color: #7FBFEC14;
	border-color: #7FBFECA8;
}

.hero--phosphor.hero--phosphor-blue .hero__pulse-dot,
html.theme-blue .hero--phosphor .hero__pulse-dot {
	box-shadow: 0 0 8px #7FBFECE6;
	animation-name: phosphorDotBlue;
}

@keyframes phosphorDotBlue {
	0%, 100% { opacity: 1; box-shadow: 0 0 8px #7FBFECE6; }
	50%      { opacity: 0.55; box-shadow: 0 0 4px #7FBFEC80; }
}

.hero--phosphor.hero--phosphor-blue .hero__diamond,
html.theme-blue .hero--phosphor .hero__diamond {
	box-shadow: 0 0 10px #7FBFECB3;
}

/* Hero grid show/hide per theme. The hero renders both green and blue grid
 * SVGs; CSS toggles which one is visible based on the html.theme-blue class.
 * The .hero--phosphor-blue preview page never includes the green grid, so
 * these rules only affect the homepage hero. */
.hero--phosphor .blinq-grid--blue { display: none; }
html.theme-blue .hero--phosphor .blinq-grid--green { display: none; }
html.theme-blue .hero--phosphor .blinq-grid--blue { display: block; }

/* ---------------------------------------------------------------------------
 * Phosphor footer
 * Combined CTA + sitemap + animated BLINQ wordmark dot grid. The section is
 * locally scoped (CSS variables redeclared on .footer--phosphor) so the
 * partial is self-contained and can be reused on other pages later. The
 * wordmark mark cells reveal left-to-right via a transition-delay derived
 * from the per-cell --i custom property once the section enters the viewport.
 * ------------------------------------------------------------------------- */

.footer--phosphor {
	--canopy: #0A150A;
	--paper: #F4FAF1;
	--paper-soft: #F4FAF1D1;
	--paper-mute: #E8F0E5;
	--paper-quiet: #E8F0E5C7;
	--paper-lede: #E8F0E5B3;
	--paper-faint: #E8F0E573;
	--hairline: #E8F0E51F;
	--phosphor: #5DBE60;
	--phosphor-bright: #7FE082;
	--phosphor-pill-text: #0A1A0A;
	--font-display: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;

	position: relative;
	background: VAR(--canopy);
	color: VAR(--paper);
	padding: 120px 0 32px;
	overflow: hidden;
	isolation: isolate;
	font-family: VAR(--font-display);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-synthesis: none;
}

.footer--phosphor .footer__inner {
	max-width: 1328px;
	margin: 0 auto;
	padding: 0 56px;
	position: relative;
	z-index: 2;
}

/* --- CTA block ---------------------------------------------------------- */

.footer--phosphor .footer__cta {
	display: flex;
	flex-direction: column;
	gap: 28px;
	max-width: 880px;
}

.footer--phosphor .footer__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: VAR(--font-mono);
	font-size: 11px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: VAR(--phosphor-bright);
}

.footer--phosphor .footer__diamond {
	display: inline-block;
	width: 6px;
	height: 6px;
	background: VAR(--phosphor-bright);
	box-shadow: 0 0 10px #7FE082B3;
	transform: ROTATE(45deg);
	flex-shrink: 0;
}

.footer--phosphor .footer__headline {
	margin: 0;
	font-family: VAR(--font-display);
	font-size: CLAMP(48px, 6vw, 84px);
	line-height: 1.02;
	letter-spacing: -0.035em;
	color: VAR(--paper);
	display: flex;
	flex-direction: column;
}

.footer--phosphor .footer__headline-line {
	display: block;
}

.footer--phosphor .footer__headline-line--bold {
	font-weight: 700;
}

.footer--phosphor .footer__headline-line--soft {
	font-weight: 500;
	font-style: italic;
	color: VAR(--paper-soft);
	letter-spacing: -0.03em;
}

.footer--phosphor .footer__cta-row {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	margin-top: 12px;
}

.footer--phosphor .footer__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 22px 14px 18px;
	border-radius: 999px;
	font-family: VAR(--font-mono);
	font-size: 11.5px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease;
}

.footer--phosphor .footer__btn:focus-visible {
	outline: 2px solid VAR(--paper);
	outline-offset: 4px;
}

.footer--phosphor .footer__btn--solid {
	background-color: VAR(--phosphor-bright);
	border: 1px solid VAR(--phosphor-bright);
	color: VAR(--phosphor-pill-text);
	padding-left: 18px;
}

.footer--phosphor .footer__btn--solid:hover {
	background-color: #9DEBA0;
	border-color: #9DEBA0;
	transform: TRANSLATEY(-1px);
}

.footer--phosphor .footer__btn-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: VAR(--phosphor-pill-text);
	flex-shrink: 0;
	animation: phosphorDot 2.6s ease-in-out infinite;
}

.footer--phosphor .footer__btn--ghost {
	background-color: #7FE0820F;
	border: 1px solid #7FE08273;
	color: VAR(--paper-mute);
}

.footer--phosphor .footer__btn--ghost:hover {
	background-color: #7FE08214;
	border-color: #7FE082A8;
	color: VAR(--paper);
	transform: TRANSLATEY(-1px);
}

.footer--phosphor .footer__btn-arrow {
	display: inline-block;
	font-family: VAR(--font-display);
	font-size: 14px;
	letter-spacing: 0;
	transition: transform 200ms ease;
}

.footer--phosphor .footer__btn--ghost:hover .footer__btn-arrow {
	transform: TRANSLATEX(3px);
}

/* --- Divider + sitemap columns ----------------------------------------- */

.footer--phosphor .footer__divider {
	height: 1px;
	background: VAR(--hairline);
	margin: 80px 0 56px;
}

.footer--phosphor .footer__columns {
	display: grid;
	grid-template-columns: 1.2fr REPEAT(3, 1fr);
	gap: 48px 64px;
}

.footer--phosphor .footer__col-title {
	font-family: VAR(--font-mono);
	font-size: 11px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: VAR(--paper-faint);
	margin-bottom: 20px;
}

.footer--phosphor .footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.footer--phosphor .footer__list li {
	font-family: VAR(--font-display);
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: -0.005em;
	color: VAR(--paper-quiet);
}

.footer--phosphor .footer__list a {
	color: VAR(--paper-quiet);
	text-decoration: none;
	transition: color 180ms ease;
}

.footer--phosphor .footer__list a:hover,
.footer--phosphor .footer__list a:focus-visible {
	color: VAR(--phosphor-bright);
	outline: none;
}

/* --- Animated diamond grid ---------------------------------------------
 * The SVG ships two stacked layers: a dim canopy base (every cell) and
 * a phosphor racer layer that only covers a few "lane" rows. The base
 * is always visible. The racer cells fade in and out on a continuous
 * left-to-right wave per lane, offset between lanes so several bright
 * streaks race through the grid at once.
 * ----------------------------------------------------------------------- */

.footer--phosphor .blinq-footer-grid {
	position: relative;
	width: 100%;
	margin-top: 100px;
	z-index: 1;
	pointer-events: none;
}

.footer--phosphor .blinq-footer-grid svg {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	max-height: none;
	margin: 0;
}

/* Race timing knobs (kept here so they're easy to tune):
 *   --race-cycle:    full cycle per cell, sized so lanes overlap continuously
 *   --race-col-step: per-column delay → wave speed
 *   --race-lane-gap: per-lane phase offset → spread streaks across cycle
 * 5 lanes * 0.6s = 3.0s, matching --race-cycle, so coverage is continuous. */
.footer--phosphor .blinq-footer-grid {
	--race-cycle: 3s;
	--race-col-step: 0.035s;
	--race-lane-gap: 0.6s;
}

.footer--phosphor .blinq-footer-grid svg .cell {
	opacity: 0;
	animation: phosphorRace VAR(--race-cycle) linear infinite;
	animation-delay: CALC(VAR(--c, 0) * VAR(--race-col-step) + VAR(--l, 0) * VAR(--race-lane-gap));
	will-change: opacity;
}

@keyframes phosphorRace {
	0%, 100% { opacity: 0; }
	3%       { opacity: 1; }
	8%       { opacity: 0.7; }
	16%      { opacity: 0.32; }
	26%      { opacity: 0; }
}

/* --- Baseline ---------------------------------------------------------- */

.footer--phosphor .footer__baseline {
	margin-top: 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	font-family: VAR(--font-mono);
	font-size: 11px;
	font-weight: 500;
	line-height: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: VAR(--paper-faint);
}

/* --- Responsive ------------------------------------------------------- */

@media (max-width: 960px) {
	.footer--phosphor {
		padding: 80px 0 24px;
	}

	.footer--phosphor .footer__inner {
		padding: 0 24px;
	}

	.footer--phosphor .footer__divider {
		margin: 56px 0 40px;
	}

	.footer--phosphor .footer__columns {
		grid-template-columns: REPEAT(2, 1fr);
		gap: 40px 32px;
	}

	.footer--phosphor .blinq-footer-grid {
		margin-top: 64px;
	}

	.footer--phosphor .footer__baseline {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		margin-top: 24px;
	}
}

@media (max-width: 560px) {
	.footer--phosphor .footer__cta-row {
		flex-direction: column;
		align-items: stretch;
	}

	.footer--phosphor .footer__btn {
		justify-content: center;
	}

	.footer--phosphor .footer__columns {
		grid-template-columns: 1fr 1fr;
	}
}

/* --- Reduced motion --------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	/* Pin a static mid-cycle frame so the grid stays expressive but quiet. */
	.footer--phosphor .blinq-footer-grid svg .cell {
		animation: none;
		opacity: 0.5;
	}

	.footer--phosphor .footer__btn-dot {
		animation: none;
	}
}

/* ===========================================================================
 * Theme variants — phosphor sections (blue)
 * Override the raw green hexes used in the homepage's phosphor sections
 * (projects, testimonials, footer) when html.theme-blue is set. The hero
 * already retints via CSS variables higher up in this file. Each override
 * mirrors the green rule's structure with the matching blue equivalent.
 * ========================================================================= */

/* --- Projects --------------------------------------------------------- */
html.theme-blue .homePage .projects,
html.theme-blue .projectsPage .projects {
	background-color: #0A1525;
	background-image: LINEAR-GRADIENT(180deg, #0A1525 0%, #102642 100%);
}

html.theme-blue .projectsPage .hero {
	background-color: #0A1525;
}

html.theme-blue .homePage .projects .projectBlock,
html.theme-blue .projectsPage .projects .projectBlock {
	background-color: #142F4D;
}

html.theme-blue .homePage .projects .projectBlock .name:hover,
html.theme-blue .projectsPage .projects .projectBlock .name:hover {
	color: #7FBFEC;
}

html.theme-blue .homePage .projects .projectBlock .facts,
html.theme-blue .projectsPage .projects .projectBlock .facts {
	background-color: #1A3D5E;
	background-image: LINEAR-GRADIENT(
		180deg,
		RGBA(127, 191, 236, 0.05) 0%,
		RGBA(127, 191, 236, 0) 60%
	);
	border-color: RGBA(127, 191, 236, 0.12);
}

html.theme-blue .homePage .projects .projectBlock .fact:first-child .value,
html.theme-blue .projectsPage .projects .projectBlock .fact:first-child .value {
	color: #7FBFEC;
}

html.theme-blue .homePage .projects .projectBlock .facts .pending .value,
html.theme-blue .projectsPage .projects .projectBlock .facts .pending .value {
	color: #7FBFEC;
}

/* --- Testimonials ----------------------------------------------------- */
html.theme-blue .homePage .testimonials.testimonials--phosphor {
	--canopy: #0A1525;
	--canopy-rgb: 10, 21, 37;
	--card-bg: #142F4D;
	--phosphor: #7FBFEC;
	--phosphor-rgb: 127, 191, 236;

	background-color: #0A1525;
	background-image: LINEAR-GRADIENT(180deg, #0A1525 0%, #102642 100%);
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonials__eyebrow {
	color: #7FBFEC;
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonials__diamond {
	background: #7FBFEC;
	box-shadow: 0 0 10px #7FBFECB3;
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonials__title-accent {
	color: #7FBFEC;
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonials__cta {
	background-color: #7FBFEC0F;
	border-color: #7FBFEC73;
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonials__cta:hover,
html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonials__cta:focus-visible {
	background-color: #7FBFEC14;
	border-color: #7FBFECA8;
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial {
	background-color: VAR( --card-bg );
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial:hover {
	border-color: RGBA(127, 191, 236, 0.18);
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial__body::before {
	color: #7FBFEC;
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial__highlight {
	color: #7FBFEC;
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial__signature-outline {
	-webkit-text-stroke-color: RGBA(127, 191, 236, 0.28);
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial:hover .testimonial__signature-outline,
html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial.is-spotlight .testimonial__signature-outline {
	-webkit-text-stroke-color: RGBA(127, 191, 236, 0.42);
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial__signature--solid .testimonial__signature-outline {
	color: RGBA(127, 191, 236, 0.22);
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial:hover .testimonial__signature--solid .testimonial__signature-outline,
html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial.is-spotlight .testimonial__signature--solid .testimonial__signature-outline {
	color: RGBA(32, 164, 243, 0.32);
}

html.theme-blue .homePage .testimonials.testimonials--phosphor .testimonial__brand {
	filter: DROP-SHADOW(0 0 12px RGBA(127, 191, 236, 0.12));
}

/* --- Footer ----------------------------------------------------------- */
html.theme-blue .footer--phosphor {
	--canopy: #0A1525;
	--phosphor: #508FCC;
	--phosphor-bright: #7FBFEC;
	--phosphor-pill-text: #0A1525;
}

html.theme-blue .footer--phosphor .footer__diamond {
	box-shadow: 0 0 10px #7FBFECB3;
}

html.theme-blue .footer--phosphor .footer__btn--solid:hover {
	background-color: #9FD0F0;
	border-color: #9FD0F0;
}

html.theme-blue .footer--phosphor .footer__btn--ghost {
	background-color: #7FBFEC0F;
	border-color: #7FBFEC73;
}

html.theme-blue .footer--phosphor .footer__btn--ghost:hover {
	background-color: #7FBFEC14;
	border-color: #7FBFECA8;
}

/* --- Footer grid SVG fills (per theme) -------------------------------- */
.footer--phosphor .blinq-footer-grid svg .base { fill: #102713; }
.footer--phosphor .blinq-footer-grid svg .cell { fill: #7FE082; }
html.theme-blue .footer--phosphor .blinq-footer-grid svg .base { fill: #142F4D; }
html.theme-blue .footer--phosphor .blinq-footer-grid svg .cell { fill: #7FBFEC; }

/* ===========================================================================
 * Theme toggle component
 * Fixed pill at top-right with two coloured dots and a sliding thumb.
 * Lives outside any phosphor scope so it appears on every page.
 * ========================================================================= */

.theme-toggle {
	position: fixed;
	top: 110px;
	right: 20px;
	z-index: 1000;
	width: 70px;
	height: 32px;
	padding: 4px;
	border: 0;
	margin: 0;
	cursor: pointer;
	background: transparent;
	outline: 0;
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
}

.theme-toggle__track {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	padding: 0 8px;
	background-color: RGBA(10, 21, 10, 0.65);
	border: 1px solid RGBA(255, 255, 255, 0.18);
	border-radius: 999px;
	box-sizing: border-box;
	backdrop-filter: BLUR(12px);
	-webkit-backdrop-filter: BLUR(12px);
	transition: background-color 200ms ease, border-color 200ms ease;
}

.theme-toggle:hover .theme-toggle__track {
	border-color: RGBA(255, 255, 255, 0.32);
}

.theme-toggle:focus-visible .theme-toggle__track {
	border-color: #F4FAF1;
	box-shadow: 0 0 0 2px RGBA(244, 250, 241, 0.45);
}

.theme-toggle__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}

.theme-toggle__dot--green {
	background: #7FE082;
	box-shadow: 0 0 8px RGBA(127, 224, 130, 0.7);
}

.theme-toggle__dot--blue {
	background: #7FBFEC;
	box-shadow: 0 0 8px RGBA(127, 191, 236, 0.7);
}

.theme-toggle__thumb {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: RGBA(244, 250, 241, 0.95);
	box-shadow: 0 1px 3px RGBA(0, 0, 0, 0.35);
	transition: transform 280ms CUBIC-BEZIER(.22, 1, .36, 1);
	pointer-events: none;
}

html.theme-blue .theme-toggle__thumb { transform: TRANSLATEX(32px); }
html.theme-blue .theme-toggle__track { background-color: RGBA(10, 21, 37, 0.65); }

@media (prefers-reduced-motion: reduce) {
	.theme-toggle__thumb { transition: none; }
}
@media screen and ( max-width: 600px ) {
	.header {
		padding-left: 5px;
		padding-right: 5px;
	}
	.homePage .hero .intro {
		padding-top: 150px;
	}
	.homePage .hero h1 {
		font-size: 56px;
	}
	.homePage .intro p {
		font-size: 20px;
	}

	.homePage .hero svg {
		display: inline-block;
		max-width: 100px;
		margin-top: 80px;
	}

	.homePage .hero .blurb {
		font-size: 29px;
	}

	footer .emails {
		margin-top: 60px;
	}

	footer a {
		line-height: 1.5;
	}

	.projectsPage .hero {
		overflow-x: hidden;
	}

	.projectPage .container-fluid {
		margin-left: 10px;
		margin-right: 10px;
		width: CALC( 100% - 20px );
	}

	.projectPage h1 {
		display: none;
		font-size: 50px;
		position: static;
	}
	.projectPage h1.mobileOnly {
		display: block;
	}

	.projectPage .feature {
		margin-bottom: 140px;
		padding-left: 0;
		padding-right: 0;
	}

	.projectPage .feature .details {
		margin: 0 0 40px;
	}

	.projectPage .results .fact {
		font-size: 60px;
	}
	.projectPage .results .label {
		max-width: 80%;
		margin-top: 5px;
	}

	.projectPage .clientPreview .background {
		background-position: center;
	}

	.projectPage .clientPreview {
		padding: 90px 10px;
		border-bottom: 1px solid #999;
	}

	.contactPage .intro {
		overflow-x: hidden;
	}
	.contactPage .intro h1 {
		margin: 50px 0;
		font-size: 58px;
		line-height: 0.95;
	}

	.contactPage section.emails {
		padding-top: 0px;
	}

	.contactPage .emails .label {
		max-width: 100%;
		margin-top: 80px;
	}

	.contactPage section.emails .work {
		margin-top: 80px;
	}

	section.contactBar {
		padding-right: 10px;
	}

	.projectBlock .image {
		height: 400px;
		position: static;
	}

	.projectBlock .platforms {
		color: VAR( --grey );
	}

	.projectBlock .facts {
		display: none;
		position: relative;
		top: unset;
		right: unset;
		margin-top: 440px;
	}

	.projectBlock .imagery.noSidebar {
		min-height: 450px;
	}
}
