@charset "utf-8";
/* bootstrap.min.css */
/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--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-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--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-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--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-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.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}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.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>*{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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-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}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!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}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.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-inline-grid{display:inline-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}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.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-inline-grid{display:inline-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}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.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-inline-grid{display:inline-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}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.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-inline-grid{display:inline-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}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.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-inline-grid{display:inline-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}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!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-inline-grid{display:inline-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.min.css.map */
/* reset.css */
/* D99: the old theme's Nata Sans and Manjari @imports are gone (no text uses them since the redesign; they blocked first paint) */
* {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
html,
body {    
  width: 100%;
  max-width: 100%;
  height: 100%;
  font-size: 17px;
  line-height: 18px;
  color: #000;
  font-weight: 400;
  font-style: normal;
  font-family: "Manjari", sans-serif;
}
p {
  font-style: normal;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.4;
  letter-spacing: 0.5px;
  color: #1f2428;
  &:last-child{
    margin-bottom: 0px;
  }
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: "Nata Sans", sans-serif;
}
h2 {
  color: #040404;
  font-size: 45px;
  margin-bottom: 50px;
  font-family: "Nata Sans", sans-serif;
  line-height: 55px;
}
h5 {
  margin-bottom: 20px;
  text-transform: uppercase;
}
a {
  text-decoration: none;
  outline: none;
  color: #131313;
  text-decoration: none !important;
  font-size: 16px;
}
:focus {
  outline: none;
}
a:focus {
  outline: none;
}
a:hover,
a:focus {
  text-decoration: none;
}
hr {
  background: #e3e3e3;
  border-top: 1px solid #333;
}
img{
    width: 100%;
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
::selection {
  text-shadow: none;
  background: #257af4;
  color: #fff;
}
::-moz-selection {
  text-shadow: none;
  background: #257af4;
  color: #fff;
}
a,
input,
select,
textarea,
img {
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
.clearfix {
  clear: both;
  font-size: 0;
  line-height: 0;
  margin: 0;
  padding: 0;
}
.btn:focus,
button:focus,
.form-control:focus {
  outline: 0;
  box-shadow: 0 0 0 0 #fff0;
}
ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}
:root {
  --blue: #048FEA;
  --black: #000000;
  --green: #3DC718;
  --gray: #8C8C8C;
  --light-green:#E5F8E2;
}

.z_1{
    z-index: 1;
    position: relative;
}

/* main */


.fltLft{
	float: left;
}
.fltRgt{
	float: right;
}

.rel{
  position: relative;
}
.ttu{
    text-transform: uppercase;
}

/* Margin Bottom */
.mb_100{
	margin-bottom: 100px !important;
}
.mb_90{
	margin-bottom: 90px !important;
}
.mb_85{
	margin-bottom: 85px !important;
}
.mb_80{
	margin-bottom: 80px !important;
}
.mb_75{
	margin-bottom: 75px !important;
}
.mb_70{
	margin-bottom: 70px !important;
}
.mb_65{
	margin-bottom: 65px !important;
}
.mb_60{
	margin-bottom: 60px !important;
}
.mb_55{
	margin-bottom: 55px !important;
}
.mb_50{
	margin-bottom: 50px !important;
}
.mb_45{
	margin-bottom: 45px !important;
}
.mb_40{
	margin-bottom: 40px !important;
}
.mb_35{
	margin-bottom: 35px !important;
}
.mb_30{
	margin-bottom: 30px !important;
}
.mb_25{
	margin-bottom: 25px !important;
}
.mb_20{
	margin-bottom: 20px !important;
}
.mb_18{
	margin-bottom: 18px !important;
}
.mb_15{
	margin-bottom: 15px !important;
}
.mb_10{
	margin-bottom: 10px !important;
}
.mb_05{
	margin-bottom: 5px;
}


.tac{
    text-align: center;
}
.tal{
    text-align: left;
}
.tar{
    text-align: right;
}
.tae{
    text-align: end;
}
.taj{
    text-align: justify;
}


.db{
    display: block !important;
}
.dib{
    display: inline-block !important;
}
.df{
    display: flex !important;
}
.fw{
    flex-wrap: wrap !important;
}
.aifs{
    align-items: flex-start !important;
}
.aic{
    align-items: center !important;
}
.aife{
    align-items: flex-end !important;
}
.jcc{
	justify-content: center !important;
}
.jcfs{
    justify-content: flex-start !important;
}
.jcfe{
	justify-content: flex-end !important;
}
.jcfe{
	justify-content: end !important;
}
.jcsb{
    justify-content: space-between !important;
}
.jcsa{
	justify-content: space-around !important;
}
.jcse{
	justify-content: space-evenly !important;
}
.fdr{
    flex-direction: row;
}
.fdrr{
    flex-direction: row-reverse;
}
.fdc{
    flex-direction: column;
}
.fdcr{
    flex-direction: column-reverse;
}

.p_20{
    padding: 20px;
}
.p_30{
    padding: 30px;
}
.p_40{
    padding: 40px;
}
.container-mid{
    width: 100%;
    max-width:1750px;
    padding: 0 20px;
    margin: 0 auto;
}
.container{
    max-width: 1330px;
}
.customBlock{
    padding: 100px 0;
}
.mb_20{
    margin-bottom: 20px;
}
.mb_30{
    margin-bottom: 30px;
}
.pt_70{
    padding-top: 70px;
}
.pb_70{
    padding-bottom: 70px;
}

.mt_30{
    margin-top: 30px;
}
.text-right{
    text-align: right;
}
.pl_30{
    padding-left: 30px;
}
.db{
    display: block !important;
}
.fw_900{
    font-weight: 900;
}
/* header.css */
.headerWrap{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    padding: 10px 50px;
    transition: padding 0.4s ease, background-color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
    border-bottom: 1px solid transparent;
    .headerInner{
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 76px;
        padding: 0 30px;
        border: 1px solid transparent;
        border-radius: 100px;
        transition: height 0.4s ease, padding 0.4s ease, border-radius 0.4s ease, border-color 0.4s ease;
        .logoImg{
            img{
                display: block;
                height: 40px;
                width: auto;
                transition: height 0.4s ease;
            }
        }
        /* menu: one dark rounded bar, mono uppercase links, orange "lets talk" pill */
        .menuWrap{
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 7px 7px 7px 26px;
            border: 1px solid rgb(255 255 255 / 9%);
            border-radius: 16px;
            background: rgb(12 12 12 / 88%);
            backdrop-filter: blur(14px);
            > ul{
                display: flex;
                align-items: center;
                gap: 30px;
                margin: 0;
                padding: 0;
                list-style: none;
                > li{
                    position: relative;
                    > a{
                        display: inline-flex;
                        align-items: center;
                        gap: 8px;
                        padding: 12px 0;
                        font-family: "Space Mono", monospace;
                        font-size: 13px;
                        font-weight: 700;
                        letter-spacing: 0.06em;
                        text-transform: uppercase;
                        color: #f1ede4;
                        text-decoration: none;
                        transition: color 0.3s ease;
                        /* small chevron, drawn with borders so it stays crisp */
                        .subArrow{
                            width: 5px;
                            height: 5px;
                            margin-top: -1px; /* centres the visible "v" (the lower half of the turned square) on the capitals */
                            border-right: 1.5px solid currentColor;
                            border-bottom: 1.5px solid currentColor;
                            transform: rotate(45deg);
                            opacity: 0.8;
                            transition: transform 0.35s ease;
                        }
                        &:hover{ color: #0075ff; }
                    }
                    /* ---- dropdown ---- */
                    .subMenu{
                        position: absolute;
                        left: -18px;
                        top: calc(100% + 14px);
                        min-width: 230px;
                        margin: 0;
                        padding: 8px;
                        list-style: none;
                        border-radius: 14px;
                        border: 1px solid rgb(255 255 255 / 10%);
                        background: rgb(12 12 12 / 96%);
                        backdrop-filter: blur(18px);
                        box-shadow: 0 28px 60px rgb(0 0 0 / 55%);
                        opacity: 0;
                        visibility: hidden;
                        transform: translateY(12px);
                        transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
                        /* invisible bridge so the cursor can cross the gap */
                        &::before{
                            content: '';
                            position: absolute;
                            left: 0;
                            right: 0;
                            top: -16px;
                            height: 16px;
                        }
                        li{
                            opacity: 0;
                            transform: translateY(8px);
                            transition: opacity 0.3s ease, transform 0.3s ease;
                            a{
                                position: relative;
                                display: block;
                                padding: 10px 14px;
                                border-radius: 9px;
                                font-family: "Space Mono", monospace;
                                font-size: 12px;
                                letter-spacing: 0.05em;
                                text-transform: uppercase;
                                color: rgb(241 237 228 / 70%);
                                text-decoration: none;
                                transition: color 0.3s ease, background 0.3s ease, padding-left 0.3s ease;
                                /* orange tick that appears on hover */
                                &::before{
                                    content: '';
                                    position: absolute;
                                    left: 11px;
                                    top: 50%;
                                    width: 5px;
                                    height: 5px;
                                    border-radius: 50%;
                                    background: #0075ff;
                                    transform: translateY(-50%);
                                    opacity: 0;
                                    transition: opacity 0.3s ease;
                                }
                                &:hover{
                                    color: #fff;
                                    background: rgb(255 255 255 / 6%);
                                    padding-left: 24px;
                                    &::before{ opacity: 1; }
                                }
                            }
                        }
                    }
                    /* long lists (services, industries, cities) sit in two columns */
                    .subMenu.twoCol{
                        display: grid;
                        grid-template-columns: repeat(2, minmax(200px, 1fr));
                        column-gap: 4px;
                        min-width: 460px;
                    }
                    /* "all ..." link closing each dropdown */
                    .subMenu .subAll{
                        grid-column: 1 / -1;
                        margin-top: 6px;
                        padding-top: 6px;
                        border-top: 1px solid rgb(255 255 255 / 10%);
                        a{ color: #0075ff; }
                    }
                    &.isActive > a{ color: #0075ff; }
                    /* open on hover or keyboard focus */
                    &:hover,
                    &:focus-within{
                        > a{
                            color: #0075ff;
                            .subArrow{ transform: translateY(3px) rotate(225deg); } /* flipped "^" kept on the same line */
                        }
                        .subMenu{
                            opacity: 1;
                            visibility: visible;
                            transform: translateY(0);
                            li{
                                opacity: 1;
                                transform: translateY(0);
                                &:nth-child(1){ transition-delay: 0.04s; }
                                &:nth-child(2){ transition-delay: 0.08s; }
                                &:nth-child(3){ transition-delay: 0.12s; }
                                &:nth-child(4){ transition-delay: 0.16s; }
                                &:nth-child(5){ transition-delay: 0.2s; }
                                &:nth-child(6){ transition-delay: 0.24s; }
                            }
                        }
                    }
                }
            }
            .menuCta{
                display: inline-flex;
                align-items: center;
                height: 44px;
                padding: 0 26px;
                border-radius: 50px;
                background: #0075ff;
                font-family: "Space Mono", monospace;
                font-size: 13px;
                letter-spacing: 0.12em;
                text-transform: uppercase;
                white-space: nowrap;
                color: #fff;
                text-decoration: none;
                transition: background-color 0.3s ease, color 0.3s ease;
                &:hover{ background: #fff; color: #0b0b0b; }
            }
            @media (max-width: 1199px){
                > ul{ gap: 20px; }
                > ul > li > a{ font-size: 12px; }
            }
            /* no room for the links on small screens: keep just the button */
            @media (max-width: 991px){
                padding: 5px;
                > ul{ display: none; }
                .menuCta{ height: 38px; padding: 0 18px; font-size: 12px; }
            }
        }
        .headerRight{
            display: flex;
            align-items: center;
            gap: 26px;
        }
    }
    /* sticky: solid black bar, edge to edge, flush with the top. the inner padding
       grows by the wrapper padding it loses, so the logo and menu don't jump sideways */
    &.isSticky{
        padding: 0;
        background: #000;
        border-bottom: 1px solid rgb(255 255 255 / 10%);
        box-shadow: 0 12px 30px rgb(0 0 0 / 45%);
        .headerInner{
            height: 72px;
            padding: 0 80px;
            border-radius: 0;
            border-color: transparent;
            .logoImg img{
                height: 34px;
            }
        }
    }
}

/* phones: tighter header so the logo and "let's talk" sit on one line */
@media (max-width: 767px){
    .headerWrap{
        padding: 10px 12px;
        .headerInner{
            height: 60px;
            padding: 0 6px 0 14px;
            .logoImg img{ height: 26px; }
            .headerRight{
                gap: 8px;
                /* just the button on phones: no bar around it */
                .menuWrap{
                    padding: 0;
                    border: 0;
                    background: none;
                    backdrop-filter: none;
                    .menuCta{ height: 36px; padding: 0 14px; font-size: 11px; letter-spacing: 0.06em; }
                }
            }
        }
        /* sticky: full-width black bar; inner padding takes over the wrapper's so nothing shifts */
        &.isSticky{
            padding: 0;
            .headerInner{
                height: 60px;
                padding: 0 18px 0 26px;
            }
        }
    }
}

/* footer.css */
/* ---------------- footer ---------------- */
.ftWrap{
    position: relative;
    background-color: #000;
    overflow: hidden;
    /* ---- main columns ---- */
    .ftMain{
        padding: 85px 0 70px;
        .ftGrid{
            gap: 70px;
        }
        .ftTitle{
            color: #fff;
            font-size: 17px;
            font-weight: 700;
            letter-spacing: 2px;
            margin-bottom: 28px;
            position: relative;
            padding-bottom: 14px;
            &::after{
                content: "";
                position: absolute;
                left: 0;
                bottom: 0;
                width: 34px;
                height: 2px;
                border-radius: 2px;
                background: #0075ff;
            }
        }
        .ftBrand{
            flex: 0 0 30%;
            min-width: 0;
            .ftLogo{
                max-width: 200px;
                margin-bottom: 24px;
                img{ width: 100%; }
            }
            p{
                color: #9a9a9a;
                font-size: 14px;
                line-height: 1.8;
                margin-bottom: 18px;
            }
            .ftCin{
                font-family: monospace;
                font-size: 12px;
                letter-spacing: 1px;
                color: #5f5f5f;
                margin-bottom: 26px;
            }
            .ftSocials{
                gap: 12px;
                .ftSocial{
                    width: 42px;
                    height: 42px;
                    border-radius: 50%;
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    color: #fff;
                    font-size: 15px;
                    border: 1px solid #ffffff2e;
                    background: #ffffff0f;
                    transition: background 0.4s ease, border-color 0.4s ease, transform 0.4s ease;
                    &:hover{
                        color: #fff;
                        border-color: transparent;
                        background: #0075ff;
                    }
                    &:focus-visible{
                        outline: 1px solid #0075ff;
                        outline-offset: 3px;
                    }
                }
            }
        }
        .ftCol{
            flex: 0 0 auto;
            min-width: 0;
            ul li{
                margin-bottom: 15px;
                &:last-child{ margin-bottom: 0; }
            }
            .ftLink{
                position: relative;
                display: inline-flex;
                align-items: center;
                gap: 0;
                color: #bdbdbd;
                font-size: 15px;
                letter-spacing: 0.3px;
                padding-bottom: 3px;
                transition: color 0.35s ease;
                span{
                    transition: transform 0.35s ease;
                }
                i,
                svg{
                    font-size: 12px;
                    width: 1em;
                    color: #0075ff;
                    opacity: 0;
                    transform: translateX(-8px) rotate(-45deg);
                    transition: opacity 0.35s ease, transform 0.35s ease;
                    margin-left: 8px;
                }
                /* underline draws itself in from the left */
                &::after{
                    content: "";
                    position: absolute;
                    left: 0;
                    bottom: 0;
                    width: 100%;
                    height: 1px;
                    background: #0075ff;
                    transform: scaleX(0);
                    transform-origin: left center;
                    transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
                }
                &:hover{
                    color: #fff;
                    span{ transform: translateX(4px); }
                    i,
                    svg{
                        opacity: 1;
                        transform: translateX(0) rotate(-45deg);
                    }
                    &::after{ transform: scaleX(1); }
                }
            }
        }
        .ftTouch{
            flex: 1 1 auto;
            min-width: 0;
            .ftAddress{
                gap: 14px;
                margin-bottom: 26px;
                i,
                svg{
                    flex: 0 0 auto;
                    color: #0075ff;
                    font-size: 17px;
                    width: 1em;
                    margin-top: 4px;
                }
                p{
                    color: #9a9a9a;
                    font-size: 14px;
                    line-height: 1.8;
                    margin: 0;
                    b{ color: #fff; font-weight: 600; }
                }
            }
            .ftReach{
                margin-bottom: 18px;
                &:last-child{ margin-bottom: 0; }
                .ftReachLabel{
                    color: #0075ff;
                    font-size: 14px;
                    font-weight: 700;
                    letter-spacing: 1px;
                    text-transform: uppercase;
                    margin-bottom: 10px;
                }
                .ftChips{
                    flex-wrap: wrap;
                    gap: 10px;
                    .ftChip{
                        gap: 9px;
                        padding: 10px 18px;
                        border-radius: 50px;
                        border: 1px solid #ffffff2e;
                        background: #ffffff0f;
                        color: #bdbdbd;
                        font-size: 13px;
                        letter-spacing: 0.3px;
                        white-space: nowrap;
                        transition: 0.4s;
                        i,
                        svg{
                            color: #0075ff;
                            font-size: 12px;
                            width: 1em;
                            transition: color 0.4s ease;
                        }
                        &:hover{
                            color: #fff;
                            border-color: transparent;
                            background: #0075ff;
                            transform: translateY(-3px);
                            i,
                            svg{ color: #fff; }
                        }
                    }
                }
            }
        }
    }
    /* ---- legal strip ---- */
    .ftBottom{
        border-top: 1px solid #ffffff1a;
        padding: 24px 0;
        .ftBottomInner{
            gap: 20px;
            flex-wrap: wrap;
        }
        .ftCopy,
        .ftMade{
            color: #5f5f5f;
            font-size: 13px;
            letter-spacing: 0.5px;
            margin: 0;
        }
        .ftLegal{
            gap: 26px;
            li a{
                color: #9a9a9a;
                font-size: 13px;
                letter-spacing: 0.5px;
                transition: color 0.35s ease;
                &:hover{ color: #0075ff; }
            }
        }
    }
}
/* ---- back to top: fixed ring that fills with scroll progress ---- */
.ftTop{
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 90;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    font-size: 15px;
    background: #101216e6;
    border: 1px solid #ffffff2b;
    backdrop-filter: blur(12px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease, background 0.4s ease;
    /* the progress ring only — font awesome swaps the arrow <i> for an svg too,
       and this rule must not catch that one */
    > svg:not(.svg-inline--fa){
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        transform: rotate(-90deg);
        circle{
            fill: none;
            stroke-width: 2.5;
            &.ftTopTrack{ stroke: #ffffff1a; }
            &.ftTopFill{
                stroke: #0075ff;
                stroke-linecap: round;
                stroke-dasharray: 157;
                stroke-dashoffset: 157;
            }
        }
    }
    /* the arrow: centred, upright, on top of the ring */
    > i, > .svg-inline--fa{
        position: relative;
        z-index: 1;
        width: 15px;
        height: 15px;
        transform: none;
        transition: transform 0.35s ease;
    }
    &:hover > i, &:hover > .svg-inline--fa{ transform: translateY(-3px); }
    &.show{
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    &:hover{
        background: #1b1e24;
    }
    &:focus-visible{
        outline: 1px solid #0075ff;
        outline-offset: 3px;
    }
}

@media (max-width: 1199px){
    .ftWrap{
        .ftMain{
            padding: 60px 0 50px;
            .ftGrid{
                flex-wrap: wrap;
                gap: 45px;
            }
            .ftBrand{ flex: 0 0 100%; max-width: 480px; }
            .ftTouch{ flex: 1 1 340px; }
        }
    }
}

@media (max-width: 767px){
    .ftWrap{
        .ftMain{
            padding: 45px 0 40px;
            .ftGrid{
                flex-direction: column;
                gap: 35px;
            }
            .ftTitle{ margin-bottom: 20px; }
            .ftBrand p{ font-size: 13px; }
            .ftTouch .ftChips .ftChip{ font-size: 12px; padding: 9px 14px; }
        }
        .ftBottom{
            .ftBottomInner{
                flex-direction: column;
                gap: 8px;
                text-align: center;
            }
        }
    }
    .ftTop{
        right: 16px;
        bottom: 16px;
        width: 46px;
        height: 46px;
        font-size: 13px;
    }
}

/* ================= footer: interactive layer ================= */
.ftWrap{
    /* soft blue spotlight that follows the cursor (--mx / --my set by js) */
    &::before{
        content: "";
        position: absolute;
        inset: 0;
        z-index: 0;
        background: radial-gradient(520px circle at var(--mx, 50%) var(--my, 30%), rgb(0 117 255 / 12%), transparent 60%);
        opacity: 0;
        transition: opacity 0.6s ease;
        pointer-events: none;
    }
    &:hover::before{ opacity: 1; }
    > *{ position: relative; z-index: 1; }
    > .ftTop{ position: fixed; z-index: 90; } /* keep the back-to-top ring fixed */
}
/* ---- contact strip ---- */
.ftCta{
    border-bottom: 1px solid rgb(255 255 255 / 10%);
    padding: clamp(56px, 7vw, 110px) 0 clamp(40px, 5vw, 70px);
    .ftCtaInner{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 30px;
        flex-wrap: wrap;
    }
    .ftCtaEyebrow{
        display: inline-flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 16px;
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        &::before{ content: ""; width: 30px; height: 1px; background: #0075ff; }
    }
    .ftMail{
        position: relative;
        display: inline-flex;
        align-items: flex-start;
        gap: 0.2em;
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(26px, 5vw, 84px);
        line-height: 1.05;
        letter-spacing: -0.03em;
        color: #fff;
        text-decoration: none;
        word-break: break-all;
        span{
            font-size: 0.5em;
            color: #0075ff;
            transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        /* underline sweeps in from the left */
        &::after{
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -6px;
            height: 3px;
            background: #0075ff;
            transform: scaleX(0);
            transform-origin: 0 50%;
            transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
        }
        &:hover{ color: #0075ff; }
        &:hover span{ transform: translate(6px, -6px); }
        &:hover::after{ transform: scaleX(1); }
    }
    .ftCtaSide{
        display: grid;
        justify-items: end;
        gap: 14px;
    }
    .ftCopyBtn{
        height: 46px;
        padding: 0 24px;
        border: 1px solid rgb(255 255 255 / 20%);
        border-radius: 50px;
        background: none;
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: #f1ede4;
        cursor: pointer;
        transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        &:hover{ background: #f1ede4; border-color: #f1ede4; color: #0b0b0b; }
        &.is-done{ background: #0075ff; border-color: #0075ff; color: #fff; }
        &:focus-visible{ outline: 2px solid #0075ff; outline-offset: 3px; }
    }
    .ftClock{
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin: 0;
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 55%);
        b{ font-weight: 400; color: #fff; font-variant-numeric: tabular-nums; }
        /* live dot */
        i{
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #0075ff;
            box-shadow: 0 0 0 0 rgb(0 117 255 / 60%);
            animation: ftLive 2s ease-out infinite;
        }
    }
}
@keyframes ftLive{
    0%{ box-shadow: 0 0 0 0 rgb(0 117 255 / 60%); }
    100%{ box-shadow: 0 0 0 10px rgb(0 117 255 / 0%); }
}
/* ---- giant wordmark: letters rise in on scroll, lift + fill blue on hover ---- */
.ftMark{
    display: flex;
    justify-content: center;
    padding: 0 clamp(16px, 2vw, 40px);
    overflow: hidden;
    font-family: "Archivo", "Montserrat", sans-serif;
    font-stretch: 125%;
    font-variation-settings: "wdth" 125;
    font-weight: 800;
    /* "PROMOTEDGE" is ~9.6em wide in this face: fill the width without overflowing */
    font-size: calc((100vw - 2 * clamp(16px, 2vw, 40px)) / 10);
    line-height: 0.82;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    user-select: none;
    .ftLetter{
        display: inline-block;
        color: transparent;
        -webkit-text-stroke: 1px rgb(255 255 255 / 18%);
        transition: color 0.35s ease, -webkit-text-stroke-color 0.35s ease, transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
        will-change: transform;
        &:hover{
            color: #0075ff;
            -webkit-text-stroke-color: #0075ff;
            transform: translateY(-8%);
        }
    }
}
@media (max-width: 767px){
    .ftCta{
        .ftCtaInner{ flex-direction: column; align-items: flex-start; }
        .ftCtaSide{ justify-items: start; }
    }
    .ftWrap::before{ display: none; }
}
@media (prefers-reduced-motion: reduce){ .ftCta .ftClock i{ animation: none; } }

/* common.css */
body{
    background-color: #000;
}
.container-max{
    max-width: 1660px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
}
.z_1{
    z-index: 1;
}
.fz_100{
    font-size: 100px;
}
.fz_130{
    font-size: 130px;
}
.fz_150{
    font-size: 150px;
}
.fz_200{
    font-size: 200px;
}
.fw_600{
    font-weight: 600;
}
.whiteText{
    color: #fff;
}
/*===lenis smooth scroll===*/
html.lenis,
html.lenis body{
    height: auto;
}
.lenis.lenis-smooth{
    scroll-behavior: auto !important;
}
.lenis.lenis-smooth [data-lenis-prevent]{
    overscroll-behavior: contain;
}
.lenis.lenis-stopped{
    overflow: hidden;
}
.blueText{
    color: #0075ff;
}

/* ================= Quick connect: side tab + slide-in form (every page) ================= */
.qcTab{
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 95;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 13px;
    border: 0;
    border-radius: 12px 0 0 12px;
    background: #0075ff;
    box-shadow: -6px 8px 24px rgb(0 0 0 / 35%);
    color: #fff;
    font-family: "Space Mono", monospace;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    writing-mode: vertical-rl; /* reads top to bottom, like the design */
    cursor: pointer;
    transform: translateY(-50%);
    transition: padding-right 0.35s ease, background-color 0.35s ease, opacity 0.3s ease;
    &:hover{ padding-right: 18px; background: #1a84ff; }
    &:focus-visible{ outline: 2px solid #fff; outline-offset: -5px; }
    body.qcOpen &{ opacity: 0; pointer-events: none; }
    @media (max-width: 575px){ padding: 14px 9px; font-size: 10px; }
}
.qcOverlay{
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgb(0 0 0 / 60%);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    body.qcOpen &{ opacity: 1; visibility: visible; }
}
.qcPanel{
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    display: flex;
    flex-direction: column;
    width: min(460px, 100vw);
    padding: clamp(26px, 3vw, 40px) clamp(22px, 2.6vw, 36px);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #0e0e0e;
    border-left: 1px solid rgb(255 255 255 / 12%);
    box-shadow: -30px 0 60px rgb(0 0 0 / 50%);
    color: #fff;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1), visibility 0.55s;
    body.qcOpen &{ transform: translateX(0); visibility: visible; }
    /* contents rise in one after another once the panel is out */
    .qcHead, .qcForm > *, .qcAlt{
        opacity: 0;
        transform: translateY(14px);
        transition: opacity 0.45s ease, transform 0.45s ease;
    }
    body.qcOpen & :is(.qcHead, .qcForm > *, .qcAlt){ opacity: 1; transform: none; }
    body.qcOpen & .qcHead{ transition-delay: 0.15s; }
    body.qcOpen & .qcForm > *:nth-child(1){ transition-delay: 0.2s; }
    body.qcOpen & .qcForm > *:nth-child(2){ transition-delay: 0.25s; }
    body.qcOpen & .qcForm > *:nth-child(3){ transition-delay: 0.3s; }
    body.qcOpen & .qcForm > *:nth-child(4){ transition-delay: 0.35s; }
    body.qcOpen & .qcForm > *:nth-child(5){ transition-delay: 0.4s; }
    body.qcOpen & .qcForm > *:nth-child(6){ transition-delay: 0.45s; }
    body.qcOpen & .qcForm > *:nth-child(7){ transition-delay: 0.5s; }
    body.qcOpen & .qcAlt{ transition-delay: 0.55s; }
}
.qcClose{
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgb(255 255 255 / 18%);
    background: none;
    color: #fff;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.4s ease;
    &:hover{ background: #0075ff; border-color: #0075ff; color: #fff; transform: rotate(90deg); }
    &:focus-visible{ outline: 2px solid #0075ff; outline-offset: 2px; }
}
.qcHead{
    margin: 0 50px 28px 0;
    span{
        display: inline-flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 14px;
        font-family: "Space Mono", monospace;
        font-size: 11px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        &::before{ content: ""; width: 26px; height: 1px; background: #0075ff; }
    }
    h2{
        margin: 0 0 10px;
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(26px, 2.2vw, 34px);
        line-height: 1.1;
        letter-spacing: -0.02em;
        color: #fff;
        em{ font-style: normal; color: #0075ff; }
    }
    p{
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: 14px;
        line-height: 1.55;
        color: rgb(255 255 255 / 65%);
    }
}
.qcForm{
    display: grid;
    gap: 16px;
    label{
        display: grid;
        gap: 7px;
        font-family: "Space Mono", monospace;
        font-size: 10.5px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        b{ font-weight: 400; color: #0075ff; }
    }
    input, select, textarea{
        width: 100%;
        padding: 13px 15px;
        border: 1px solid rgb(255 255 255 / 14%);
        border-radius: 10px;
        background: #151515;
        font-family: "Montserrat", sans-serif;
        font-size: 15px;
        letter-spacing: 0;
        text-transform: none;
        color: #fff;
        transition: border-color 0.3s ease, background-color 0.3s ease;
        &::placeholder{ color: rgb(255 255 255 / 30%); }
        &:focus{ outline: none; border-color: #0075ff; background: #171b22; }
        &.isError{ border-color: #ff5a5a; }
    }
    select{
        appearance: none;
        background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%);
        background-position: calc(100% - 20px) 55%, calc(100% - 15px) 55%;
        background-size: 5px 5px, 5px 5px;
        background-repeat: no-repeat;
        option{ background: #151515; color: #fff; }
    }
    textarea{ resize: vertical; min-height: 96px; }
    .qcSubmit{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        height: 52px;
        margin-top: 4px;
        border: 0;
        border-radius: 50px;
        background: #0075ff;
        font-family: "Space Mono", monospace;
        font-size: 13px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #fff;
        cursor: pointer;
        transition: background-color 0.35s ease;
        span{ transition: transform 0.35s ease; }
        &:hover{ background: #fff; }
        &:hover span{ transform: translateX(5px); }
        &:focus-visible{ outline: 2px solid #fff; outline-offset: 3px; }
    }
    .qcNote{
        margin: -4px 0 0;
        font-family: "Montserrat", sans-serif;
        font-size: 12px;
        letter-spacing: 0;
        text-transform: none;
        text-align: center;
        color: rgb(255 255 255 / 45%);
    }
}
.qcAlt{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
    padding-top: 26px;
    a{
        flex: 1 1 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        height: 44px;
        padding: 0 16px;
        border: 1px solid rgb(255 255 255 / 16%);
        border-radius: 50px;
        font-family: "Space Mono", monospace;
        font-size: 11px;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #f1ede4;
        text-decoration: none;
        transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        &:hover{ background: #f1ede4; border-color: #f1ede4; color: #0b0b0b; }
    }
}
body.qcOpen{ overflow: hidden; }

/* ================= WhatsApp: sticky chat button, bottom-left (every page) ================= */
.waFloat{
    position: fixed;
    left: 30px;
    bottom: 30px;
    z-index: 94;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #25d366;
    box-shadow: 0 10px 28px rgb(0 0 0 / 40%);
    color: #fff;
    font-size: 28px;
    text-decoration: none;
    transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), background-color 0.3s ease;
    /* soft ring that keeps pulsing out, so it reads as "live" */
    &::before{
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 50%;
        background: #25d366;
        z-index: -1;
        animation: waPulse 2.4s ease-out infinite;
    }
    > i, > .svg-inline--fa{ width: 28px; height: 28px; }
    /* label slides out to the right on hover */
    span{
        position: absolute;
        left: calc(100% + 12px);
        top: 50%;
        padding: 8px 14px;
        border-radius: 50px;
        background: #fff;
        font-family: "Space Mono", monospace;
        font-size: 11px;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        white-space: nowrap;
        color: #0b0b0b;
        opacity: 0;
        pointer-events: none;
        transform: translate(-8px, -50%);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    &:hover{ transform: scale(1.08); background: #1ebe5b; }
    &:hover span{ opacity: 1; transform: translate(0, -50%); }
    &:focus-visible{ outline: 2px solid #fff; outline-offset: 3px; }
    body.qcOpen &{ opacity: 0; pointer-events: none; } /* out of the way while quick connect is open */
    @media (max-width: 767px){
        left: 16px;
        bottom: 16px;
        width: 48px;
        height: 48px;
        font-size: 24px;
        > i, > .svg-inline--fa{ width: 24px; height: 24px; }
        span{ display: none; }
    }
}
@keyframes waPulse{
    0%{ transform: scale(1); opacity: 0.55; }
    80%, 100%{ transform: scale(1.7); opacity: 0; }
}
@media (prefers-reduced-motion: reduce){ .waFloat::before{ animation: none; } }

/* ================= theme switch (every page) ================= */
.themeSwitch{
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    width: 64px;
    height: 34px;
    padding: 0;
    border: 1px solid rgb(255 255 255 / 18%);
    border-radius: 50px;
    background: rgb(255 255 255 / 6%);
    cursor: pointer;
    transition: background-color 0.35s ease, border-color 0.35s ease;
    svg{
        position: absolute;
        top: 50%;
        width: 14px;
        height: 14px;
        transform: translateY(-50%);
        fill: none;
        stroke: rgb(241 237 228 / 55%);
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        pointer-events: none;
        transition: stroke 0.35s ease;
    }
    .tsMoon{ left: 10px; }
    .tsSun{ right: 10px; }
    /* the knob slides over the active mode */
    .tsKnob{
        position: absolute;
        top: 3px;
        left: 3px;
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: #0075ff;
        box-shadow: 0 4px 10px rgb(0 117 255 / 35%);
        transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .tsMoon, .tsSun{ z-index: 1; }
    &:hover{ border-color: #0075ff; }
    &:focus-visible{ outline: 2px solid #0075ff; outline-offset: 3px; }
}
html:not([data-theme="light"]) .themeSwitch .tsMoon{ stroke: #fff; }
html[data-theme="light"] .themeSwitch{
    border-color: rgb(0 0 0 / 14%);
    background: rgb(0 0 0 / 5%);
    .tsKnob{ transform: translateX(30px); }
    .tsSun{ stroke: #fff; }
    .tsMoon{ stroke: rgb(11 11 11 / 45%); }
}
/* colours glide instead of snapping when the mode changes */
html.themeAnim, html.themeAnim *, html.themeAnim *::before, html.themeAnim *::after{
    transition: background-color 0.45s ease, color 0.45s ease, border-color 0.45s ease, fill 0.45s ease, stroke 0.45s ease !important;
}
/* narrow phones: the switch becomes one round icon button (sun = go light, moon = go dark)
   and the header tightens up so logo, switch and "let's talk" share one row */
@media (max-width: 420px){
    .headerWrap .headerInner .headerRight .menuWrap{ gap: 8px; }
    .headerWrap .headerInner .logoImg img{ height: 21px; }
    .themeSwitch{
        width: 34px;
        height: 34px;
        justify-content: center;
        .tsKnob{ display: none; }
        svg, .tsMoon, .tsSun{ left: 50%; right: auto; transform: translate(-50%, -50%); width: 15px; height: 15px; }
        .tsMoon{ display: none; }
        .tsSun{ display: block; stroke: #fff; }
    }
    html[data-theme="light"] .themeSwitch{
        .tsSun{ display: none; }
        .tsMoon{ display: block; stroke: #0b0b0b; }
    }
}

/* home.css */
.bannerWrap{
    height: 100vh;
    min-height: 560px;
    position: relative;
    background-color: #000;
    overflow: hidden;
    .bannerStage{
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .bannerTitle{
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(48px, 7.7vw, 160px);
        line-height: 1.04;
        letter-spacing: 0.01em;
        text-transform: uppercase;
        text-align: center;
        color: #fff;
        pointer-events: none;
        .bannerLine{
            display: block;
            &.accent, .bChar.accent{ color: #0075ff; }
            /* letter spans for the load animation; a word never breaks mid-way */
            .bWord{ white-space: nowrap; }
        }
        @media (max-width: 575px){
            font-size: 11vw;
        }
    }
    /* buttons hang below the headline (absolute) so the headline itself stays
       dead-centre and "BRANDS" keeps lining up with the video circle */
    .bannerContent{
        position: relative;
        z-index: 2;
        will-change: transform, opacity;
    }
    /* tagline sits above the headline (absolute, like the buttons) so the
       headline stays centred on the video circle */
    .bannerSub{
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        margin: 0 0 clamp(14px, 1.6vw, 30px);
        display: inline-flex;
        align-items: center;
        gap: 14px;
        white-space: nowrap;
        font-family: "Montserrat", sans-serif;
        font-size: clamp(12px, 1vw, 18px);
        font-weight: 600;
        letter-spacing: 0.32em;
        text-transform: uppercase;
        color: #fff;
        span{ white-space: nowrap; } /* a part never breaks in the middle */
        i{ font-style: normal; margin: 0 4px; color: #0075ff; } /* the dots between the parts */
        &::before, &::after{
            content: "";
            width: clamp(24px, 3vw, 56px);
            height: 1px;
            background: #0075ff;
        }
        @media (max-width: 575px){
            font-size: 10px;
            letter-spacing: 0.16em;
            gap: 8px;
            display: block; /* plain text flow: wraps between the parts, not inside them */
            white-space: normal;
            line-height: 1.9;
            text-align: center;
            width: 100vw;
            padding: 0 16px;
            i{ margin: 0 8px; }
            &::before, &::after{ display: none; } /* no room for the side lines on a phone */
        }
    }
    .bannerBtns{
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        margin-top: clamp(28px, 3vw, 56px);
        display: flex;
        align-items: center;
        gap: 16px;
    }
    .bannerBtn{
        display: inline-flex;
        align-items: center;
        gap: 10px;
        height: 48px;
        padding: 0 26px;
        border-radius: 50px;
        font-family: "Space Mono", monospace;
        font-size: 13px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        white-space: nowrap;
        text-decoration: none;
        transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
        .btnArrow{
            display: inline-block;
            letter-spacing: 0;
            transition: transform 0.35s ease;
        }
        &.primary{
            background-color: #0075ff;
            color: #fff;
            &:hover{ background-color: #3391ff; }
            &:hover .btnArrow{ transform: translateX(5px); }
        }
        &.ghost{
            border: 1px solid rgb(255 255 255 / 16%);
            color: #fff;
            &:hover{
                border-color: #fff;
                background-color: #fff;
                color: #0b0b0b;
            }
        }
        &:focus-visible{
            outline: 1px solid #0075ff;
            outline-offset: 4px;
        }
    }
    /* video circle sits behind the headline, centred on "BRANDS" */
    .bannerCircle{
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 1;
        width: clamp(140px, 11.6vw, 240px);
        height: clamp(140px, 11.6vw, 240px);
        border-radius: 50%;
        overflow: hidden;
        border: 1px solid rgb(0 117 255 / 55%);
        box-shadow: 0 0 60px rgb(0 117 255 / 18%);
        transform: translate(-50%, -50%);
        will-change: transform;
        video{
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        /* darkens the full-screen video so the reveal text reads */
        .circleShade{
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgb(0 0 0 / 55%) 0%, rgb(0 0 0 / 35%) 45%, rgb(0 0 0 / 75%) 100%);
            opacity: 0;
            pointer-events: none;
        }
    }
    .bannerReveal{
        position: absolute;
        inset: 0;
        z-index: 3;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: clamp(14px, 1.6vw, 26px);
        padding: 0 5vw;
        text-align: center;
        pointer-events: none;
        visibility: hidden;
        font-family: "Montserrat", sans-serif;
        .revealSub,
        .revealTitle{
            font-family: "Montserrat", sans-serif; /* reset.css pins p/h2 to its own fonts */
            will-change: transform, opacity, filter;
        }
        .revealSub{
            margin: 0;
            font-size: clamp(14px, 1.15vw, 22px);
            font-weight: 500;
            color: #fff;
        }
        .revealTitle{
            max-width: 1250px;
            margin: 0;
            font-size: clamp(24px, 3.3vw, 64px);
            font-weight: 700;
            line-height: 1.32;
            letter-spacing: 0.02em;
            text-transform: uppercase;
            .rWord{
                display: inline-block;
                white-space: nowrap;
            }
            /* every letter starts faint; scroll fills it to solid white */
            .rChar{
                color: rgb(255 255 255 / 16%);
            }
        }
    }
    /* stats: four tall columns over the video, big count-up numbers */
    .bannerStats{
        position: absolute;
        inset: 0;
        z-index: 3;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        align-content: center;
        padding: 0 5vw;
        pointer-events: none;
        visibility: hidden;
        .statItem{
            position: relative;
            display: flex;
            flex-direction: column;
            padding: 28px 2.4vw 32px;
            /* hairline divider, drawn in from the top on scroll */
            &::before{
                content: "";
                position: absolute;
                left: 0;
                top: 0;
                bottom: 0;
                width: 1px;
                background: linear-gradient(180deg, rgb(255 255 255 / 45%), rgb(255 255 255 / 5%));
                transform-origin: 50% 0;
                transform: scaleY(var(--line, 1));
            }
        }
        .statIdx{
            font-family: "Space Mono", monospace;
            font-size: 13px;
            letter-spacing: 0.2em;
            color: #0075ff;
        }
        .statNum{
            display: flex;
            align-items: flex-start;
            margin: clamp(14px, 1.6vw, 28px) 0 clamp(16px, 1.8vw, 30px);
            font-family: "Montserrat", sans-serif;
            font-weight: 800;
            font-size: clamp(64px, 8vw, 168px);
            line-height: 0.9;
            letter-spacing: -0.03em;
            color: #fff;
            font-variant-numeric: tabular-nums;
            .statPlus{
                font-size: 0.5em;
                line-height: 1;
                margin-left: 0.06em;
                color: #0075ff;
            }
        }
        .statLabel{
            font-family: "Space Mono", monospace;
            font-size: 13px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgb(255 255 255 / 70%);
            padding-top: 16px;
            border-top: 1px solid rgb(255 255 255 / 14%);
            max-width: 240px;
        }
    }
}
/* social links pinned to the banner's bottom-right corner */
.bannerWrap .bannerSocial{
    position: absolute;
    right: clamp(20px, 2.6vw, 48px);
    bottom: clamp(22px, 3vh, 40px);
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 10px;
    span{
        display: flex;
        align-items: center;
        height: 40px; /* same box as the icons, text centred inside it */
        margin-right: 8px;
        padding-top: 1px; /* caps sit a touch high in this face */
        font-family: "Space Mono", monospace;
        font-size: 11px;
        line-height: 1;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 50%);
    }
    a{
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid rgb(255 255 255 / 18%);
        font-size: 14px;
        color: #fff;
        text-decoration: none;
        transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
        &:hover{ background: #0075ff; border-color: #0075ff; color: #fff; transform: translateY(-4px); }
    }
    @media (max-width: 575px){
        right: 16px;
        bottom: 18px;
        gap: 8px;
        span{ display: none; }
        a{ width: 34px; height: 34px; font-size: 13px; }
    }
}
/* belt along the bottom of the stats screen */
.bannerWrap{
    .bannerStats{
        padding-bottom: clamp(90px, 16vh, 170px); /* lift the stats clear of the belt */
    }
    .bannerBelt{
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 4;
        display: block;
        padding: clamp(14px, 1.6vw, 26px) 0;
        border-top: 1px solid rgb(255 255 255 / 14%);
        border-bottom: 1px solid rgb(255 255 255 / 14%);
        background: rgb(0 0 0 / 35%);
        overflow: hidden;
        visibility: hidden;
        text-decoration: none;
        .beltTrack{
            display: flex;
            width: max-content;
            will-change: transform;
        }
        .beltGroup{
            display: flex;
            align-items: center;
            flex: 0 0 auto;
        }
        .beltText{
            font-family: "Archivo", "Montserrat", sans-serif;
            font-stretch: 125%;
            font-variation-settings: "wdth" 125;
            font-weight: 800;
            font-size: clamp(26px, 3.4vw, 64px);
            line-height: 1.1;
            text-transform: uppercase;
            white-space: nowrap;
            padding: 0 clamp(14px, 1.8vw, 34px);
            color: #0075ff;
            transition: color 0.4s ease;
            &.outline{
                color: transparent;
                -webkit-text-stroke: 1px rgb(255 255 255 / 55%);
            }
        }
        .beltStar{
            font-size: clamp(18px, 2vw, 36px);
            line-height: 1;
            color: #0075ff;
        }
        &:hover .beltText:not(.outline){ color: #fff; }
    }
}

@media (max-width: 991px){
    .bannerWrap .bannerStats{
        grid-template-columns: repeat(2, 1fr);
        row-gap: 20px;
        .statItem{ padding: 18px 4vw 22px; }
        .statNum{ font-size: clamp(56px, 13vw, 110px); }
        .statLabel{ font-size: 11px; letter-spacing: 0.15em; }
    }
}

@media (max-width: 575px){
    .bannerWrap .bannerBtns{
        flex-direction: column;
        gap: 12px;
        .bannerBtn{ height: 44px; font-size: 12px; }
    }
}

/* ---------------- banner scroll-down indicator ---------------- */
.bannerWrap .scrollDown{
    position: absolute;
    left: 50%;
    bottom: 38px;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background: transparent;
    cursor: pointer;
    .scrollMouse{
        width: 27px;
        height: 44px;
        border: 1.5px solid #ffffff59;
        border-radius: 20px;
        display: flex;
        justify-content: center;
        padding-top: 8px;
        transition: border-color 0.4s ease;
        .scrollWheel{
            width: 4px;
            height: 8px;
            border-radius: 4px;
            background: linear-gradient(180deg, #2472fc 0%, #8a5cf6 100%);
            animation: scrollWheelDrop 1.8s cubic-bezier(0.65, 0, 0.35, 1) infinite;
        }
    }
    .scrollText{
        font-size: 10px;
        letter-spacing: 4px;
        color: #9a9a9a;
        transition: color 0.4s ease;
    }
    &:hover{
        .scrollMouse{ border-color: #2472fc; }
        .scrollText{ color: #fff; }
    }
    &:focus-visible{
        outline: 1px solid #2472fc;
        outline-offset: 4px;
        border-radius: 8px;
    }
}
@keyframes scrollWheelDrop{
    0%{ transform: translateY(0); opacity: 1; }
    70%{ transform: translateY(16px); opacity: 0; }
    71%{ transform: translateY(-4px); opacity: 0; }
    100%{ transform: translateY(0); opacity: 1; }
}
@media (max-width: 767px){
    .bannerWrap .scrollDown{
        bottom: 22px;
        gap: 8px;
        .scrollMouse{ width: 22px; height: 36px; padding-top: 6px; }
        .scrollText{ font-size: 9px; letter-spacing: 3px; }
    }
}

/* ---------------- services: video box opens to full screen, cards fly out to the row ---------------- */
.svcWrap{
    height: 100vh;
    min-height: 560px;
    position: relative;
    background-color: #000;
    overflow: hidden;
    /* one card's side; the grid is sized so every card fits on one screen */
    --gap: 16px;
    --ratio: 1.6; /* card height / width — portrait */
    --card: min(calc((100vw - 48px - 5 * var(--gap)) / 6), calc((100vh - 220px) / var(--ratio)));
    .svcStage{
        position: absolute;
        inset: 0;
    }
    /* starts as a small box in the middle; gsap grows it to the full screen */
    .svcVideo{
        position: absolute;
        left: 50%;
        top: 50%;
        width: 24vw;
        height: 36vh;
        transform: translate(-50%, -50%);
        overflow: hidden;
        will-change: width, height;
        video{
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        .svcShade{
            position: absolute;
            inset: 0;
            background: rgb(0 0 0 / 55%);
            opacity: 0;
            pointer-events: none;
        }
    }
    .svcHead{
        position: absolute;
        inset: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: clamp(18px, 2.4vw, 44px);
        padding: 0 5vw;
        text-align: center;
        pointer-events: none;
        visibility: hidden;
        .svcTitle{
            margin: 0;
            font-family: "Montserrat", sans-serif;
            font-weight: 800;
            font-size: clamp(34px, 5vw, 104px);
            line-height: 1.02;
            letter-spacing: -0.01em;
            color: #fff;
        }
        .svcText{
            max-width: 800px;
            margin: 0;
            font-family: "Montserrat", sans-serif;
            font-weight: 500;
            font-size: clamp(14px, 1.1vw, 21px);
            line-height: 1.6;
            color: #fff;
        }
    }
    .svcGrid{
        position: absolute;
        inset: 0;
        z-index: 3;
        display: grid;
        grid-template-columns: repeat(6, var(--card));
        align-content: center;
        justify-content: center;
        gap: var(--gap);
        padding-top: 60px; /* clear of the fixed header */
        pointer-events: none;
    }
    /* full-width row under the cards, button centred */
    .svcMore{
        grid-column: 1 / -1;
        display: flex;
        justify-content: center;
        margin-top: clamp(10px, 1.2vw, 20px);
        visibility: hidden;
    }
    .svcMoreBtn{
        display: inline-flex;
        align-items: center;
        gap: 12px;
        height: 50px;
        padding: 0 32px;
        border-radius: 50px;
        background: #0075ff;
        font-family: "Space Mono", monospace;
        font-size: 13px;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        white-space: nowrap;
        color: #fff;
        text-decoration: none;
        pointer-events: auto;
        transition: background-color 0.35s ease, color 0.35s ease;
        span{
            display: inline-block;
            letter-spacing: 0;
            transition: transform 0.35s ease;
        }
        &:hover{
            background: #fff;
            color: #0b0b0b;
            span{ transform: translateX(5px); }
        }
        &:focus-visible{
            outline: 1px solid #0075ff;
            outline-offset: 4px;
        }
        @media (max-width: 767px){
            height: 44px;
            padding: 0 22px;
            font-size: 11px;
            letter-spacing: 0.16em;
        }
    }
    .svcCard{
        position: relative;
        width: var(--card);
        height: calc(var(--card) * var(--ratio));
        overflow: hidden;
        border: 1px solid rgb(255 255 255 / 14%);
        background: #0b0b0b;
        container-type: inline-size;
        visibility: hidden;
        /* incoming card stays under the ones already in place; gsap lifts it to 2 on landing */
        z-index: 1;
        will-change: transform, opacity;
        transition: border-color 0.45s ease;
        img{
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: var(--pos, 50%) 50%; /* per-card focus point, set on the img */
            transition: transform 1.1s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        /* once landed the copy sits on a dark top that melts into the picture,
           so the lower part of the image stays on show */
        &::after{
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgb(0 0 0 / 92%) 0%, rgb(0 0 0 / 78%) 42%, rgb(0 0 0 / 15%) 72%, rgb(0 0 0 / 70%) 100%);
            opacity: var(--shade, 0);
        }
        /* orange accent drawn across the top as the card lands */
        &::before{
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            z-index: 2;
            width: 100%;
            height: 3px;
            background: linear-gradient(90deg, #0075ff, #0075ff 60%, rgb(0 117 255 / 0%));
            transform-origin: 0 50%;
            transform: scaleX(var(--line, 0));
        }
        &:hover{
            border-color: rgb(0 117 255 / 70%);
            img{ transform: scale(1.08); }
            .svcBtn{ background: #0075ff; color: #fff; }
            .svcBtn span{ transform: rotate(45deg); background: #fff; color: #0075ff; }
        }
    }
    .svcBody{
        position: relative;
        z-index: 1;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 8cqw 8cqw 9cqw;
        font-family: "Montserrat", sans-serif;
        color: #fff;
        pointer-events: auto;
        .svcNum{
            display: flex;
            align-items: center;
            gap: 3cqw;
            width: 100%;
            margin-bottom: 7cqw;
            font-family: "Space Mono", monospace;
            font-size: 4.2cqw;
            letter-spacing: 0.15em;
            color: #0075ff;
            i{
                font-style: normal;
                color: rgb(255 255 255 / 40%);
            }
            /* hairline running out to the card edge */
            &::after{
                content: "";
                flex: 1;
                height: 1px;
                background: rgb(255 255 255 / 18%);
            }
        }
        h3{
            margin: 0 0 4.5cqw;
            font-family: "Montserrat", sans-serif;
            font-weight: 700;
            font-size: 8.6cqw;
            line-height: 1.12;
            color: #fff;
        }
        p{
            margin: 0 0 5cqw;
            font-family: "Montserrat", sans-serif;
            font-weight: 500;
            font-size: 4.7cqw;
            line-height: 1.5;
            color: rgb(255 255 255 / 82%);
        }
        .svcTags{
            display: flex;
            flex-wrap: wrap;
            gap: 2cqw;
            margin: 0;
            padding: 0;
            list-style: none;
            li{
                padding: 1.4cqw 3.2cqw;
                border: 1px solid rgb(255 255 255 / 22%);
                border-radius: 50px;
                font-family: "Space Mono", monospace;
                font-size: 3.3cqw;
                letter-spacing: 0.08em;
                text-transform: uppercase;
                color: rgb(255 255 255 / 80%);
                background: rgb(0 0 0 / 35%);
                backdrop-filter: blur(4px);
            }
        }
        .svcBtn{
            margin-top: auto;
            display: inline-flex;
            align-items: center;
            gap: 3cqw;
            padding: 1.6cqw 1.6cqw 1.6cqw 4.5cqw;
            border-radius: 50px;
            background: rgb(0 0 0 / 72%);
            border: 1px solid rgb(0 117 255 / 45%);
            font-size: 3.9cqw;
            font-weight: 500;
            white-space: nowrap;
            color: #0075ff;
            text-decoration: none;
            b{ font-weight: inherit; }
            transition: background-color 0.35s ease, color 0.35s ease;
            span{
                display: inline-grid;
                place-items: center;
                width: 7.5cqw;
                height: 7.5cqw;
                border-radius: 50%;
                background: #0075ff;
                color: #fff;
                transition: transform 0.35s ease, background-color 0.35s ease, color 0.35s ease;
            }
        }
    }
}
/* six across stops fitting below 1600px: 3 x 2, sized so both rows fit the screen */
@media (max-width: 1599px){
    .svcWrap{
        --ratio: 1.15; /* two rows plus the button have to fit the height, so a little less tall */
        --card: min(calc((100vw - 80px - 2 * var(--gap)) / 3), calc((100vh - 220px - var(--gap)) / 2 / var(--ratio)));
        .svcGrid{ grid-template-columns: repeat(3, var(--card)); }
    }
}
/* phones: 2 x 3, the description drops out */
@media (max-width: 767px){
    .svcWrap{
        --gap: 10px;
        --ratio: 1.1;
        --card: min(calc((100vw - 32px - var(--gap)) / 2), calc((100vh - 170px - 2 * var(--gap)) / 3 / var(--ratio)));
        .svcVideo{ width: 60vw; height: 30vh; }
        .svcGrid{ grid-template-columns: repeat(2, var(--card)); }
        .svcBody{
            padding: 8cqw;
            .svcNum{ font-size: 6cqw; margin-bottom: 6cqw; }
            h3{ font-size: 10cqw; }
            p, .svcTags{ display: none; }
            .svcBtn{
                font-size: 6.5cqw;
                padding: 2.5cqw 2.5cqw 2.5cqw 5cqw;
                span{ width: 10cqw; height: 10cqw; }
                /* full labels don't fit a phone card — just "Explore" */
                b{ display: none; }
                &::before{ content: "Explore"; }
            }
        }
    }
}

/* ---------------- industries strip: three endless rows ---------------- */
.indWrap{
    position: relative;
    background: #0c0b0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
    overflow: hidden;
    .indRow{
        border-bottom: 1px solid rgb(255 255 255 / 8%);
        padding: clamp(14px, 1.5vw, 24px) 0;
    }
    .indTrack{
        display: flex;
        width: max-content;
        will-change: transform;
    }
    .indGroup{
        display: flex;
        align-items: center;
        flex: 0 0 auto;
    }
    .indItem{
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(20px, 1.9vw, 36px);
        line-height: 1.1;
        text-transform: uppercase;
        white-space: nowrap;
        color: #b9b3a8;
        text-decoration: none;
        transition: color 0.3s ease;
    }
    .indDot{
        flex: 0 0 auto;
        width: clamp(8px, 0.6vw, 11px);
        height: clamp(8px, 0.6vw, 11px);
        margin: 0 clamp(22px, 1.9vw, 36px);
        border-radius: 50%;
        background: #0075ff;
    }
    .outline .indItem{
        color: transparent;
        -webkit-text-stroke: 1px rgb(241 237 228 / 45%);
    }
    .indMore{
        color: #0075ff;
        &:hover{ color: #fff; }
    }
}

/* ---------------- who we are: same video-box opening as services, then the copy ---------------- */
.wwaWrap{
    height: 100vh;
    min-height: 560px;
    position: relative;
    background-color: #000;
    overflow: hidden; /* the video box grows inside the section while it scrolls in */
    .wwaStage{
        position: absolute;
        inset: 0;
    }
    .wwaVideo{
        position: absolute;
        left: 50%;
        top: 50%;
        width: 24vw;
        height: 36vh;
        transform: translate(-50%, -50%);
        overflow: hidden;
        will-change: width, height;
        video{
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
        /* black layer over the full-screen video so the copy reads */
        .wwaShade{
            position: absolute;
            inset: 0;
            background: rgb(0 0 0 / 68%);
            opacity: 0;
            pointer-events: none;
        }
    }
    .wwaCont{
        position: absolute;
        inset: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: clamp(20px, 2.6vw, 48px);
        padding: 80px 5vw 0;
        text-align: center;
        pointer-events: none;
        visibility: hidden;
    }
    .wwaTitle{
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(30px, min(4.6vw, 8.4vh), 96px);
        line-height: 1.02;
        letter-spacing: -0.01em;
        color: #fff;
        /* each line rises through its own mask */
        .wwaLine{
            display: block;
            overflow: hidden;
            padding-bottom: 0.06em; /* room for descenders inside the mask */
        }
        .wwaIn{
            display: block;
            will-change: transform;
        }
        em{
            font-style: normal;
            color: #0075ff;
        }
    }
    .wwaText{
        max-width: 1500px;
        p{
            margin: 0 auto;
            max-width: 1450px;
            font-family: "Montserrat", sans-serif;
            font-weight: 500;
            font-size: clamp(13px, min(1.05vw, 2vh), 20px);
            line-height: 1.5;
            color: #fff;
            & + p{ margin-top: 1.1em; }
        }
    }
}
/* text and stats share a grid: on desktop the stats are a second row, on phones
   they sit in the same cell and replace the text (see custom-home.js) */
.wwaWrap{
    .wwaBody{
        display: grid;
        justify-items: center;
        gap: clamp(20px, 2.6vw, 44px);
        width: 100%;
    }
    .wwaStats{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        width: min(100%, 1400px);
        border: 1px solid rgb(255 255 255 / 12%);
        background: rgb(10 10 10 / 55%);
        backdrop-filter: blur(6px);
        text-align: left;
        visibility: hidden;
    }
    .wwaStat{
        position: relative;
        padding: clamp(18px, 2vw, 36px) clamp(18px, 2.4vw, 40px);
        & + .wwaStat{ border-left: 1px solid rgb(255 255 255 / 12%); }
    }
    .wwaNum{
        display: flex;
        align-items: baseline;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(34px, min(3.8vw, 7vh), 76px);
        line-height: 1;
        letter-spacing: -0.02em;
        color: #f1ede4;
        font-variant-numeric: tabular-nums;
        em{
            font-style: normal;
            color: #0075ff;
        }
    }
    .wwaLabel{
        display: block;
        margin-top: clamp(10px, 1vw, 18px);
        font-family: "Space Mono", monospace;
        font-size: clamp(10px, 0.7vw, 13px);
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
    }
}
@media (max-width: 767px){
    .wwaWrap{
        .wwaBody{ grid-template-areas: "only"; }
        .wwaText,
        .wwaStats{ grid-area: only; align-self: center; }
        .wwaStats{ grid-template-columns: repeat(2, 1fr); }
        .wwaStat:nth-child(3){ border-left: 0; }
        .wwaStat:nth-child(n + 3){ border-top: 1px solid rgb(255 255 255 / 12%); }
        .wwaNum{ font-size: 40px; }
        .wwaLabel{ font-size: 10px; }
    }
}
@media (max-width: 767px){
    .wwaWrap{
        .wwaVideo{ width: 60vw; height: 30vh; }
        .wwaCont{ padding-top: 60px; }
        .wwaText p{ font-size: 13px; }
    }
}

/* ---------------- markets: headline left, industries + locations lists right ---------------- */
.mktWrap{
    position: relative;
    background: #0a0a0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
    padding: clamp(80px, 9vw, 170px) clamp(20px, 5vw, 96px) clamp(50px, 5vw, 90px);
    .mktInner{
        display: grid;
        /* left column is exactly as wide as the two-line headline; the lists take the rest */
        grid-template-columns: max-content minmax(0, 1fr);
        gap: clamp(40px, 5vw, 100px);
        align-items: start;
        max-width: 1720px;
        margin: 0 auto;
    }
    .mktEyebrow{
        display: inline-flex;
        align-items: center;
        gap: 14px;
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 55%);
        &::before{
            content: "";
            width: 32px;
            height: 1px;
            background: #0075ff;
        }
    }
    .mktTitle{
        margin: clamp(18px, 2vw, 30px) 0 clamp(20px, 2.2vw, 34px);
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(34px, 3.6vw, 76px);
        line-height: 1.02;
        letter-spacing: -0.03em;
        color: #fff;
        .mktLine{
            display: block;
            overflow: hidden;
            padding-bottom: 0.06em; /* descenders stay inside the mask */
        }
        .mktIn{
            display: block;
            white-space: nowrap; /* two lines, as in the design */
            will-change: transform;
        }
        em{
            font-style: normal;
            color: #0075ff;
        }
    }
    .mktText{
        max-width: 420px;
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: clamp(15px, 1.05vw, 19px);
        line-height: 1.6;
        color: rgb(255 255 255 / 70%);
    }
    .mktLists{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(20px, 2vw, 36px);
    }
    .mktColHead{
        display: block;
        padding-bottom: 14px;
        font-family: "Space Mono", monospace;
        font-size: 11px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: #0075ff;
    }
    .mktList{
        margin: 0;
        padding: 0;
        list-style: none;
        border-top: 1px solid rgb(255 255 255 / 10%);
        li{
            position: relative;
            /* divider draws in from the left on scroll (--line set by gsap) */
            &::after{
                content: "";
                position: absolute;
                left: 0;
                right: 0;
                bottom: 0;
                height: 1px;
                background: rgb(255 255 255 / 22%);
                transform-origin: 0 50%;
                transform: scaleX(var(--line, 1));
            }
        }
    }
    .mktItem{
        position: relative;
        display: flex;
        align-items: center;
        gap: 16px;
        padding: clamp(18px, 1.7vw, 26px) 14px;
        overflow: hidden;
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: clamp(16px, 1.15vw, 21px);
        color: #fff;
        text-decoration: none;
        transition: opacity 0.35s ease, color 0.35s ease;
        /* tinted fill that sweeps in from the left on hover */
        &::before{
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgb(0 117 255 / 22%), rgb(0 117 255 / 4%));
            transform: scaleX(0);
            transform-origin: 0 50%;
            transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        i, span, b{ position: relative; } /* above the fill */
        i{
            flex: 0 0 auto;
            width: 22px;
            font-family: "Space Mono", monospace;
            font-size: 11px;
            font-style: normal;
            letter-spacing: 0.1em;
            color: rgb(241 237 228 / 40%);
            transition: color 0.35s ease;
        }
        span{
            flex: 1 1 auto;
            transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        /* arrow: becomes a filled blue circle and turns on hover */
        b{
            flex: 0 0 auto;
            display: grid;
            place-items: center;
            width: 34px;
            height: 34px;
            border-radius: 50%;
            border: 1px solid rgb(255 255 255 / 18%);
            font-weight: 400;
            font-size: 14px;
            transition: background-color 0.35s ease, border-color 0.35s ease, transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        &.mktAll{
            span{ color: #0075ff; }
            i{ color: #0075ff; }
        }
        &:hover,
        &:focus-visible{
            &::before{ transform: scaleX(1); }
            i{ color: #0075ff; }
            span{ transform: translateX(10px); }
            b{
                background: #0075ff;
                border-color: #0075ff;
                transform: rotate(45deg);
            }
        }
        &:focus-visible{ outline: 1px solid #0075ff; outline-offset: -1px; }
    }
    /* the hovered row stays bright, the rest step back */
    .mktLists:has(.mktItem:hover) .mktItem:not(:hover){ opacity: 0.35; }
}
@media (max-width: 1199px){
    .mktWrap{
        .mktInner{ grid-template-columns: minmax(0, 1fr); }
        .mktTitle .mktIn{ white-space: normal; } /* stacked: let it wrap on narrow screens */
        .mktText{ max-width: 560px; }
    }
}
@media (max-width: 575px){
    .mktWrap{
        .mktLists{ grid-template-columns: 1fr; gap: 40px; }
    }
}

/* ---------------- why promotedge: big heading + four reason cards ---------------- */
.whyWrap{
    position: relative;
    background: #0a0a0a;
    padding: clamp(20px, 2.4vw, 44px) clamp(20px, 2.6vw, 48px) clamp(80px, 9vw, 170px);
    overflow: hidden; /* cards slide in from the right */
    .whyHead{
        text-align: center;
        margin-bottom: clamp(34px, 3.4vw, 64px);
    }
    .whyEyebrow{
        display: inline-flex;
        align-items: center;
        gap: 14px;
        margin-bottom: clamp(18px, 2vw, 34px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        i{
            font-style: normal;
            color: #0075ff;
        }
        /* short blue rules either side */
        &::before, &::after{
            content: "";
            width: 28px;
            height: 1px;
            background: #0075ff;
        }
    }
    /* small quiet line on top, one huge line below */
    .whyTitle{
        margin: 0;
        color: #f1ede4;
        text-transform: uppercase;
        .whyLine{
            display: block;
            overflow: hidden;
        }
        .whyIn{
            display: block;
            white-space: nowrap;
            will-change: transform;
        }
        .whyLine:first-child{
            margin-bottom: clamp(6px, 0.8vw, 14px);
            font-family: "Space Mono", monospace;
            font-weight: 400;
            font-size: clamp(13px, 1.2vw, 22px);
            letter-spacing: 0.32em;
            color: rgb(241 237 228 / 70%);
        }
        .whyLine:last-child{
            padding-bottom: 0.06em;
            font-family: "Archivo", "Montserrat", sans-serif;
            font-stretch: 125%;
            font-variation-settings: "wdth" 125;
            font-weight: 800;
            /* "ONE ROOF." is ~7em wide in this face; 12vw keeps it inside the screen */
            font-size: clamp(40px, min(12vw, 22vh), 190px);
            line-height: 0.9;
            letter-spacing: -0.02em;
        }
        em{
            font-style: normal;
            color: #0075ff;
        }
    }
    .whyGrid{
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        border: 1px solid rgb(255 255 255 / 12%);
    }
    .whyCard{
        position: relative;
        padding: clamp(28px, 2.4vw, 44px) clamp(22px, 2vw, 36px) clamp(34px, 2.8vw, 52px);
        background: #0d0d0d;
        transition: background-color 0.45s ease;
        will-change: transform, opacity, filter;
        & + .whyCard{ border-left: 1px solid rgb(255 255 255 / 12%); }
        /* blue line that draws across the top on hover */
        &::before{
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: -1px;
            height: 2px;
            background: #0075ff;
            transform: scaleX(0);
            transform-origin: 0 50%;
            transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        h3{
            margin: clamp(20px, 1.8vw, 30px) 0 14px;
            font-family: "Archivo", "Montserrat", sans-serif;
            font-stretch: 125%;
            font-variation-settings: "wdth" 125;
            font-weight: 800;
            font-size: clamp(17px, 1.25vw, 23px);
            line-height: 1.2;
            text-transform: uppercase;
            color: #f1ede4;
        }
        p{
            margin: 0;
            font-family: "Montserrat", sans-serif;
            font-weight: 500;
            font-size: clamp(14px, 0.9vw, 16px);
            line-height: 1.65;
            color: rgb(241 237 228 / 60%);
        }
        &:hover{
            background: #121418;
            &::before{ transform: scaleX(1); }
            .whyNum{ transform: scale(1.1) rotate(-8deg); box-shadow: 0 0 0 8px rgb(0 117 255 / 14%); }
        }
    }
    /* number sits in a solid blue circle */
    .whyNum{
        display: inline-grid;
        place-items: center;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: #0075ff;
        font-family: "Space Mono", monospace;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.04em;
        color: #fff;
        transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.45s ease;
    }
}
@media (max-width: 1199px){
    .whyWrap{
        .whyGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .whyCard:nth-child(3){ border-left: 0; }
        .whyCard:nth-child(n + 3){ border-top: 1px solid rgb(255 255 255 / 12%); }
    }
}
@media (max-width: 575px){
    .whyWrap{
        .whyGrid{ grid-template-columns: 1fr; }
        .whyCard + .whyCard{ border-left: 0; border-top: 1px solid rgb(255 255 255 / 12%); }
    }
}

/* ---------------- recent work: pinned horizontal reel ---------------- */
.workWrap{
    position: relative;
    background: #050505;
    border-top: 1px solid rgb(255 255 255 / 8%);
    --pad: clamp(20px, 2.6vw, 48px);
    .workStage{
        height: 100vh;
        min-height: 620px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: clamp(22px, 3vh, 40px);
        overflow: hidden;
    }
    .workHead{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 24px;
        padding: 80px var(--pad) 0;
    }
    .workEyebrow{
        display: block;
        margin-bottom: clamp(12px, 1.4vw, 22px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        i{ font-style: normal; margin-right: 10px; color: #0075ff; }
    }
    .workTitle{
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(34px, min(4.6vw, 9vh), 88px);
        line-height: 1;
        letter-spacing: -0.03em;
        color: #fff;
        .workLine{ display: block; overflow: hidden; padding-bottom: 0.08em; }
        .workIn{ display: block; white-space: nowrap; will-change: transform; }
        em{ font-style: normal; color: #0075ff; }
    }
    /* counter + thin bar that fills as the reel rolls */
    .workProg{
        flex: 0 0 auto;
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 45%);
        text-align: right;
        .workIdx{ color: #0075ff; }
        .workBar{
            display: block;
            width: clamp(140px, 16vw, 260px);
            height: 2px;
            margin: 14px 0 0 auto;
            background: rgb(255 255 255 / 12%);
            overflow: hidden;
        }
        .workBarFill{
            display: block;
            height: 100%;
            background: #0075ff;
            transform-origin: 0 50%;
            transform: scaleX(0);
        }
    }
    .workTrack{
        display: flex;
        align-items: center;
        gap: clamp(18px, 2.6vw, 42px);
        width: max-content;
        padding: 0 var(--pad);
        will-change: transform;
    }
    /* cards: three widths, like a reel of mixed frames */
    .workCard{
        flex: 0 0 auto;
        width: clamp(260px, 26vw, 400px);
        text-decoration: none;
        color: #fff;
        transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
        &.tall{ width: clamp(230px, 21vw, 330px); }
        &.wide{ width: clamp(340px, 38vw, 560px); }
        &:hover{ transform: translateY(-12px); }
        &:hover .workPoster img{ transform: scale(1.06); filter: grayscale(0) brightness(0.9); }
        &:hover .workBig{ transform: scale(1.06) rotate(-2deg); }
        &:hover .workMeta span{ color: #0075ff; }
    }
    .workPoster{
        position: relative;
        display: grid;
        container-type: inline-size; /* the big word sizes itself to the poster */
        aspect-ratio: 4 / 5;
        overflow: hidden;
        border: 1px solid rgb(255 255 255 / 12%);
        background: #0d0d0d;
        img{
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: grayscale(0.3) brightness(0.72);
            transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.7s ease;
            will-change: transform;
        }
        /* blue glow at the top corner + faint scanlines, so the photo reads as a poster */
        &::after{
            content: "";
            position: absolute;
            inset: 0;
            background:
                radial-gradient(120% 90% at 85% 12%, rgb(0 117 255 / 22%), transparent 55%),
                repeating-linear-gradient(0deg, transparent 0 5px, rgb(242 237 227 / 2%) 5px 6px);
            pointer-events: none;
        }
    }
    .wide .workPoster{ aspect-ratio: 16 / 10; }
    .workChip{
        position: absolute;
        z-index: 2;
        top: 16px;
        left: 16px;
        padding: 7px 14px;
        border: 1px solid rgb(255 255 255 / 22%);
        border-radius: 50px;
        background: rgb(0 0 0 / 40%);
        backdrop-filter: blur(4px);
        font-family: "Space Mono", monospace;
        font-size: 10px;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 80%);
    }
    /* huge brand word, centred over the photo */
    .workBig{
        position: relative;
        z-index: 1;
        place-self: center;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        /* never wider than the poster: up to ~0.9em per letter in this face, --n letters (set per card) */
        font-size: min(clamp(56px, 6.4vw, 110px), calc(100cqw / var(--n, 6)));
        line-height: 0.85;
        letter-spacing: -0.03em;
        text-transform: uppercase;
        color: #0075ff;
        opacity: 0.94;
        transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .alt .workBig{ color: #f1ede4; }
    .workRes{
        position: absolute;
        z-index: 2;
        left: 16px;
        bottom: 16px;
        display: grid;
        gap: 4px;
        b{
            font-family: "Space Mono", monospace;
            font-weight: 400;
            font-size: clamp(18px, 1.6vw, 26px);
            color: #fff;
        }
        small{
            font-family: "Space Mono", monospace;
            font-size: 9.5px;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: rgb(241 237 228 / 65%);
        }
    }
    .workMeta{
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 16px;
        padding-top: 16px;
        span{
            font-family: "Archivo", "Montserrat", sans-serif;
            font-stretch: 125%;
            font-variation-settings: "wdth" 125;
            font-weight: 800;
            font-size: clamp(15px, 1.2vw, 22px);
            text-transform: uppercase;
            transition: color 0.35s ease;
        }
        small{
            font-family: "Space Mono", monospace;
            font-size: 11px;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: rgb(241 237 228 / 45%);
        }
    }
    /* closing panel at the end of the reel */
    .workEnd{
        flex: 0 0 auto;
        width: clamp(300px, 30vw, 460px);
        padding-left: clamp(20px, 3vw, 60px);
        p{
            margin: 0 0 28px;
            font-family: "Montserrat", sans-serif;
            font-weight: 500;
            font-size: clamp(16px, 1.25vw, 22px);
            line-height: 1.5;
            color: rgb(255 255 255 / 80%);
        }
    }
    .workBtn{
        display: inline-flex;
        align-items: center;
        gap: 12px;
        height: 50px;
        padding: 0 30px;
        border-radius: 50px;
        background: #0075ff;
        font-family: "Space Mono", monospace;
        font-size: 13px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: #fff;
        text-decoration: none;
        transition: background-color 0.35s ease;
        span{ transition: transform 0.35s ease; }
        &:hover{ background: #fff; }
        &:hover span{ transform: translateX(5px); }
    }
    .workMore{
        display: inline-block;
        margin: 22px 0 0 4px;
        padding-bottom: 4px;
        border-bottom: 1px solid rgb(241 237 228 / 40%);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 70%);
        text-decoration: none;
        transition: color 0.3s ease, border-color 0.3s ease;
        &:hover{ color: #0075ff; border-color: #0075ff; }
    }
}
@media (max-width: 767px){
    /* phones: no pin — a native swipe row with snap points */
    .workWrap{
        .workStage{ height: auto; min-height: 0; padding-bottom: 60px; }
        .workHead{ flex-direction: column; align-items: flex-start; padding-top: 60px; }
        .workProg{ text-align: left; .workBar{ margin-left: 0; } .workHint{ display: none; } }
        .workTrack{
            width: auto;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scroll-padding-left: var(--pad); /* snap keeps the side padding */
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            &::-webkit-scrollbar{ display: none; }
        }
        .workCard, .workEnd{ scroll-snap-align: start; }
        .workCard{ width: 76vw; &.tall{ width: 64vw; } &.wide{ width: 84vw; } }
        .workBig{ font-size: min(15vw, calc(100cqw / var(--n, 6))); }
    }
}

/* ---------------- how we work: heading + four numbered step rows ---------------- */
.howWrap{
    position: relative;
    background: #0a0a0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
    padding: clamp(70px, 8vw, 150px) clamp(20px, 2.6vw, 48px) clamp(80px, 9vw, 170px);
    .howEyebrow{
        display: inline-flex;
        align-items: center;
        gap: 14px;
        margin-bottom: clamp(18px, 2vw, 32px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        &::before{ content: ""; width: 32px; height: 1px; background: #0075ff; }
    }
    .howTitle{
        margin: 0 0 clamp(18px, 2vw, 30px);
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        /* "SUSTENANCE BEATS SPIKES." is ~18.7em wide; keep it on one line up to 150px */
        font-size: clamp(30px, calc((100vw - 96px) / 18.9), 150px);
        line-height: 0.92;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        color: #f1ede4;
        .howLine{ display: block; overflow: hidden; padding-bottom: 0.06em; }
        .howIn{ display: block; white-space: nowrap; will-change: transform; }
        em{ font-style: normal; color: #0075ff; }
    }
    .howText{
        max-width: 560px;
        margin: 0 0 clamp(40px, 5vw, 90px);
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: clamp(15px, 1.05vw, 19px);
        line-height: 1.6;
        color: rgb(255 255 255 / 70%);
    }
    .howList{
        position: relative;
        margin: 0;
        padding: 0;
        list-style: none;
        border-top: 1px solid rgb(255 255 255 / 40%);
    }
    /* thin rail down the left that fills blue as the steps scroll past */
    .howRail{
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 2px;
        background: rgb(255 255 255 / 8%);
        .howRailFill{
            display: block;
            width: 100%;
            height: 100%;
            background: #0075ff;
            transform-origin: 50% 0;
            transform: scaleY(0);
        }
    }
    .howStep{
        position: relative;
        display: grid;
        grid-template-columns: 90px minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: 0 clamp(24px, 4vw, 80px);
        padding: clamp(28px, 3vw, 54px) 24px clamp(28px, 3vw, 54px) 0;
        overflow: hidden;
        transition: opacity 0.35s ease;
        /* divider, drawn in from the left on scroll */
        &::after{
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 1px;
            background: rgb(255 255 255 / 18%);
            transform-origin: 0 50%;
            transform: scaleX(var(--line, 1));
        }
        /* tint that sweeps across on hover */
        &::before{
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgb(0 117 255 / 18%), rgb(0 117 255 / 0%) 70%);
            transform: scaleX(0);
            transform-origin: 0 50%;
            transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        > *{ position: relative; }
        .howNum{
            justify-self: center;
            font-family: "Space Mono", monospace;
            font-size: 13px;
            letter-spacing: 0.1em;
            color: #0075ff;
        }
        h3{
            margin: 0;
            font-family: "Archivo", "Montserrat", sans-serif;
            font-stretch: 125%;
            font-variation-settings: "wdth" 125;
            font-weight: 800;
            font-size: clamp(24px, 2.6vw, 50px);
            line-height: 1;
            letter-spacing: -0.02em;
            text-transform: uppercase;
            color: #f1ede4;
            transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), color 0.35s ease;
        }
        p{
            max-width: 620px;
            margin: 0;
            font-family: "Montserrat", sans-serif;
            font-weight: 500;
            font-size: clamp(15px, 1.05vw, 19px);
            line-height: 1.6;
            color: rgb(255 255 255 / 70%);
        }
        &:hover{
            &::before{ transform: scaleX(1); }
            h3{ transform: translateX(12px); color: #fff; }
        }
    }
    .howList:has(.howStep:hover) .howStep:not(:hover){ opacity: 0.4; }
}
@media (max-width: 991px){
    .howWrap{
        .howTitle .howIn{ white-space: normal; }
        .howTitle{ font-size: clamp(34px, 8vw, 90px); }
        .howStep{
            grid-template-columns: 56px minmax(0, 1fr);
            row-gap: 12px;
            p{ grid-column: 2; }
        }
    }
}

/* ---------------- testimonials: client list left, active quote right ---------------- */
.voxWrap{
    position: relative;
    background: #050505;
    border-top: 1px solid rgb(255 255 255 / 8%);
    padding: clamp(70px, 8vw, 150px) clamp(20px, 2.6vw, 48px) clamp(80px, 9vw, 170px);
    overflow: hidden;
    /* giant faint quotation mark behind everything */
    .voxMark{
        position: absolute;
        right: -0.05em;
        top: -0.12em;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(300px, 40vw, 760px);
        line-height: 1;
        color: rgb(0 117 255 / 7%);
        pointer-events: none;
        user-select: none;
    }
    .voxHead{ position: relative; margin-bottom: clamp(40px, 5vw, 90px); }
    .voxEyebrow{
        display: block;
        margin-bottom: clamp(14px, 1.6vw, 26px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        i{ font-style: normal; margin-right: 10px; color: #0075ff; }
    }
    .voxTitle{
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(34px, 4.4vw, 84px);
        line-height: 1.02;
        letter-spacing: -0.03em;
        color: #fff;
        .voxLine{ display: block; overflow: hidden; padding-bottom: 0.06em; }
        .voxIn{ display: block; will-change: transform; }
        em{ font-style: normal; color: #0075ff; }
    }
    .voxBody{
        position: relative;
        display: grid;
        grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.4fr);
        gap: clamp(40px, 6vw, 120px);
        align-items: start;
    }
    /* ---- client list ---- */
    .voxList{
        margin: 0;
        padding: 0;
        list-style: none;
        border-top: 1px solid rgb(255 255 255 / 12%);
    }
    .voxTab{
        position: relative;
        display: flex;
        align-items: center;
        gap: 16px;
        width: 100%;
        padding: 18px 12px 18px 0;
        border: 0;
        border-bottom: 1px solid rgb(255 255 255 / 12%);
        background: none;
        text-align: left;
        color: rgb(255 255 255 / 55%);
        cursor: pointer;
        overflow: hidden;
        transition: color 0.35s ease, padding-left 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
        &::before{
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgb(0 117 255 / 16%), rgb(0 117 255 / 0%) 80%);
            transform: scaleX(0);
            transform-origin: 0 50%;
            transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        > *{ position: relative; }
        .voxAv{
            flex: 0 0 auto;
            display: grid;
            place-items: center;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            border: 1px solid rgb(255 255 255 / 18%);
            font-family: "Space Mono", monospace;
            font-size: 12px;
            letter-spacing: 0.06em;
            transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
        }
        .voxWho{
            display: grid;
            gap: 4px;
            font-family: "Montserrat", sans-serif;
            font-weight: 700;
            font-size: clamp(15px, 1.05vw, 19px);
            small{
                font-family: "Space Mono", monospace;
                font-weight: 400;
                font-size: 10.5px;
                letter-spacing: 0.08em;
                text-transform: uppercase;
                color: rgb(241 237 228 / 40%);
            }
        }
        /* the auto-advance timer runs along the bottom edge of the active row */
        .voxTimer{
            position: absolute;
            left: 0;
            right: 0;
            bottom: -1px;
            height: 2px;
            background: #0075ff;
            transform-origin: 0 50%;
            transform: scaleX(0);
        }
        &:hover{ color: #fff; }
        &.is-on{
            color: #fff;
            padding-left: 12px;
            &::before{ transform: scaleX(1); }
            .voxAv{ background: #0075ff; border-color: #0075ff; color: #fff; }
        }
        &:focus-visible{ outline: 1px solid #0075ff; outline-offset: -1px; }
    }
    /* ---- quote ---- */
    .voxStage{ position: relative; }
    .voxQuotes{
        position: relative;
        display: grid;
    }
    .voxQuote{
        grid-area: 1 / 1; /* stacked: one visible at a time */
        margin: 0;
        visibility: hidden;
        &.is-on{ visibility: visible; }
        .voxStars{
            display: block;
            margin-bottom: clamp(18px, 2vw, 30px);
            font-size: 16px;
            letter-spacing: 0.3em;
            color: #0075ff;
        }
        blockquote{
            margin: 0 0 clamp(26px, 2.6vw, 44px);
            font-family: "Montserrat", sans-serif;
            font-weight: 500;
            font-size: clamp(20px, 2vw, 38px);
            line-height: 1.35;
            letter-spacing: -0.01em;
            color: #fff;
            .w{ display: inline-block; }
        }
        figcaption{
            display: grid;
            gap: 6px;
            padding-left: 22px;
            border-left: 2px solid #0075ff;
            font-family: "Montserrat", sans-serif;
            font-weight: 700;
            font-size: 15px;
            color: #fff;
            small{
                font-family: "Space Mono", monospace;
                font-weight: 400;
                font-size: 11px;
                letter-spacing: 0.1em;
                text-transform: uppercase;
                color: rgb(241 237 228 / 50%);
            }
        }
    }
    .voxNav{
        display: flex;
        align-items: center;
        gap: 12px;
        margin-top: clamp(30px, 3vw, 50px);
        button{
            display: grid;
            place-items: center;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            border: 1px solid rgb(255 255 255 / 18%);
            background: none;
            font-size: 18px;
            color: #fff;
            cursor: pointer;
            transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
            &:hover{ background: #0075ff; border-color: #0075ff; color: #fff; }
        }
        .voxCount{
            margin-left: 10px;
            font-family: "Space Mono", monospace;
            font-size: 12px;
            letter-spacing: 0.2em;
            color: rgb(241 237 228 / 45%);
            b{ font-weight: 400; color: #0075ff; }
        }
    }
}
@media (max-width: 991px){
    .voxWrap{
        .voxBody{ grid-template-columns: 1fr; gap: 36px; }
        /* names become a swipeable row of chips above the quote */
        .voxList{
            display: flex;
            gap: 10px;
            border-top: 0;
            overflow-x: auto;
            scrollbar-width: none;
            padding-bottom: 4px;
            &::-webkit-scrollbar{ display: none; }
            li{ flex: 0 0 auto; }
        }
        .voxTab{
            width: auto;
            padding: 8px 16px 8px 8px;
            border: 1px solid rgb(255 255 255 / 14%);
            border-radius: 50px;
            .voxAv{ width: 34px; height: 34px; font-size: 11px; }
            .voxWho{ font-size: 14px; small{ display: none; } }
            .voxTimer{ display: none; }
            &.is-on{ padding-left: 8px; border-color: #0075ff; }
        }
    }
}

/* ---------------- clients: pinned stage, cream logo tiles scattered by the scroll ---------------- */
.cliWrap{
    position: relative;
    background: #0a0a0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
    overflow: hidden;
    .cliGlow{
        position: absolute;
        inset: 0;
        background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgb(0 117 255 / 12%), transparent 60%);
        opacity: 0;
        transition: opacity 0.6s ease;
        pointer-events: none;
    }
    &:hover .cliGlow{ opacity: 1; }
    .cliStage{
        position: relative;
        height: 100vh;
        min-height: 560px;
    }
    /* heading sits dead centre of the stage; the tiles burst out over it */
    .cliHead{
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 1;
        width: min(92vw, 1100px);
        transform: translate(-50%, -50%);
        text-align: center;
        pointer-events: none;
        will-change: transform, opacity, filter;
    }
    .cliEyebrow{
        display: inline-flex;
        align-items: center;
        gap: 14px;
        margin-bottom: clamp(14px, 1.6vw, 26px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        i{ font-style: normal; color: #0075ff; }
        &::before, &::after{ content: ""; width: 28px; height: 1px; background: #0075ff; }
    }
    .cliTitle{
        margin: 0 0 clamp(12px, 1.4vw, 22px);
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(32px, 4.6vw, 88px);
        line-height: 1.02;
        letter-spacing: -0.03em;
        color: #fff;
        em{ font-style: normal; color: #0075ff; }
    }
    .cliText{
        margin: 0;
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 45%);
    }
    /* tiles: absolutely placed by js (left/top/width), animated by the scroll */
    .cliTile{
        position: absolute;
        z-index: 2;
        aspect-ratio: 324 / 188;
        visibility: hidden;
        will-change: transform, opacity;
    }
    .cliIn{
        display: grid;
        place-items: center;
        width: 100%;
        height: 100%;
        padding: 9%;
        border-radius: clamp(8px, 0.9vw, 14px);
        background: #f1ede4;
        box-shadow: 0 10px 30px rgb(0 0 0 / 35%);
        transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.45s ease;
        img{
            width: 100%;
            height: 100%;
            object-fit: contain;
            transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
    }
    .cliTile:hover{
        z-index: 3;
        .cliIn{
            transform: translateY(-8px) rotate(-2deg) scale(1.06);
            box-shadow: 0 22px 44px rgb(0 0 0 / 50%), 0 0 0 4px rgb(0 117 255 / 35%);
        }
        img{ transform: scale(1.08); }
    }
}
@media (max-width: 767px){
    .cliWrap{
        .cliGlow{ display: none; }
        .cliHead{ width: 92vw; }
    }
}

/* ---------------- crew: big statement, copy + stats, dotted ticker ---------------- */
.crewWrap{
    position: relative;
    background: #0a0a0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
    padding: clamp(70px, 8vw, 150px) clamp(20px, 2.6vw, 48px) 0;
    overflow: hidden;
    .crewEyebrow{
        display: inline-flex;
        align-items: center;
        gap: 14px;
        margin-bottom: clamp(18px, 2vw, 32px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        &::before{ content: ""; width: 32px; height: 1px; background: #0075ff; }
    }
    .crewTitle{
        margin: 0 0 clamp(28px, 3.4vw, 60px);
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        /* longest line "CREATIVE. NOT SERIOUS" ~16.5em; leave air on the right like the design */
        font-size: clamp(30px, calc((100vw - 96px) / 19.5), 150px);
        line-height: 0.92;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        color: #f1ede4;
        .crewLine{ display: block; overflow: hidden; padding-bottom: 0.06em; }
        .crewIn{ display: block; white-space: nowrap; will-change: transform; }
        em{ font-style: normal; color: #0075ff; }
        /* words (split by js) flip to outline + glow on hover */
        .tw{
            display: inline-block;
            transition: color 0.35s ease, -webkit-text-stroke-color 0.35s ease, text-shadow 0.35s ease, transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
            -webkit-text-stroke: 1.5px transparent;
            cursor: default;
            &:hover{
                color: transparent;
                -webkit-text-stroke-color: currentColor;
                -webkit-text-stroke-color: #0075ff;
                text-shadow: 0 0 34px rgb(0 117 255 / 45%);
                transform: translateY(-0.04em) skewX(-4deg);
            }
        }
    }
    .crewRow{
        display: grid;
        grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
        align-items: end;
        gap: clamp(30px, 5vw, 100px);
        padding-bottom: clamp(30px, 3.4vw, 56px);
    }
    .crewText{
        max-width: 620px;
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: clamp(15px, 1.15vw, 21px);
        line-height: 1.6;
        color: rgb(255 255 255 / 72%);
    }
    .crewMeta{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 12px;
        margin: 0;
        padding-left: clamp(0px, 4vw, 90px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 55%);
        b{ font-weight: 400; color: #f1ede4; font-variant-numeric: tabular-nums; }
        i{ font-style: normal; color: #0075ff; }
    }
    /* endless ticker; direction follows the scroll (js) and it crawls on hover */
    .crewTicker{
        border-top: 1px solid rgb(255 255 255 / 12%);
        border-bottom: 1px solid rgb(255 255 255 / 12%);
        padding: 18px 0;
        overflow: hidden;
    }
    .crewTrack{
        display: flex;
        width: max-content;
        will-change: transform;
    }
    .crewGroup{ display: flex; align-items: center; flex: 0 0 auto; }
    .crewWord{
        padding: 0 clamp(18px, 2vw, 36px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 70%);
        transition: color 0.3s ease;
        &:hover{ color: #0075ff; }
    }
    .crewDot{
        flex: 0 0 auto;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #0075ff;
    }
}
@media (max-width: 991px){
    .crewWrap{
        .crewTitle{ font-size: clamp(32px, 9vw, 96px); .crewIn{ white-space: normal; } }
        .crewRow{ grid-template-columns: 1fr; gap: 24px; }
        .crewMeta{ padding-left: 0; }
    }
}

/* ---------------- cta + faq: sticky call to action left, accordion right ---------------- */
.ctaWrap{
    position: relative;
    background: #050505;
    border-top: 1px solid rgb(255 255 255 / 8%);
    padding: clamp(70px, 8vw, 150px) clamp(20px, 2.6vw, 48px) clamp(80px, 9vw, 170px);
    .ctaInner{
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
        gap: clamp(40px, 6vw, 120px);
        align-items: start;
    }
    /* ---- left: cta, stays put while the questions scroll past ---- */
    .ctaSide{
        position: sticky;
        top: 120px;
    }
    .ctaEyebrow{
        display: inline-flex;
        align-items: center;
        gap: 14px;
        margin-bottom: clamp(18px, 2vw, 32px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        &::before{ content: ""; width: 32px; height: 1px; background: #0075ff; }
    }
    .ctaTitle{
        margin: 0 0 clamp(28px, 3vw, 50px);
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        /* "LET'S MOVE IT." ~11em: fits the column at any width */
        font-size: clamp(38px, calc((52vw - 60px) / 11.4), 150px);
        line-height: 0.92;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        color: #f1ede4;
        .ctaLine{ display: block; overflow: hidden; padding-bottom: 0.06em; }
        .ctaIn{ display: block; white-space: nowrap; will-change: transform; }
        /* second line is a blue outline that fills solid when you hover the heading */
        .outline{
            color: transparent;
            -webkit-text-stroke: 2px #0075ff;
            transition: color 0.5s ease, text-shadow 0.5s ease;
        }
        &:hover .outline{ color: #0075ff; text-shadow: 0 0 40px rgb(0 117 255 / 35%); }
    }
    .ctaBtns{
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
    }
    .ctaBtn{
        display: inline-flex;
        align-items: center;
        gap: 10px;
        height: 52px;
        padding: 0 28px;
        border-radius: 50px;
        border: 1px solid rgb(255 255 255 / 18%);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        white-space: nowrap;
        color: #f1ede4;
        text-decoration: none;
        will-change: transform;
        transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
        span{ transition: transform 0.35s ease; }
        &:hover{ background: #f1ede4; border-color: #f1ede4; color: #0b0b0b; }
        &:hover span{ transform: translateX(5px); }
        &.solid{
            background: #0075ff;
            border-color: #0075ff;
            color: #fff;
            &:hover{ background: #fff; border-color: #fff; }
        }
    }
    /* ---- right: faq ---- */
    .faqTitle{
        margin: 0 0 clamp(20px, 2.2vw, 36px);
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(28px, 2.8vw, 54px);
        line-height: 1;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        color: #f1ede4;
        em{ font-style: normal; color: #0075ff; }
    }
    .faqList{
        margin: 0;
        padding: 0;
        list-style: none;
        border-top: 1px solid rgb(255 255 255 / 40%);
    }
    .faqItem{
        position: relative;
        border-bottom: 1px solid rgb(255 255 255 / 18%);
        overflow: hidden;
        /* tint that sweeps across on hover / while open */
        &::before{
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgb(0 117 255 / 14%), rgb(0 117 255 / 0%) 70%);
            transform: scaleX(0);
            transform-origin: 0 50%;
            transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        &:hover::before, &.is-open::before{ transform: scaleX(1); }
    }
    .faqQ{
        position: relative;
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) 40px;
        align-items: center;
        gap: 14px;
        width: 100%;
        padding: clamp(18px, 1.8vw, 28px) 0;
        border: 0;
        background: none;
        text-align: left;
        color: #f1ede4;
        cursor: pointer;
        i{
            font-family: "Space Mono", monospace;
            font-style: normal;
            font-size: 11px;
            letter-spacing: 0.1em;
            color: #0075ff;
        }
        span{
            font-family: "Montserrat", sans-serif;
            font-weight: 600;
            font-size: clamp(16px, 1.15vw, 21px);
            line-height: 1.3;
            transition: color 0.35s ease, transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        /* plus sign drawn with two bars, turns into a minus when open */
        b{
            position: relative;
            justify-self: end;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            border: 1px solid rgb(255 255 255 / 18%);
            transition: background-color 0.35s ease, border-color 0.35s ease, transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
            &::before, &::after{
                content: "";
                position: absolute;
                left: 50%;
                top: 50%;
                width: 12px;
                height: 1.5px;
                background: #f1ede4;
                transform: translate(-50%, -50%);
                transition: background-color 0.35s ease, transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
            }
            &::after{ transform: translate(-50%, -50%) rotate(90deg); }
        }
        &:hover span{ color: #fff; transform: translateX(6px); }
        &:hover b{ border-color: #0075ff; }
        &:focus-visible{ outline: 1px solid #0075ff; outline-offset: -1px; }
    }
    .is-open .faqQ{
        span{ color: #0075ff; }
        b{
            background: #0075ff;
            border-color: #0075ff;
            transform: rotate(180deg);
            &::before, &::after{ background: #0b0b0b; }
            &::after{ transform: translate(-50%, -50%) rotate(0deg); }
        }
    }
    .faqA{
        position: relative;
        height: 0;
        overflow: hidden;
        p{
            max-width: 640px;
            margin: 0;
            padding: 0 40px clamp(22px, 2vw, 32px) 66px;
            font-family: "Montserrat", sans-serif;
            font-weight: 500;
            font-size: clamp(14px, 1vw, 18px);
            line-height: 1.65;
            color: rgb(255 255 255 / 70%);
        }
    }
}
@media (max-width: 991px){
    .ctaWrap{
        .ctaInner{ grid-template-columns: 1fr; gap: 56px; }
        .ctaSide{ position: static; }
        .ctaTitle{ font-size: clamp(38px, calc((100vw - 60px) / 11.4), 150px); }
    }
}
@media (max-width: 575px){
    .ctaWrap{
        .ctaTitle .ctaIn{ white-space: normal; }
        .ctaBtn{ height: 46px; padding: 0 20px; font-size: 11px; }
        .faqQ{ grid-template-columns: 44px minmax(0, 1fr) 32px; b{ width: 30px; height: 30px; } }
        .faqA p{ padding-left: 0; padding-right: 0; }
    }
}

/* ---------------- team: pile beside the heading fans out into a row ---------------- */
.pplWrap{
    position: relative;
    background: #050505;
    border-top: 1px solid rgb(255 255 255 / 8%);
    overflow-x: clip; /* the tilted photo pile can poke a couple of px past the edge before it fans out */
    .pplStage{
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 110px clamp(20px, 2.6vw, 48px) 60px;
    }
    .pplHead{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 40px;
        margin-bottom: clamp(36px, 4.5vh, 70px);
    }
    .pplEyebrow{
        display: block;
        margin-bottom: clamp(14px, 1.6vw, 24px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: #0075ff;
    }
    .pplTitle{
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(30px, min(3.6vw, 7vh), 68px);
        line-height: 1.05;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        color: #fff;
        .pplLine{ display: block; overflow: hidden; padding-bottom: 0.08em; }
        .pplIn{ display: block; white-space: nowrap; will-change: transform; }
    }
    /* the empty spot the photos are piled in before they fan out */
    .pplAnchor{ flex: 0 0 auto; width: 320px; height: 90px; }
    .pplRow{
        display: flex;
        justify-content: center;
        align-items: flex-start;
        gap: clamp(14px, 1.8vw, 28px);
        visibility: hidden; /* until the pin takes hold */
    }
    .pplCard{
        flex: 1 1 0;
        min-width: 0;
        /* caps the card so five plus their names always clear one screen */
        max-width: min(300px, calc((100vh - 360px) / 1.08));
        position: relative;
        will-change: transform;
        /* the whole card links to that person's profile on the team page */
        .pplHit{ position: absolute; inset: 0; z-index: 3; border-radius: 16px; }
        .pplHit:focus-visible{ outline: 2px solid #0075ff; outline-offset: 4px; }
        &:hover .pplPhoto img{ transform: scale(1.06); }
        &:hover .pplPhoto{ box-shadow: 0 18px 40px rgb(0 0 0 / 45%), 0 0 0 3px rgb(0 117 255 / 40%); }
        &:hover h3{ color: #0075ff; }
    }
    .pplPhoto{
        margin: 0;
        aspect-ratio: 1 / 1.08;
        border-radius: 16px;
        overflow: hidden;
        border: 1px solid rgb(255 255 255 / 14%);
        background: #101216;
        transition: box-shadow 0.45s ease;
        img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center top;
            transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        /* initials tile until a photo is supplied */
        &.pplInitials{
            display: grid;
            place-items: center;
            background: linear-gradient(145deg, #0d1a2e, #0075ff 140%);
            span{
                font-family: "Archivo", "Montserrat", sans-serif;
                font-stretch: 125%;
                font-variation-settings: "wdth" 125;
                font-weight: 800;
                font-size: clamp(40px, 5vw, 96px);
                letter-spacing: -0.02em;
                color: #f1ede4;
            }
        }
    }
    .pplMeta{
        margin-top: 18px;
        h3{
            margin: 0;
            font-family: "Montserrat", sans-serif;
            font-weight: 700;
            font-size: clamp(14px, 1.1vw, 19px);
            line-height: 1.3;
            color: #fff;
            transition: color 0.35s ease;
        }
        span{
            display: block;
            margin-top: 5px;
            font-family: "Space Mono", monospace;
            font-size: 11px;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: rgb(241 237 228 / 50%);
        }
    }
    .pplMore{ margin-top: clamp(28px, 4vh, 48px); text-align: center; }
    .pplBtn{
        display: inline-flex;
        align-items: center;
        gap: 12px;
        height: 52px;
        padding: 0 34px;
        border-radius: 50px;
        background: #0075ff;
        font-family: "Space Mono", monospace;
        font-size: 13px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #fff;
        text-decoration: none;
        transition: background-color 0.35s ease;
        span{ transition: transform 0.35s ease; }
        &:hover{ background: #fff; }
        &:hover span{ transform: translateX(5px); }
    }
}
@media (max-width: 1199px){
    .pplWrap{ .pplAnchor{ width: 250px; height: 70px; } .pplRow{ gap: 12px; } .pplPhoto{ border-radius: 12px; } }
}
/* phones: no pile / pin — a simple two-column grid that reveals on scroll */
@media (max-width: 767px){
    .pplWrap{
        .pplStage{ min-height: 0; padding: 70px 16px 70px; }
        .pplHead{ margin-bottom: 30px; }
        .pplTitle .pplIn{ white-space: normal; }
        .pplAnchor{ display: none; }
        .pplRow{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; visibility: visible; }
        .pplCard{ max-width: none; }
        .pplMeta{ margin-top: 12px; h3{ font-size: 15px; } span{ font-size: 10px; } }
    }
}

/* ---------------- blog: latest articles, swipeable row with arrows ---------------- */
.blogWrap{
    position: relative;
    background: #0a0a0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
    padding: clamp(70px, 8vw, 150px) 0 clamp(80px, 9vw, 170px);
    overflow: hidden;
    --pad: clamp(20px, 2.6vw, 48px);
    .blogHead{
        text-align: center;
        padding: 0 var(--pad);
        margin-bottom: clamp(36px, 4.5vw, 80px);
    }
    .blogEyebrow{
        display: inline-flex;
        align-items: center;
        gap: 14px;
        margin-bottom: clamp(14px, 1.6vw, 26px);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        &::before, &::after{ content: ""; width: 28px; height: 1px; background: #0075ff; }
    }
    .blogTitle{
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(32px, 4.4vw, 84px);
        line-height: 1.04;
        letter-spacing: -0.03em;
        color: #fff;
        .blogLine{ display: block; overflow: hidden; padding-bottom: 0.08em; }
        .blogIn{ display: block; will-change: transform; }
        em{ font-style: normal; color: #0075ff; }
    }
    .blogSlider{
        position: relative;
        padding: 0 var(--pad);
    }
    /* swiper loop: slide widths come from js (3 / 2 / 1.15 per view) */
    .blogTrack{
        padding: 12px 0 24px; /* room for the hover lift + shadow */
        .swiper-slide{ height: auto; flex-shrink: 0; } /* equal-height cards; keep swiper's widths (another rule was letting them squash) */
    }
    .blogCard{
        display: flex;
        flex-direction: column;
        border-radius: 18px;
        overflow: hidden;
        border: 1px solid rgb(255 255 255 / 12%);
        background: #0e0e0e;
        color: #fff;
        text-decoration: none;
        transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), border-color 0.4s ease, box-shadow 0.4s ease;
        &:hover{
            transform: translateY(-8px);
            border-color: rgb(0 117 255 / 60%);
            box-shadow: 0 24px 50px rgb(0 0 0 / 50%);
            .blogPic img{ transform: scale(1.06); }
            h3{ color: #0075ff; }
            em{ color: #0075ff; }
            em span{ transform: translateX(6px); }
        }
        &:focus-visible{ outline: 2px solid #0075ff; outline-offset: 2px; }
    }
    .blogPic{
        position: relative;
        display: block;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: #dbeefc;
        img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
    }
    /* date badge overlapping the picture's bottom edge */
    .blogDate{
        position: absolute;
        left: 20px;
        bottom: -1px;
        z-index: 1;
        display: grid;
        justify-items: center;
        min-width: 62px;
        padding: 10px 10px 8px;
        border-radius: 8px 8px 0 0;
        background: #0075ff;
        font-family: "Space Mono", monospace;
        font-size: 11px;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: #fff;
        b{
            font-family: "Montserrat", sans-serif;
            font-weight: 800;
            font-size: 22px;
            line-height: 1;
            letter-spacing: 0;
            color: inherit; /* white, from the badge */
        }
    }
    .blogMeta{
        display: flex;
        gap: 22px;
        padding: 12px 20px 12px 100px;
        border-bottom: 1px solid rgb(255 255 255 / 10%);
        background: #141414;
        font-family: "Space Mono", monospace;
        font-size: 11px;
        letter-spacing: 0.08em;
        color: rgb(241 237 228 / 55%);
        white-space: nowrap;
    }
    .blogBody{
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        padding: 22px 22px 24px;
        i{
            display: block;
            margin-bottom: 12px;
            font-family: "Space Mono", monospace;
            font-style: normal;
            font-size: 11px;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: #0075ff;
        }
        h3{
            margin: 0 0 18px;
            font-family: "Montserrat", sans-serif;
            font-weight: 700;
            font-size: clamp(16px, 1.25vw, 22px);
            line-height: 1.35;
            color: #fff;
            transition: color 0.35s ease;
        }
        em{
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: auto;
            font-family: "Space Mono", monospace;
            font-style: normal;
            font-size: 11px;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: rgb(241 237 228 / 55%);
            transition: color 0.35s ease;
            span{ transition: transform 0.35s ease; }
        }
    }
    .blogArrow{
        position: absolute;
        top: 50%;
        z-index: 2;
        display: grid;
        place-items: center;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        border: 1px solid rgb(255 255 255 / 18%);
        background: rgb(10 10 10 / 85%);
        backdrop-filter: blur(6px);
        font-size: 18px;
        color: #fff;
        cursor: pointer;
        transform: translateY(-50%);
        transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
        &.prev{ left: calc(var(--pad) - 25px); }
        &.next{ right: calc(var(--pad) - 25px); }
        &:hover{ background: #0075ff; border-color: #0075ff; color: #fff; }
        &[disabled]{ opacity: 0.25; cursor: default; pointer-events: none; }
    }
    /* progress dashes under the slider */
    .blogDots{
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: 8px;
        .swiper-pagination-bullet{
            width: 22px;
            height: 3px;
            margin: 0 !important;
            border-radius: 3px;
            background: rgb(255 255 255 / 22%);
            opacity: 1;
            transition: width 0.4s ease, background-color 0.4s ease;
        }
        .swiper-pagination-bullet-active{ width: 44px; background: #0075ff; }
    }
    .blogMore{ margin-top: clamp(28px, 3.4vw, 56px); text-align: center; }
    .blogBtn{
        display: inline-flex;
        align-items: center;
        gap: 12px;
        height: 52px;
        padding: 0 34px;
        border-radius: 50px;
        background: #0075ff;
        font-family: "Space Mono", monospace;
        font-size: 13px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #fff;
        text-decoration: none;
        transition: background-color 0.35s ease;
        span{ transition: transform 0.35s ease; }
        &:hover{ background: #fff; }
        &:hover span{ transform: translateX(5px); }
    }
}
@media (max-width: 767px){
    .blogWrap{
        .blogTrack{ overflow: visible; } /* the next card peeks in from the right */
        .blogSlider{ overflow: hidden; }
        .blogArrow{ display: none; } /* swipe instead */
        .blogMeta{ padding-left: 96px; gap: 14px; font-size: 10px; }
    }
}

/* ---------------- marquee strip ---------------- */
.marqueeWrap{
    background-color: #000;
    padding: 45px 0 30px;
    border-bottom: 1px solid #ffffff2b;
    overflow: hidden;
    .marqueeTrack{
        width: max-content;
        will-change: transform;
    }
    .marqueeGroup{
        flex: 0 0 auto;
    }
    .marqueeText{
        font-size: 90px;
        font-weight: 300;
        color: #fff;
        white-space: nowrap;
        padding: 0 45px;
        line-height: 1.2;
        &.outline{
            color: transparent;
            -webkit-text-stroke: 1px rgb(255 255 255 / 80%);
        }
    }
    .marqueeStar{
        font-size: 55px;
        color: #fff;
        line-height: 1;
    }
}

/* ---------------- service section ---------------- */
.serviceWrap{
    height: 100vh;
    position: relative;
    overflow: hidden;
    .serviceHead{
        position: absolute;
        left: 50%;
        top: 10%;
        transform: translateX(-50%);
        text-align: center;
        z-index: 2;
        width: 100%;
        padding: 0 60px;
        .subTitle{
            color: #2472fc;
            letter-spacing: 3px;
            display: block;
            margin-bottom: 15px;
        }
        h2{
            color: #fff;
            font-size: 100px;
            line-height: normal;
        }
    }
    .serviceItems{
        position: absolute;
        inset: 0;
        z-index: 1;
    }
    .serviceItem{
        position: absolute;
        left: 50%;
        top: 50%;
        width: 38vw;
        height: 38vw;
        display: flex;
        flex-direction: column;
        will-change: filter, opacity, transform;
        border-radius: 20px;
        overflow: hidden;
        border: 1px solid #ffffff57;
        &::before{
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            content: "";
            background-color: rgb(0 0 0 / 76%);
            z-index: 1;
        }
        figure{
            flex: 1 1 auto;
            min-height: 0;
            background: linear-gradient(145deg, #17181c 0%, #0b0c0f 60%, #101216 100%);
            border: 1px solid #ffffff14;
            display: flex;
            align-items: center;
            justify-content: center;
            img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center center;
            }
        }
        .serviceMeta{
            margin-top: 12px;
            h3{
                color: #fff;
                font-size: 18px;
                font-weight: 600;
                margin: 0;
            }
            .serviceTag{
                color: #9a9a9a;
                font-size: 12px;
                font-family: monospace;
                letter-spacing: 1px;
            }
        }
        figure{
            margin-bottom: 0px;
        }
        .serviceCont{
            position: absolute;
            z-index: 1;
            width: 100%;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            padding: 40px;
            h3{
                color: #fff;
                font-weight: 700;
                font-size: 36px;
                margin-bottom: 20px;
                text-transform: uppercase;
            }
            p{
                color: #fff;
                font-size: 20px;
            }
            .serviceBtn{
                display: inline-block;
                margin-top: 25px;
                padding: 12px 30px;
                border-radius: 50px;
                background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
                color: #fff;
                font-size: 16px;
                font-weight: 500;
                transition: 0.4s;
                &:hover{
                    filter: brightness(1.15);
                    transform: translateY(-2px);
                }
            }
            ul.customList{
                li{
                    margin-bottom: 20px;
                    &:last-child{
                        margin-bottom: 0px;
                    }
                    a{
                        color: #fff;
                        font-size: 18px;
                        transition: 0.5s;
                        padding-left: 25px;
                        position: relative;
                        &::before{
                            content: "\f00c";
                            position: absolute;
                            left: 0;
                            font-family: "FontAwesome";
                            top: 0px;
                            font-size: 16px;
                        }
                    }
                }
                margin-bottom: 30px;
            }
        }
    }
}

/* ---------------- case study section ---------------- */
.caseWrap{
    height: 100vh;
    position: relative;
    overflow: hidden;
    &::before{
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        content: "";
        background-color: #0000009c;
    }
    .caseHead{
        position: absolute;
        top: 7%;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
        z-index: 1;
        width: max-content;
        will-change: transform;
        .subTitle{
            color: #2472fc;
            letter-spacing: 3px;
            display: block;
            margin-bottom: 15px;
        }
        h2{
            color: #fff;
            font-size: 90px;
            line-height: normal;
            -webkit-text-stroke: 1px rgb(255 255 255 / 60%);
            letter-spacing: 2px;
        }
    }
    .caseTrack{
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        display: flex;
        align-items: center;
        gap: 60px;
        padding: 0 8vw;
        z-index: 2;
        will-change: transform;
    }
    .caseItem{
        width: 46vw;
        flex: 0 0 auto;
        border-radius: 20px;
        overflow: hidden;
        border: 1px solid #ffffff2b;
        cursor: pointer;
        figure{
            width: 100%;
            height: 60vh;
            margin: 0;
            overflow: hidden;
            img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center center;
                transition: transform 0.6s ease;
            }
        }
        .caseName{
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            padding: 25px 40px;
            background: rgb(0 0 0 / 55%);
            backdrop-filter: blur(8px);
            transition: background 0.4s ease;
            h3{
                color: #fff;
                font-size: 38px;
                font-weight: 900;
                text-transform: uppercase;
                margin: 0;
                letter-spacing: 1px;
                transition: letter-spacing 0.4s ease;
            }
        }
        &:hover{
            figure img{
                transform: scale(1.08);
            }
            .caseName{
                background: rgb(0 0 0 / 75%);
                h3{
                    letter-spacing: 3px;
                }
            }
        }
    }
    .caseMore{
        flex: 0 0 auto;
        padding: 0 6vw;
        .caseMoreBtn{
            display: inline-flex;
            align-items: center;
            gap: 12px;
            padding: 20px 50px;
            border-radius: 50px;
            background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
            color: #fff;
            font-size: 18px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            white-space: nowrap;
            transition: 0.4s;
            &:hover{
                filter: brightness(1.15);
                transform: translateY(-2px);
            }
        }
    }
}

/* ---------------- showreel section ---------------- */
.reelWrap{
    position: relative;
    background-color: #000;
    padding: 120px 0;
    overflow: hidden;
    .reelHead{
        text-align: center;
        margin-bottom: 70px;
        padding: 0 60px;
        .subTitle{
            color: #2472fc;
            letter-spacing: 3px;
            display: block;
            margin-bottom: 15px;
        }
        h2{
            color: #fff;
            font-size: 60px;
            line-height: 1.15;
        }
    }
    .reelVideoWrap{
        width: 92%;
        margin: 0 auto;
        border-radius: 20px;
        overflow: hidden;
        border: 1px solid #ffffff2b;
        aspect-ratio: 16 / 8;
        will-change: width;
        .reelVideo{
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center;
        }
        .reelPlay{
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: 110px;
            height: 110px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
            color: #fff;
            font-size: 30px;
            z-index: 2;
            transition: 0.4s;
            &::before{
                content: "";
                position: absolute;
                inset: 0;
                border-radius: 50%;
                border: 1px solid #ffffff80;
                animation: reelPulse 2s ease-out infinite;
            }
            &:hover{
                transform: translate(-50%, -50%) scale(1.12);
                filter: brightness(1.15);
                color: #fff;
            }
        }
    }
}
@keyframes reelPulse{
    0%{ transform: scale(1); opacity: 1; }
    100%{ transform: scale(1.7); opacity: 0; }
}

/* ---------------- clients section ---------------- */
.clientWrap{
    background-color: #000;
    padding: 0 0 100px;
    overflow: hidden;
    .clientHead{
        text-align: center;
        margin-bottom: 70px;
        padding: 0 60px;
        .subTitle{
            color: #2472fc;
            letter-spacing: 3px;
            display: block;
            margin-bottom: 15px;
        }
        h2{
            color: #fff;
            font-size: 55px;
            line-height: 1.25;
        }
    }
    .clientRow{
        overflow: hidden;
        padding: 20px 0;
    }
    .clientTrack{
        width: max-content;
        will-change: transform;
    }
    .clientGroup{
        flex: 0 0 auto;
        gap: 30px;
        padding-right: 30px;
    }
    .clientItem{
        flex: 0 0 auto;
        width: 240px;
        height: 110px;
        will-change: transform;
        background: #fff;
        border-radius: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: box-shadow 0.4s ease, transform 0.4s ease;
        &:hover{
            transform: translateY(-8px);
        }
        span{
            font-size: 20px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #1c1c1c;
            position: relative;
            transition: color 0.3s ease;
            &::after{
                content: "";
                position: absolute;
                left: 0;
                bottom: -8px;
                width: 0;
                height: 3px;
                border-radius: 3px;
                background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
                transition: width 0.4s ease;
            }
        }
        img{
            max-width: 70%;
            max-height: 60%;
            object-fit: contain;
        }
        &:hover{
            box-shadow: 0 20px 45px rgb(36 114 252 / 35%);
            span{
                color: #2472fc;
                &::after{ width: 100%; }
            }
        }
    }
}

/* ---------------- testimonial section ---------------- */
.testiWrap{
    background-color: #000;
    padding: 0;
    overflow: hidden;
    .testiHead{
        text-align: center;
        margin-bottom: 60px;
        padding: 0 60px;
        .subTitle{
            color: #2472fc;
            letter-spacing: 3px;
            display: block;
            margin-bottom: 15px;
        }
        h2{
            color: #fff;
            font-size: 70px;
            line-height: 1.2;
        }
    }
    /* ---- carousel rail ---- */
    .testiSlider{
        padding: 0 4vw;
    }
    .testiSwiper{
        overflow: visible;
        .swiper-wrapper{
            transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
        }
        /* nothing but layout on the slide itself — swiper owns these elements, and
           styling them from outside breaks its transitionend tracking. all the depth
           lives on .testiCard inside, painted by gsap in custom-home.js */
        .swiper-slide{
            width: min(1150px, 78vw);
            /* flex + auto height lets every card stretch to the tallest quote in the set */
            height: auto;
            display: flex;
        }
    }
    /* ---- the card ---- */
    .testiCard{
        flex: 1 1 auto;
        gap: 55px;
        padding: 45px;
        opacity: 0.28;
        will-change: opacity, transform, filter;
        border-radius: 24px;
        border: 1px solid #ffffff2b;
        background: linear-gradient(145deg, #0d0e12 0%, #08090c 60%, #0b0d11 100%);
        box-shadow: 0 30px 70px rgb(0 0 0 / 45%);
    }
    .testiPhoto{
        flex: 0 0 auto;
        width: 380px;
        margin: 0;
        border-radius: 16px;
        overflow: hidden;
        background: #101216;
        aspect-ratio: 4 / 4.5;
        img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center;
            /* oversized so the parallax drift never exposes an edge of the frame.
               gsap owns this transform from here on — no css transition, see .swiper-slide */
            transform: scale(1.25);
            will-change: transform;
        }
    }
    .testiBody{
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        flex-direction: column;
        padding-top: 10px;
        .testiQuote{
            position: absolute;
            right: 0;
            top: -10px;
            font-family: "Nata Sans", sans-serif;
            font-size: 150px;
            font-weight: 900;
            line-height: 1;
            color: #ffffff0f;
            pointer-events: none;
        }
        /* colour sits on the wrapper: font-awesome's js swaps the <i> for an <svg>,
           which then picks the fill up from currentColor */
        .testiStars{
            display: flex;
            gap: 8px;
            margin-bottom: 26px;
            color: #2472fc;
            font-size: 16px;
            i,
            svg{
                width: 1em;
                height: 1em;
            }
        }
        .testiText{
            position: relative;
            color: #d7d7d7;
            font-size: 21px;
            font-weight: 300;
            line-height: 1.85;
            letter-spacing: 0.3px;
            margin-bottom: 40px;
        }
        .testiFoot{
            margin-top: auto;
            gap: 25px;
            .testiPerson{
                color: #fff;
                font-size: 20px;
                font-weight: 700;
                line-height: 1.3;
            }
            .testiRole{
                color: #9a9a9a;
                font-size: 14px;
                letter-spacing: 0.5px;
                margin-top: 6px;
            }
            .testiBrand{
                flex: 0 0 auto;
                font-size: 15px;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 4px;
                color: transparent;
                background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
                -webkit-background-clip: text;
                background-clip: text;
                opacity: 0.65;
            }
        }
    }
    /* ---- arrows, sitting over the peeking cards ---- */
    .testiArrow{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 58px;
        height: 58px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 3;
        cursor: pointer;
        color: #fff;
        font-size: 16px;
        border: 1px solid #ffffff2e;
        background: #14161acc;
        backdrop-filter: blur(14px);
        transition: background 0.4s ease, border-color 0.4s ease, transform 0.4s ease;
        &.testiPrev{ left: 3vw; }
        &.testiNext{ right: 3vw; }
        &:hover{
            background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
            border-color: transparent;
            transform: translateY(-50%) scale(1.08);
        }
        &:focus-visible{
            outline: 1px solid #2472fc;
            outline-offset: 4px;
        }
        &.swiper-button-disabled{
            opacity: 0.35;
            pointer-events: none;
        }
    }
    /* ---- counter + progress rail ---- */
    .testiCount{
        gap: 12px;
        margin-top: 60px;
        .testiCurrent{
            font-size: 20px;
            font-weight: 700;
            color: #2472fc;
            letter-spacing: 1px;
        }
        .testiTotal{
            font-size: 14px;
            color: #5f5f5f;
            letter-spacing: 1px;
        }
        .testiLine{
            width: 220px;
            height: 2px;
            margin-left: 18px;
            background: #ffffff1a;
            overflow: hidden;
            .testiLineFill{
                display: block;
                width: 100%;
                height: 100%;
                transform: scaleX(0);
                transform-origin: left center;
                background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
            }
        }
    }
}

/* ---------------- career section ---------------- */
/* reference composition — photo band with vacancy block, heading panel beneath —
   translated into the site's dark system */
.careerWrap{
    background-color: #000;
    overflow: hidden;
    /* ---- top: wide photo + vacancy block on its right edge ---- */
    .careerHero{
        z-index: 2;
        .careerPhoto{
            width: 72%;
            margin: 0;
            aspect-ratio: 16 / 6.4;
            overflow: hidden;
            border-radius: 0 24px 24px 0;
            background: #101216;
            img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center center;
                transform: scale(1.08);
                transition: none;
                will-change: transform;
            }
            /* gradient panel that sweeps off ahead of the image during the reveal */
            .careerCurtain{
                position: absolute;
                inset: 0;
                z-index: 2;
                background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
                transform-origin: right center;
                will-change: transform;
            }
        }
        .careerBadge{
            position: absolute;
            right: 28%;
            top: 50%;
            transform: translateY(-50%);
            z-index: 3;
            width: 240px;
            padding: 44px 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 6px;
            text-align: center;
            background: linear-gradient(135deg, #2472fc 0%, #8a5cf6 100%);
            box-shadow: 0 25px 60px rgb(36 114 252 / 35%);
            .careerNum{
                font-family: "Nata Sans", sans-serif;
                font-size: 52px;
                font-weight: 900;
                line-height: 1;
                color: #fff;
                i{ font-style: normal; }
            }
            .careerBadgeLabel{
                font-family: "Nata Sans", sans-serif;
                font-size: 27px;
                font-weight: 700;
                color: #fff;
                letter-spacing: 0.5px;
            }
        }
    }
    /* ---- below: panel with heading + apply ---- */
    .careerPanel{
        margin-top: -105px;
        padding: 195px 0 110px;
        background: linear-gradient(145deg, #0d0e12 0%, #08090c 60%, #0b0d11 100%);
        border-top: 1px solid #ffffff14;
        .careerBody{
            gap: 60px;
            padding-left: 6vw;
        }
        .careerTitle{
            flex: 1 1 auto;
            min-width: 0;
            font-size: 64px;
            line-height: 1.16;
            letter-spacing: 0.5px;
            margin: 0;
            .lineMask{ overflow: hidden; }
            .careerLine{
                will-change: transform;
                padding-bottom: 4px;
            }
        }
        .careerAction{
            flex: 0 0 auto;
            gap: 40px;
            .careerStar{
                width: 44px;
                height: 44px;
                flex: 0 0 auto;
                background: linear-gradient(135deg, #2472fc 0%, #8a5cf6 100%);
                will-change: transform;
                /* four-point sparkle, no image needed */
                clip-path: polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%);
            }
            .careerBtn{
                position: relative;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                padding: 19px 46px;
                border-radius: 50px;
                border: 1px solid #2472fc;
                color: #fff;
                font-size: 17px;
                font-weight: 600;
                letter-spacing: 0.5px;
                white-space: nowrap;
                overflow: hidden;
                will-change: transform;
                transition: border-color 0.4s ease;
                span{ position: relative; z-index: 1; }
                /* gradient wipes up from the floor on hover */
                &::before{
                    content: "";
                    position: absolute;
                    inset: 0;
                    background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
                    transform: translateY(101%);
                    transition: transform 0.45s cubic-bezier(0.65, 0, 0.35, 1);
                }
                &:hover{
                    color: #fff;
                    border-color: transparent;
                    &::before{ transform: translateY(0); }
                }
                &:focus-visible{
                    outline: 1px solid #8a5cf6;
                    outline-offset: 4px;
                }
            }
        }
        /* anniversary roundel, lower-left like the reference */
        .careerYears{
            position: absolute;
            left: 45px;
            bottom: 70px;
            display: flex;
            align-items: baseline;
            gap: 2px;
            padding: 16px 24px;
            border-radius: 16px;
            background: rgb(16 18 22 / 85%);
            border: 1px solid #ffffff2b;
            backdrop-filter: blur(12px);
            b{
                font-family: "Nata Sans", sans-serif;
                font-size: 38px;
                font-weight: 900;
                line-height: 1;
                color: #2472fc;
            }
            sup{
                font-size: 13px;
                color: #2472fc;
                margin-right: 8px;
            }
            span{
                font-size: 11px;
                line-height: 1.35;
                letter-spacing: 1px;
                text-transform: uppercase;
                color: #9a9a9a;
            }
        }
    }
}

@media (max-width: 1550px){
    .careerWrap .careerPanel .careerYears{
        left: 45px;
        bottom: 40px;
    }
}

@media (max-width: 1199px){
    .careerWrap{
        padding-top: 70px;
        .careerHero{
            .careerPhoto{ aspect-ratio: 16 / 7.5; border-radius: 0 18px 18px 0; }
            .careerBadge{
                width: 168px;
                padding: 30px 16px;
                .careerNum{ font-size: 38px; }
                .careerBadgeLabel{ font-size: 19px; }
            }
        }
        .careerPanel{
            margin-top: -70px;
            padding: 135px 0 90px;
            .careerBody{
                gap: 35px;
                padding-left: 3vw;
            }
            .careerTitle{ font-size: 42px; }
            .careerAction{
                gap: 24px;
                .careerStar{ width: 34px; height: 34px; }
                .careerBtn{ padding: 16px 36px; font-size: 15px; }
            }
            .careerYears{ left: 25px; bottom: 25px; }
        }
    }
}

@media (max-width: 767px){
    .careerWrap{
        padding-top: 50px;
        .careerHero{
            .careerPhoto{
                width: 100%;
                aspect-ratio: 16 / 9;
                border-radius: 0;
            }
            /* block hangs off the photo's bottom edge on a narrow screen */
            .careerBadge{
                right: 16px;
                top: auto;
                bottom: -34px;
                transform: none;
                width: 118px;
                padding: 20px 12px;
                .careerNum{ font-size: 26px; }
                .careerBadgeLabel{ font-size: 14px; }
            }
        }
        .careerPanel{
            margin-top: 0;
            padding: 70px 0 55px;
            .careerBody{
                flex-direction: column;
                align-items: flex-start !important;
                gap: 26px;
                padding-left: 0;
            }
            .careerTitle{ font-size: 27px; line-height: 1.3; }
            .careerAction{
                gap: 18px;
                .careerStar{ width: 28px; height: 28px; }
                .careerBtn{ padding: 14px 30px; font-size: 14px; }
            }
            .careerYears{
                position: static;
                margin: 30px 20px 0;
                width: max-content;
            }
        }
    }
}

/* ---------------- blog section ---------------- */
.blogWrap{
    background-color: #000;
    padding: 120px 0;
    overflow: hidden;
    .blogHead{
        text-align: center;
        margin-bottom: 70px;
        padding: 0 60px;
        .subTitle{
            color: #2472fc;
            letter-spacing: 3px;
            display: block;
            margin-bottom: 15px;
        }
        h2{
            color: #fff;
            font-size: 55px;
            line-height: 1.2;
        }
    }
    .blogSlider{
        padding: 0;
    }
    .blogSwiper{
        .swiper-slide{
            height: auto;
            display: flex;
        }
    }
    /* ---- the card ---- */
    .blogCard{
        flex: 1 1 auto;
        display: flex !important;
        flex-direction: column;
        border-radius: 20px;
        overflow: hidden;
        border: 1px solid #ffffff2b;
        background: linear-gradient(145deg, #0d0e12 0%, #08090c 60%, #0b0d11 100%);
        .blogCardImg{
            margin: 0;
            aspect-ratio: 16 / 10.5;
            overflow: hidden;
            background: #101216;
            img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center center;
                transform: scale(1.02);
                transition: transform 0.7s cubic-bezier(0.65, 0, 0.35, 1);
            }
            /* date block, riding the image's bottom edge */
            .blogDateBadge{
                position: absolute;
                left: 22px;
                bottom: 0;
                z-index: 2;
                width: 64px;
                padding: 12px 0 10px;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 1px;
                background: linear-gradient(135deg, #2472fc 0%, #8a5cf6 100%);
                border-radius: 10px 10px 0 0;
                b{
                    font-family: "Nata Sans", sans-serif;
                    font-size: 24px;
                    font-weight: 900;
                    line-height: 1;
                    color: #fff;
                }
                i{
                    font-style: normal;
                    font-size: 12px;
                    font-weight: 600;
                    letter-spacing: 1.5px;
                    text-transform: uppercase;
                    color: #fff;
                }
            }
            /* author + views bar, tucked into the same edge */
            .blogCardBar{
                position: absolute;
                left: 86px;
                right: 0;
                bottom: 0;
                z-index: 2;
                gap: 22px;
                padding: 13px 20px 12px;
                background: rgb(10 11 14 / 88%);
                backdrop-filter: blur(10px);
                border-top: 1px solid #ffffff1a;
                border-radius: 10px 0 0 0;
                .blogBarItem{
                    gap: 8px;
                    font-size: 13px;
                    letter-spacing: 0.3px;
                    color: #9a9a9a;
                    white-space: nowrap;
                    i,
                    svg{
                        color: #2472fc;
                        font-size: 12px;
                        width: 1em;
                        height: 1em;
                    }
                }
            }
        }
        .blogCardBody{
            flex: 1 1 auto;
            padding: 26px 26px 30px;
            .blogCardCat{
                font-size: 13px;
                letter-spacing: 1px;
                text-transform: uppercase;
                color: #2472fc;
                margin-bottom: 12px;
            }
            h3{
                color: #fff;
                font-size: 21px;
                font-weight: 700;
                line-height: 1.45;
                margin: 0;
                transition: color 0.4s ease;
            }
        }
        &:hover{
            .blogCardImg img{ transform: scale(1.1); }
            .blogCardBody h3{ color: #2472fc; }
        }
        &:focus-visible{
            outline: 1px solid #2472fc;
            outline-offset: 4px;
        }
    }
    /* ---- arrows ---- */
    .blogArrow{
        position: absolute;
        top: 40%;
        transform: translateY(-50%);
        width: 54px;
        height: 54px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 3;
        cursor: pointer;
        color: #fff;
        font-size: 15px;
        border: 1px solid #ffffff2e;
        background: #14161acc;
        backdrop-filter: blur(14px);
        transition: background 0.4s ease, border-color 0.4s ease, transform 0.4s ease;
        &.blogPrev{ left: -18px; }
        &.blogNext{ right: -18px; }
        &:hover{
            background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
            border-color: transparent;
            transform: translateY(-50%) scale(1.08);
        }
        &:focus-visible{
            outline: 1px solid #2472fc;
            outline-offset: 4px;
        }
    }
    /* ---- view all ---- */
    .blogMore{
        margin-top: 55px;
        .blogMoreBtn{
            display: inline-flex;
            align-items: center;
            gap: 12px;
            padding: 16px 44px;
            border-radius: 50px;
            background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
            color: #fff;
            font-size: 16px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            white-space: nowrap;
            will-change: transform;
            transition: filter 0.4s ease;
            &:hover{
                filter: brightness(1.15);
                color: #fff;
            }
            &:focus-visible{
                outline: 1px solid #2472fc;
                outline-offset: 4px;
            }
        }
    }
}

@media (max-width: 1199px){
    .blogWrap{
        padding: 80px 0;
        .blogHead{
            margin-bottom: 45px;
            h2{ font-size: 40px; }
        }
        .blogCard{
            .blogCardImg{
                .blogDateBadge{
                    left: 16px;
                    width: 56px;
                    b{ font-size: 20px; }
                    i{ font-size: 10px; }
                }
                .blogCardBar{
                    left: 76px;
                    gap: 14px;
                    padding: 11px 14px 10px;
                    .blogBarItem{ font-size: 11px; }
                }
            }
            .blogCardBody{
                padding: 20px 20px 24px;
                h3{ font-size: 17px; }
            }
        }
        .blogArrow{
            width: 46px;
            height: 46px;
            font-size: 13px;
            &.blogPrev{ left: -8px; }
            &.blogNext{ right: -8px; }
        }
    }
}

@media (max-width: 767px){
    .blogWrap{
        padding: 60px 0;
        .blogHead{
            padding: 0 20px;
            margin-bottom: 35px;
            h2{ font-size: 27px; }
        }
        .blogCard{
            border-radius: 16px;
            .blogCardBody{
                padding: 18px 18px 22px;
                .blogCardCat{ font-size: 11px; margin-bottom: 8px; }
                h3{ font-size: 16px; }
            }
        }
        /* swipe instead of arrows on touch */
        .blogArrow{ display: none; }
        .blogMore{
            margin-top: 35px;
            .blogMoreBtn{ padding: 13px 32px; font-size: 13px; }
        }
    }
}

/* ---------------- faq section ---------------- */
.faqWrap{
    background-color: #000;
    padding: 100px 0;
    overflow: hidden;
    border-top: 1px solid #cccccc30;
    .faqGrid{
        gap: 70px;
    }
    /* ---- left: heading + call card ---- */
    .faqLeft{
        flex: 0 0 38%;
        min-width: 0;
        .faqEyebrow{
            gap: 10px;
            font-size: 15px;
            font-weight: 500;
            letter-spacing: 0.5px;
            color: #2472fc;
            margin-bottom: 20px;
            .faqDot{
                width: 9px;
                height: 9px;
                border-radius: 50%;
                background: linear-gradient(135deg, #2472fc 0%, #8a5cf6 100%);
                flex: 0 0 auto;
            }
        }
        h2{
            color: #fff;
            font-size: 50px;
            line-height: 1.15;
            margin-bottom: 45px;
        }
        .faqCall{
            padding: 36px 34px 38px;
            border-radius: 24px;
            border: 1px solid #ffffff2b;
            background: linear-gradient(145deg, #0d0e12 0%, #08090c 60%, #0b0d11 100%);
            .faqAvatar{
                width: 66px;
                height: 66px;
                border-radius: 50%;
                overflow: hidden;
                border: 2px solid #2472fc66;
                margin-bottom: 22px;
                img{
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center top;
                    transition: none;
                }
            }
            h3{
                color: #fff;
                font-size: 26px;
                font-weight: 700;
                margin-bottom: 14px;
            }
            p{
                color: #9a9a9a;
                font-size: 15px;
                line-height: 1.65;
                margin-bottom: 26px;
            }
            .faqCallBtn{
                display: flex;
                align-items: center;
                justify-content: center;
                width: 100%;
                padding: 17px 20px;
                border-radius: 50px;
                background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
                color: #fff;
                font-size: 16px;
                font-weight: 600;
                letter-spacing: 0.5px;
                white-space: nowrap;
                will-change: transform;
                transition: filter 0.4s ease;
                &:hover{
                    filter: brightness(1.15);
                    color: #fff;
                }
                &:focus-visible{
                    outline: 1px solid #2472fc;
                    outline-offset: 4px;
                }
            }
        }
    }
    /* ---- right: accordion ---- */
    .faqList{
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    .faqItem{
        border-radius: 18px;
        border: 1px solid #ffffff2b;
        background: linear-gradient(145deg, #0d0e12 0%, #08090c 60%, #0b0d11 100%);
        overflow: hidden;
        transition: border-color 0.4s ease;
        .faqQ{
            width: 100%;
            gap: 20px;
            padding: 24px 28px;
            background: transparent;
            text-align: left;
            cursor: pointer;
            span{
                color: #fff;
                font-size: 19px;
                font-weight: 600;
                line-height: 1.4;
                transition: color 0.4s ease;
            }
            /* plus drawn from two bars — rotates into a cross when open */
            .faqIcon{
                position: relative;
                flex: 0 0 auto;
                width: 18px;
                height: 18px;
                transition: transform 0.7s cubic-bezier(0.65, 0, 0.35, 1);
                &::before,
                &::after{
                    content: "";
                    position: absolute;
                    left: 50%;
                    top: 50%;
                    transform: translate(-50%, -50%);
                    background: #2472fc;
                    border-radius: 2px;
                }
                &::before{ width: 18px; height: 2px; }
                &::after{ width: 2px; height: 18px; }
            }
            &:focus-visible{
                outline: 1px solid #2472fc;
                outline-offset: -1px;
                border-radius: 18px;
            }
        }
        .faqA{
            height: 0;
            overflow: hidden;
            .faqAInner{
                padding: 0 28px 26px;
                p{
                    color: #9a9a9a;
                    font-size: 15px;
                    line-height: 1.7;
                    margin: 0;
                }
            }
        }
        &:hover{
            border-color: #2472fc66;
        }
        &.open{
            border-color: #2472fc66;
            .faqQ span{ color: #2472fc; }
            .faqIcon{ transform: rotate(45deg); }
        }
    }
}

@media (max-width: 1199px){
    .faqWrap{
        padding: 80px 0;
        .faqGrid{ gap: 40px; }
        .faqLeft{
            flex-basis: 42%;
            h2{ font-size: 36px; margin-bottom: 30px; }
            .faqCall{
                padding: 26px 24px 28px;
                h3{ font-size: 21px; }
                p{ font-size: 14px; }
            }
        }
        .faqItem .faqQ{
            padding: 19px 20px;
            span{ font-size: 16px; }
        }
        .faqItem .faqA .faqAInner{ padding: 0 20px 20px; }
    }
}

@media (max-width: 767px){
    .faqWrap{
        padding: 60px 0;
        .faqGrid{
            flex-direction: column;
            gap: 30px;
        }
        .faqLeft{
            flex-basis: auto;
            h2{ font-size: 28px; margin-bottom: 24px; }
        }
        .faqList{ gap: 12px; }
        .faqItem{
            border-radius: 14px;
            .faqQ{
                gap: 14px;
                padding: 16px 18px;
                span{ font-size: 15px; }
                .faqIcon{
                    width: 14px;
                    height: 14px;
                    &::before{ width: 14px; }
                    &::after{ height: 14px; }
                }
            }
            .faqA .faqAInner{
                padding: 0 18px 18px;
                p{ font-size: 13px; }
            }
        }
    }
}

/* ---------------- team section ---------------- */
/* the scroll track: its extra height IS the distance the cards animate over.
   held still by css `position: sticky` rather than scrolltrigger's pin — pinning this
   one fought the three pinned sections above it and landed the section 262px out of
   place (killing those pins dropped the offset straight to 0). sticky has no
   pin-spacer, so there is nothing to interact with. */
.teamWrap{
    background-color: #000;
    height: 320vh;
    .teamSticky{
        position: sticky;
        top: 0;
        height: 100vh;
        display: flex;
        align-items: center;
        padding: 60px 0;
        overflow: hidden;
    }
    .teamHead{
        gap: 50px;
        margin-bottom: 40px;
        .subTitle{
            color: #2472fc;
            letter-spacing: 3px;
            display: block;
            margin-bottom: 15px;
        }
        h2{
            color: #fff;
            font-size: 55px;
            line-height: 1.15;
            letter-spacing: 1px;
        }
        /* holds the space the photos are stacked in before they fan out */
        .teamAnchor{
            flex: 0 0 auto;
            width: 300px;
            height: 80px;
        }
    }
    .teamRow{
        gap: 25px;
        align-items: flex-start;
        justify-content: center;
    }
    .teamCard{
        flex: 1 1 0;
        min-width: 0;
        /* caps card height (width x aspect) so the row can't outgrow the viewport
           on a wide-but-short screen */
        max-width: 300px;
        position: relative;
        will-change: transform;
        figure{
            margin: 0;
            border-radius: 16px;
            overflow: hidden;
            aspect-ratio: 1 / 1.08;
            background: #101216;
            border: 1px solid #ffffff1f;
            img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center top;
                transition: none;
            }
        }
        .teamMeta{
            margin-top: 18px;
            h3{
                color: #fff;
                font-size: 19px;
                font-weight: 700;
                line-height: 1.3;
            }
            span{
                color: #9a9a9a;
                font-size: 13px;
                letter-spacing: 0.5px;
                margin-top: 5px;
            }
        }
    }
    .teamMore{
        margin-top: 40px;
        .teamMoreBtn{
            display: inline-flex;
            align-items: center;
            gap: 12px;
            padding: 16px 44px;
            border-radius: 50px;
            background: linear-gradient(90deg, #2472fc 0%, #8a5cf6 100%);
            color: #fff;
            font-size: 16px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
            white-space: nowrap;
            transition: 0.4s;
            &:hover{
                filter: brightness(1.15);
                transform: translateY(-2px);
                color: #fff;
            }
            &:focus-visible{
                outline: 1px solid #2472fc;
                outline-offset: 4px;
            }
        }
    }
}

/* short viewports: tighten the rhythm so everything still clears one screen */
@media (min-width: 768px) and (max-height: 800px){
    .teamWrap{
        .teamSticky{ padding: 40px 0; }
        .teamHead{
            margin-bottom: 35px;
            h2{ font-size: 42px; }
            .teamAnchor{ height: 66px; }
        }
        .teamCard{
            max-width: 230px;
            .teamMeta{
                margin-top: 12px;
                h3{ font-size: 16px; }
                span{ font-size: 12px; }
            }
        }
        .teamMore{
            margin-top: 24px;
            .teamMoreBtn{
                padding: 13px 34px;
                font-size: 14px;
            }
        }
    }
}

@media (max-width: 1199px){
    .teamWrap{
        .teamHead{
            h2{ font-size: 38px; }
            .teamAnchor{ width: 230px; height: 62px; }
        }
        .teamRow{ gap: 15px; }
        .teamCard{
            figure{ border-radius: 12px; }
            .teamMeta{
                margin-top: 14px;
                h3{ font-size: 15px; }
                span{ font-size: 11px; }
            }
        }
    }
    .testiWrap{
        .testiHead h2{ font-size: 44px; }
        .testiSwiper .swiper-slide{ width: 84vw; }
        .testiCard{
            gap: 35px;
            padding: 30px;
        }
        .testiPhoto{ width: 280px; }
        .testiBody{
            .testiQuote{ font-size: 110px; }
            .testiText{
                font-size: 17px;
                line-height: 1.75;
                margin-bottom: 30px;
            }
            .testiFoot .testiPerson{ font-size: 18px; }
        }
        .testiArrow{
            width: 48px;
            height: 48px;
            font-size: 14px;
            &.testiPrev{ left: 1.5vw; }
            &.testiNext{ right: 1.5vw; }
        }
    }
}

@media (max-width: 767px){
    .bannerWrap{
        .bannerTag{
            font-size: 12px;
            padding: 8px 16px;
        }
    }
    .serviceWrap{
        height: auto;
        padding: 60px 20px;
        .serviceHead{
            position: static;
            transform: none;
            margin-bottom: 40px;
            h2{ font-size: 32px; }
        }
        .serviceItems{
            position: static;
            perspective: none;
            display: flex;
            flex-direction: column;
            gap: 30px;
        }
        .serviceItem{
            position: static !important;
            width: 100% !important;
            height: auto !important;
            figure{ aspect-ratio: 1 / 1; }
        }
    }
    .caseWrap{
        height: auto;
        padding: 60px 20px;
        .caseHead{
            position: static;
            transform: none;
            width: auto;
            margin-bottom: 40px;
            h2{ font-size: 40px; }
        }
        .caseTrack{
            position: static;
            flex-direction: column;
            gap: 30px;
            padding: 0;
        }
        .caseItem{
            width: 100%;
            figure{ height: auto; aspect-ratio: 16 / 10; }
            .caseName{
                padding: 15px 20px;
                h3{ font-size: 22px; }
            }
        }
        .caseMore{
            padding: 10px 0 0;
            text-align: center;
            .caseMoreBtn{
                font-size: 15px;
                padding: 15px 35px;
            }
        }
    }
    .marqueeWrap{
        padding: 25px 0;
        .marqueeText{
            font-size: 36px;
            padding: 0 20px;
        }
        .marqueeStar{ font-size: 24px; }
    }
    .clientWrap{
        padding: 60px 0;
        .clientHead{
            padding: 0 20px;
            margin-bottom: 40px;
            h2{ font-size: 26px; }
        }
        .clientItem{
            width: 160px;
            height: 76px;
            border-radius: 14px;
            span{ font-size: 13px; }
        }
        .clientGroup{ gap: 16px; padding-right: 16px; }
        .clientRow{ padding: 10px 0; }
    }
    .reelWrap{
        padding: 60px 20px;
        .reelHead{
            padding: 0;
            margin-bottom: 40px;
            h2{ font-size: 28px; }
        }
        .reelVideoWrap{
            width: 100%;
            aspect-ratio: 16 / 9;
            .reelPlay{
                width: 64px;
                height: 64px;
                font-size: 18px;
            }
        }
    }
    .teamWrap{
        /* no sticky track on mobile — the cards just reveal in place */
        height: auto;
        .teamSticky{
            position: static;
            height: auto;
            display: block;
            padding: 60px 0;
            overflow: visible;
        }
        .teamHead{
            display: block !important;
            margin-bottom: 30px;
            h2{ font-size: 26px; }
            /* no stack on mobile — the cards just reveal in place */
            .teamAnchor{ display: none; }
        }
        .teamRow{
            flex-wrap: wrap;
            gap: 18px;
        }
        .teamCard{
            flex: 0 0 calc(50% - 9px);
            .teamMeta{
                margin-top: 12px;
                h3{ font-size: 15px; }
                span{ font-size: 11px; }
            }
        }
        .teamMore{
            margin-top: 28px;
            .teamMoreBtn{
                padding: 13px 32px;
                font-size: 13px;
            }
        }
    }
    .testiWrap{
        padding: 60px 0;
        .testiHead{
            padding: 0 20px;
            margin-bottom: 35px;
            h2{ font-size: 30px; }
        }
        .testiSlider{ padding: 0 20px; }
        .testiSwiper .swiper-slide{
            width: 100%;
        }
        .testiCard{
            flex-direction: column;
            gap: 25px;
            padding: 22px;
            border-radius: 16px;
        }
        .testiPhoto{
            width: 100%;
            aspect-ratio: 16 / 11;
        }
        .testiBody{
            padding-top: 0;
            .testiQuote{ font-size: 80px; top: -6px; }
            .testiStars{ margin-bottom: 18px; }
            .testiText{
                font-size: 16px;
                line-height: 1.7;
                margin-bottom: 25px;
            }
            .testiFoot{
                gap: 15px;
                .testiPerson{ font-size: 17px; }
                .testiRole{ font-size: 12px; }
                .testiBrand{ font-size: 12px; letter-spacing: 2px; }
            }
        }
        .testiArrow{ display: none; }
        .testiCount{
            margin-top: 35px;
            .testiLine{ width: 120px; margin-left: 12px; }
        }
    }
}

/* ===== voice C1 (2026-10): longer option-C headline + middle nudge band ===== */
.bannerTitle.isLong{ font-size: clamp(32px, 4.9vw, 104px); }
@media (max-width:575px){ .bannerTitle.isLong{ font-size: 7.6vw; } }
.peNudge{ background:#0075ff; color:#fff; padding: clamp(28px,4vw,56px) 16px; }
.peNudgeIn{ max-width:1200px; margin:0 auto; display:flex; gap:24px 40px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.peNudgeText{ margin:0; max-width:640px; font: 400 clamp(16px,1.3vw,21px)/1.5 "Montserrat",sans-serif; color:#fff; }
.peNudgeText strong{ display:block; font-weight:800; font-size:1.25em; margin-bottom:4px; }
.peNudgeBtns{ display:flex; gap:12px; flex-wrap:wrap; }
.peNudgeBtn{ display:inline-flex; align-items:center; height:52px; padding:0 24px; border:1.5px solid #fff; border-radius:999px; color:#fff; font:700 13px/1 "Montserrat",sans-serif; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; }
.peNudgeBtn:hover{ color:#fff; }
.peNudgeBtn.solid{ background:#fff; color:#0e121b; }
.peNudgeBtn.solid:hover{ color:#0e121b; }

/* page.css */
/* ================================================================
   Inner pages. Loaded after home.css, which supplies the sections
   reused word for word (indWrap, howWrap, crewWrap, workWrap, ctaWrap).
   The pg* blocks below copy the home look: black / #0a0a0a bands,
   Archivo expanded uppercase headings, Space Mono eyebrows, one blue.
   Start states for the motion are set by custom-page.js, so the page
   still reads if scripts fail.
   ================================================================ */
.pageInner{
    --blue: #0075ff;
    --bone: #f1ede4;
    --dim: rgb(241 237 228 / 62%);
    --line: rgb(255 255 255 / 12%);
    background: #000;
    color: var(--bone);
    font-family: "Montserrat", sans-serif;
}
.pgWrap{
    width: 100%;
    padding: 0 clamp(20px, 2.6vw, 48px);
}

/* ---------------- shared type ---------------- */
.pgEyebrow{
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin-bottom: clamp(18px, 2vw, 32px);
    font-family: "Space Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgb(241 237 228 / 60%);
    i{ font-style: normal; color: var(--blue); }
    &::before{ content: ""; width: 32px; height: 1px; background: var(--blue); }
}
.pgHead{
    max-width: 1300px;
    margin-bottom: clamp(36px, 4vw, 72px);
    &.isCenter{ margin-left: auto; margin-right: auto; text-align: center; }
}
.pgTitle{
    margin: 0;
    font-family: "Archivo", "Montserrat", sans-serif;
    font-stretch: 125%;
    font-variation-settings: "wdth" 125;
    font-weight: 800;
    font-size: clamp(32px, 4.8vw, 92px);
    line-height: 0.95;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--bone);
    .pgLine{ display: block; overflow: hidden; padding-bottom: 0.06em; }
    .pgIn{ display: block; will-change: transform; }
    em{ font-style: normal; color: var(--blue); }
}
.pgText{
    max-width: 620px;
    margin: clamp(16px, 1.8vw, 28px) 0 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    font-size: clamp(15px, 1.05vw, 19px);
    line-height: 1.65;
    letter-spacing: 0;
    color: rgb(255 255 255 / 70%);
    a{ color: var(--blue); border-bottom: 1px solid currentColor; }
}
.pgProse{
    p{
        margin: 0 0 1.1em;
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: clamp(15px, 1.05vw, 18px);
        line-height: 1.8;
        letter-spacing: 0;
        color: rgb(255 255 255 / 70%);
        &:last-child{ margin-bottom: 0; }
    }
    a{ color: var(--blue); border-bottom: 1px solid currentColor; }
    b, strong{ color: #fff; }
}
/* words light up one by one as the paragraph scrolls through (custom-page.js splits them) */
.pgScrub{
    margin: 0 0 clamp(26px, 3vw, 44px);
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: clamp(21px, 2.1vw, 38px);
    line-height: 1.38;
    letter-spacing: -0.01em;
    color: #fff;
    .w{ display: inline; }
    a{ color: var(--blue); }
    b, strong{ font-weight: 800; }
    &.isBig{ font-size: clamp(26px, 3.2vw, 58px); line-height: 1.25; }
    &.isQuote{ font-size: clamp(26px, 3.4vw, 62px); line-height: 1.2; }
    /* paragraph-length quotes (service + industry pages) read at a calmer size */
    &.isQuote.isLong{ font-size: clamp(20px, 2.1vw, 38px); line-height: 1.35; max-width: 1100px; }
}

/* ---------------- buttons: the home banner pills ---------------- */
.pgBtn{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 48px;
    padding: 0 26px;
    border-radius: 50px;
    border: 1px solid transparent;
    font-family: "Space Mono", monospace;
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
    .btnArrow{ display: inline-block; letter-spacing: 0; transition: transform 0.35s ease; }
    &.primary{
        background-color: var(--blue);
        color: #fff;
        &:hover{ background-color: #3391ff; color: #fff; }
        &:hover .btnArrow{ transform: translateX(5px); }
    }
    &.ghost{
        border-color: rgb(255 255 255 / 16%);
        color: #fff;
        &:hover{ border-color: #fff; background-color: #fff; color: #0b0b0b; }
    }
    &:focus-visible{ outline: 1px solid var(--blue); outline-offset: 4px; }
    @media (max-width: 575px){ height: 44px; padding: 0 20px; font-size: 11px; letter-spacing: 0.14em; }
}
.pgChip{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 18px;
    border-radius: 40px;
    border: 1px solid rgb(255 255 255 / 18%);
    font-family: "Space Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    transition: background 0.3s ease, border-color 0.3s ease;
    span{ color: var(--blue); transition: color 0.3s ease; }
    &:hover{ background: var(--blue); border-color: var(--blue); span{ color: #fff; } }
}

/* ---------------- banner: centred headline, media circle behind it ---------------- */
.pgHero{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: max(640px, 100vh);
    padding: 140px clamp(20px, 2.6vw, 48px) 110px;
    overflow: hidden;
    background: #000;
    text-align: center;
    &.isSmall{ min-height: max(520px, 72vh); }
}
.pgCircle{
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(40vw, 58vh);
    aspect-ratio: 1;
    margin: calc(min(40vw, 58vh) / -2) 0 0 calc(min(40vw, 58vh) / -2);
    border-radius: 50%;
    overflow: hidden;
    will-change: transform;
    img, video{ width: 100%; height: 100%; object-fit: cover; display: block; }
    .pgCircleShade{ position: absolute; inset: 0; background: rgb(0 0 0 / 45%); }
    @media (max-width: 767px){
        width: 78vw;
        margin: -39vw 0 0 -39vw;
    }
}
.pgHeroInner{
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1500px;
}
.pgCrumb{
    margin-bottom: 18px;
    font-family: "Space Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgb(241 237 228 / 55%);
    a{ font-size: inherit; color: rgb(241 237 228 / 80%); transition: color 0.3s ease; &:hover{ color: var(--blue); } }
    i{ font-style: normal; margin: 0 6px; color: var(--blue); }
}
/* the home "integrated marketing agency · kolkata · est. 2015" line */
.pgHeroSub{
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 6px 12px;
    margin: 0 0 clamp(14px, 1.6vw, 28px);
    font-family: "Space Mono", monospace;
    font-size: clamp(11px, 0.85vw, 14px);
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: #fff;
    i{ font-style: normal; color: var(--blue); }
}
.pgHeroTitle{
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: clamp(52px, 9vw, 190px);
    line-height: 0.98;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #fff;
    .pgHeroLine{ display: block; overflow: hidden; padding-bottom: 0.04em; }
    .pgHeroIn{ display: block; will-change: transform; }
    .accent{ color: var(--blue); }
    /* the blue full stop from the home headline */
    &[data-dot] .pgHeroLine:last-child .pgHeroIn::after{ content: "."; color: var(--blue); }
    &[data-dot] .pgHeroLine.accent:last-child .pgHeroIn::after{ color: #fff; }
    .pgHero.isSmall &{ font-size: clamp(40px, 7vw, 140px); }
    /* longer names step down so each line stays one line */
    .pgHero.isLong &{ font-size: clamp(44px, 6.8vw, 140px); }
    .pgHero.isXLong &{ font-size: clamp(38px, 5.4vw, 110px); }
    /* phones: size to the screen so long single words ("aftermarket") still fit */
    @media (max-width: 575px){
        font-size: 10.4vw;
        .pgHero.isSmall &{ font-size: 9.6vw; }
    }
}
.pgHeroLead{
    max-width: 880px;
    margin: clamp(22px, 2.4vw, 40px) 0 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: clamp(16px, 1.35vw, 24px);
    line-height: 1.5;
    letter-spacing: 0;
    color: rgb(255 255 255 / 80%);
    em{ font-style: normal; color: var(--blue); }
}
.pgHeroBtns{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: clamp(28px, 3vw, 52px);
}
.pgScrollCue{
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    transform: translateX(-50%);
    font-family: "Space Mono", monospace;
    font-size: 10px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: rgb(241 237 228 / 50%);
    i{
        position: relative;
        width: 1px;
        height: 42px;
        overflow: hidden;
        background: rgb(255 255 255 / 15%);
        &::after{
            content: "";
            position: absolute;
            left: 0;
            top: -40%;
            width: 1px;
            height: 40%;
            background: var(--blue);
            animation: pgCue 1.8s cubic-bezier(0.6, 0, 0.3, 1) infinite;
        }
    }
}
@keyframes pgCue{ to{ top: 100%; } }

/* ---------------- stats: the home banner counters ---------------- */
.pgStats{
    background: #000;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}
.pgStatGrid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    @media (max-width: 767px){ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pgStat{
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: clamp(26px, 3vw, 50px) clamp(14px, 2vw, 36px);
    & + .pgStat{ border-left: 1px solid var(--line); }
    @media (max-width: 767px){
        &:nth-child(3){ border-left: 0; }
        &:nth-child(n + 3){ border-top: 1px solid var(--line); }
    }
    .pgStatIdx{ font-family: "Space Mono", monospace; font-size: 11px; color: var(--blue); }
    .pgStatNum{
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(34px, 4vw, 76px);
        line-height: 1;
        color: #fff;
        em{ font-style: normal; color: var(--blue); }
        .pgStatWord{
            display: block;
            font-family: "Montserrat", sans-serif;
            font-stretch: 100%;
            font-variation-settings: normal;
            font-size: clamp(16px, 1.3vw, 22px);
            line-height: 1.3;
        }
    }
    .pgStatLabel{
        font-family: "Space Mono", monospace;
        font-size: 11px;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
    }
}

/* ---------------- intro + prose statements ---------------- */
.pgIntro,
.pgState{
    padding: clamp(80px, 9vw, 170px) 0;
    background: #000;
}
.pgState.isAlt{ background: #0a0a0a; border-top: 1px solid rgb(255 255 255 / 8%); }
.pgIntroGrid,
.pgStateGrid{
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(36px, 6vw, 120px);
    align-items: start;
    @media (max-width: 991px){ grid-template-columns: minmax(0, 1fr); }
}
.pgIntroSide,
.pgStateSide{
    position: sticky;
    top: 120px;
    @media (max-width: 991px){ position: static; }
}
.pgStateTitle{
    margin: 0;
    font-family: "Archivo", "Montserrat", sans-serif;
    font-stretch: 125%;
    font-variation-settings: "wdth" 125;
    font-weight: 800;
    font-size: clamp(24px, 2.4vw, 44px);
    line-height: 1.05;
    text-transform: uppercase;
    color: var(--bone);
}

/* ---------------- cards: the home "why" grid ---------------- */
.pgCards{
    padding: clamp(80px, 9vw, 170px) 0;
    background: #0a0a0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
    overflow: hidden; /* cards slide in from the right */
    &.isAlt{ background: #000; }
}
.pgGrid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
    &.cols4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
    @media (max-width: 1199px){ &, &.cols4{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 575px){ &, &.cols4{ grid-template-columns: minmax(0, 1fr); } }
}
.pgCard{
    position: relative;
    display: flex;
    flex-direction: column;
    padding: clamp(28px, 2.4vw, 44px) clamp(22px, 2vw, 36px) clamp(34px, 2.8vw, 52px);
    background: #0d0d0d;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    transition: background-color 0.45s ease;
    &::before{
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -1px;
        height: 2px;
        background: var(--blue);
        transform: scaleX(0);
        transform-origin: 0 50%;
        transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .pgCardTop{ display: flex; justify-content: space-between; align-items: center; gap: 12px; }
    .pgCardNum{
        display: inline-grid;
        place-items: center;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: var(--blue);
        font-family: "Space Mono", monospace;
        font-weight: 700;
        font-size: 13px;
        color: #fff;
        transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.45s ease;
    }
    .pgCardIcon{
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        color: rgb(241 237 228 / 45%);
        font-size: 18px;
        transition: color 0.35s ease;
        svg{ width: 24px; height: 24px; }
    }
    h3{
        margin: clamp(20px, 1.8vw, 30px) 0 14px;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(16px, 1.2vw, 22px);
        line-height: 1.2;
        text-transform: uppercase;
        color: var(--bone);
    }
    p{
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: clamp(14px, 0.9vw, 16px);
        line-height: 1.65;
        letter-spacing: 0;
        color: rgb(241 237 228 / 60%);
        &.pgCardLead{
            margin-top: clamp(20px, 1.8vw, 30px);
            font-weight: 700;
            font-size: clamp(16px, 1.15vw, 20px);
            line-height: 1.45;
            color: var(--bone);
        }
    }
    .pgCardGo{
        margin-top: auto;
        padding-top: 22px;
        align-self: flex-end;
        font-size: 18px;
        color: var(--blue);
        transition: transform 0.35s ease;
    }
    &:hover{
        background: #121418;
        &::before{ transform: scaleX(1); }
        .pgCardNum{ transform: scale(1.1) rotate(-8deg); box-shadow: 0 0 0 8px rgb(0 117 255 / 14%); }
        .pgCardIcon{ color: var(--blue); }
        .pgCardGo{ transform: translate(4px, -4px); }
    }
}

/* ---------------- steps: the home "how we work" list ---------------- */
.pgHow{
    padding: clamp(80px, 9vw, 170px) 0;
    background: #0a0a0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
}
.pgStepList{
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgb(255 255 255 / 40%);
}
.pgRail{
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: rgb(255 255 255 / 8%);
    .pgRailFill{
        display: block;
        width: 100%;
        height: 100%;
        background: var(--blue);
        transform-origin: 50% 0;
        transform: scaleY(0);
    }
}
.pgStep{
    position: relative;
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 0 clamp(24px, 4vw, 80px);
    padding: clamp(26px, 2.6vw, 46px) 24px clamp(26px, 2.6vw, 46px) 0;
    overflow: hidden;
    transition: opacity 0.35s ease;
    &::after{
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 1px;
        background: rgb(255 255 255 / 18%);
        transform-origin: 0 50%;
        transform: scaleX(var(--line, 1));
    }
    &::before{
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgb(0 117 255 / 18%), rgb(0 117 255 / 0%) 70%);
        transform: scaleX(0);
        transform-origin: 0 50%;
        transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    > *{ position: relative; }
    .pgStepNum{
        justify-self: center;
        font-family: "Space Mono", monospace;
        font-size: 13px;
        letter-spacing: 0.1em;
        color: var(--blue);
    }
    h3{
        margin: 0;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(20px, 1.9vw, 38px);
        line-height: 1.05;
        letter-spacing: -0.01em;
        text-transform: uppercase;
        color: var(--bone);
        transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), color 0.35s ease;
    }
    p{
        max-width: 620px;
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: clamp(14px, 1vw, 18px);
        line-height: 1.6;
        letter-spacing: 0;
        color: rgb(255 255 255 / 70%);
    }
    &:hover{
        &::before{ transform: scaleX(1); }
        h3{ transform: translateX(12px); color: #fff; }
    }
    @media (max-width: 991px){
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 10px 16px;
        p{ grid-column: 2; }
    }
}
.pgStepList:has(.pgStep:hover) .pgStep:not(:hover){ opacity: 0.4; }
.pgStepList.isCompact .pgStep{
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 8px 16px;
    p{ grid-column: 2; }
}

/* ---------------- quote ---------------- */
.pgQuote{
    position: relative;
    padding: clamp(90px, 10vw, 190px) 0;
    background: #000;
    border-top: 1px solid rgb(255 255 255 / 8%);
    overflow: hidden;
    .pgWrap{ position: relative; max-width: 1400px; margin: 0 auto; }
    .pgQuoteMark{
        position: absolute;
        right: clamp(10px, 4vw, 60px);
        top: -0.25em;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-weight: 800;
        font-size: clamp(180px, 22vw, 420px);
        line-height: 1;
        color: rgb(0 117 255 / 16%);
        pointer-events: none;
    }
    .pgScrub{ position: relative; max-width: 1200px; }
    .pgQuoteBy{
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: var(--blue);
    }
}

/* ---------------- wins: posters like the home reel ---------------- */
.pgWins{
    padding: clamp(80px, 9vw, 170px) 0;
    background: #000;
    border-top: 1px solid rgb(255 255 255 / 8%);
}
.pgWinGrid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 1.6vw, 28px);
    @media (max-width: 991px){ grid-template-columns: repeat(2, minmax(0, 1fr)); }
    @media (max-width: 575px){ grid-template-columns: minmax(0, 1fr); }
}
.pgWin{
    display: block;
    --po: linear-gradient(150deg, #0075ff, #002a66);
    &.poSlate{ --po: linear-gradient(150deg, #1d2a44, #0a0f1a); }
    &.poBrass{ --po: linear-gradient(150deg, #8a5cf6, #2c1466); }
    &.poBone{ --po: linear-gradient(150deg, #1c1c1c, #0b0b0b); }
    .pgWinPoster{
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        aspect-ratio: 4 / 5;
        padding: clamp(18px, 1.6vw, 28px);
        border-radius: 18px;
        overflow: hidden;
        background: var(--po);
        color: #fff;
        img{
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 1.1s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        &::after{
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgb(0 0 0 / 55%), rgb(0 0 0 / 5%) 40%, rgb(0 0 0 / 85%));
        }
    }
    .pgWinChip, .pgWinBig, .pgWinRes{ position: relative; z-index: 1; }
    .pgWinChip{
        align-self: flex-start;
        max-width: 100%;
        padding: 7px 12px;
        border-radius: 30px;
        border: 1px solid rgb(255 255 255 / 60%);
        font-family: "Space Mono", monospace;
        font-size: 10px;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .pgWinBig{
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(30px, 3vw, 58px);
        line-height: 0.95;
        text-transform: uppercase;
        transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .pgWinRes{
        display: flex;
        flex-direction: column;
        gap: 4px;
        b{ font-weight: 800; font-size: clamp(24px, 2.2vw, 40px); line-height: 1; color: #fff; }
        small{ font-family: "Space Mono", monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: rgb(255 255 255 / 80%); }
    }
    .pgWinMeta{
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 16px 2px 0;
        span{ font-weight: 700; font-size: 16px; color: #fff; }
        small{ font-family: "Space Mono", monospace; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; text-align: right; color: rgb(241 237 228 / 50%); }
    }
    &:hover{
        img{ transform: scale(1.08); }
        .pgWinBig{ transform: translateY(-6px); }
    }
}

/* ---------------- link rows: the home "markets" lists ---------------- */
.pgLinks{
    padding: clamp(80px, 9vw, 160px) 0;
    background: #000;
    border-top: 1px solid rgb(255 255 255 / 8%);
}
.pgLinksGrid{
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(36px, 5vw, 100px);
    align-items: start;
    .pgHead{ margin-bottom: 0; }
    @media (max-width: 991px){ grid-template-columns: minmax(0, 1fr); }
}
.pgRowCols{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 56px);
    @media (max-width: 575px){ grid-template-columns: minmax(0, 1fr); }
}
.pgRowHead{
    display: block;
    margin-bottom: 14px;
    font-family: "Space Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--blue);
}
.pgRows{
    margin: 0;
    padding: 0;
    list-style: none;
    li{
        position: relative;
        /* divider drawn in on scroll */
        &::after{
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 1px;
            background: var(--line);
            transform-origin: 0 50%;
            transform: scaleX(var(--line, 1));
        }
    }
}
.pgRow{
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 30px;
    align-items: center;
    padding: 18px 0;
    transition: padding 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.3s ease;
    i{ font-family: "Space Mono", monospace; font-style: normal; font-size: 11px; color: rgb(241 237 228 / 45%); }
    span{ font-weight: 700; font-size: clamp(16px, 1.2vw, 21px); color: #fff; transition: color 0.3s ease; }
    b{
        display: grid;
        place-items: center;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        border: 1px solid rgb(255 255 255 / 20%);
        font-weight: 400;
        font-size: 13px;
        color: #fff;
        transition: background 0.3s ease, border-color 0.3s ease, transform 0.4s ease;
    }
    &.isAll span, &.isAll i{ color: var(--blue); }
    &:hover{
        padding-left: 10px;
        span{ color: var(--blue); }
        b{ background: var(--blue); border-color: var(--blue); transform: rotate(45deg); }
    }
}
.pgRows:has(.pgRow:hover) .pgRow:not(:hover){ opacity: 0.4; }

/* image that trails the cursor over rows that carry one */
.pgPreview{
    position: fixed;
    left: 0;
    top: 0;
    z-index: 80;
    width: 300px;
    aspect-ratio: 16 / 10;
    border-radius: 14px;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.8) rotate(-4deg);
    transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
    box-shadow: 0 30px 60px rgb(0 0 0 / 60%);
    img{ width: 100%; height: 100%; object-fit: cover; }
    &.isOn{ opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); }
}

/* ---------------- services: practices as big hover rows ---------------- */
.pgPractices{
    padding: clamp(80px, 9vw, 170px) 0;
    background: #0a0a0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
    scroll-margin-top: 60px;
}
.pgPracList{ border-top: 1px solid rgb(255 255 255 / 40%); }
.pgPractice{
    position: relative;
    display: grid;
    grid-template-columns: 90px minmax(0, 1.1fr) minmax(0, 1fr);
    grid-template-areas: "num name text" "num name chips";
    gap: 14px clamp(24px, 4vw, 80px);
    align-items: center;
    padding: clamp(30px, 3vw, 56px) 24px clamp(30px, 3vw, 56px) 0;
    border-bottom: 1px solid rgb(255 255 255 / 18%);
    overflow: hidden;
    > *{ position: relative; z-index: 1; }
    .pgPracNum{ grid-area: num; justify-self: center; font-family: "Space Mono", monospace; font-size: 13px; color: var(--blue); }
    .pgPracName{
        grid-area: name;
        margin: 0;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(28px, 3.6vw, 70px);
        line-height: 0.95;
        text-transform: uppercase;
        color: var(--bone);
        transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), color 0.35s ease;
    }
    .pgPracText{
        grid-area: text;
        margin: 0;
        font-family: "Montserrat", sans-serif;
        font-weight: 500;
        font-size: clamp(14px, 1vw, 18px);
        line-height: 1.6;
        letter-spacing: 0;
        color: rgb(255 255 255 / 70%);
    }
    .pgPracChips{ grid-area: chips; }
    /* the practice's picture fills the row behind the text on hover */
    .pgPracImg{
        position: absolute;
        inset: 0;
        z-index: 0;
        opacity: 0;
        transition: opacity 0.5s ease;
        img{ width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
        &::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(0 0 0 / 92%), rgb(0 0 0 / 70%) 55%, rgb(0 0 0 / 50%)); }
    }
    &:hover{
        .pgPracImg{ opacity: 1; img{ transform: scale(1); } }
        .pgPracName{ transform: translateX(12px); color: #fff; }
    }
    @media (max-width: 991px){
        grid-template-columns: 50px minmax(0, 1fr);
        grid-template-areas: "num name" "num text" "num chips";
    }
}
.pgPracChips{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: clamp(24px, 2.4vw, 40px);
    .pgPractice &{ margin-top: 4px; }
}

/* ---------------- search + filter lists ---------------- */
.pgFinderWrap{
    padding: clamp(80px, 9vw, 170px) 0;
    background: #000;
    border-top: 1px solid rgb(255 255 255 / 8%);
    scroll-margin-top: 60px;
    &.isFirst{ border-top: 0; }
}
.pgFinderBar{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 30px;
    margin-bottom: 22px;
}
.pgSearch{
    position: relative;
    flex: 1 1 380px;
    max-width: 620px;
    i{ position: absolute; left: 22px; top: 50%; transform: translateY(-50%); color: var(--blue); }
    input{
        width: 100%;
        height: 60px;
        padding: 0 24px 0 56px;
        border-radius: 60px;
        border: 1px solid rgb(255 255 255 / 18%);
        background: #0d0d0d;
        font-family: "Montserrat", sans-serif;
        font-weight: 600;
        font-size: 16px;
        color: #fff;
        transition: border-color 0.3s ease, background 0.3s ease;
        &::placeholder{ color: rgb(241 237 228 / 40%); }
        &:focus{ border-color: var(--blue); background: #0b1220; }
    }
}
.pgFindCount{
    font-family: "Space Mono", monospace;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgb(241 237 228 / 55%);
    b{ color: var(--blue); font-weight: 700; }
}
.pgAz{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 26px;
    button{
        min-width: 40px;
        height: 40px;
        padding: 0 10px;
        border-radius: 40px;
        border: 1px solid rgb(255 255 255 / 14%);
        background: transparent;
        font-family: "Space Mono", monospace;
        font-size: 12px;
        font-weight: 700;
        color: rgb(241 237 228 / 75%);
        cursor: pointer;
        transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        &:hover{ border-color: var(--blue); color: #fff; }
        &.isOn{ background: var(--blue); border-color: var(--blue); color: #fff; }
        &:disabled{ opacity: 0.25; pointer-events: none; }
    }
}
.pgFindList{ border-top: 1px solid rgb(255 255 255 / 40%); }
.pgFind{
    position: relative;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1.2fr) 40px;
    align-items: center;
    gap: 20px;
    padding: 22px 0;
    border-bottom: 1px solid rgb(255 255 255 / 14%);
    overflow: hidden;
    transition: padding 0.4s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 0.3s ease;
    &::before{
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgb(0 117 255 / 16%), rgb(0 117 255 / 0%) 70%);
        transform: scaleX(0);
        transform-origin: 0 50%;
        transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    > *{ position: relative; }
    i{ justify-self: center; font-family: "Space Mono", monospace; font-style: normal; font-size: 12px; color: var(--blue); }
    .pgFindName{
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(17px, 1.5vw, 28px);
        line-height: 1.1;
        text-transform: uppercase;
        color: var(--bone);
        transition: color 0.3s ease;
    }
    .pgFindDesc{ font-size: 14px; line-height: 1.6; color: rgb(241 237 228 / 55%); }
    b{
        justify-self: end;
        display: grid;
        place-items: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: 1px solid rgb(255 255 255 / 20%);
        font-weight: 400;
        color: #fff;
        transition: background 0.3s ease, border-color 0.3s ease, transform 0.4s ease;
    }
    &:hover{
        padding-left: 12px;
        &::before{ transform: scaleX(1); }
        .pgFindName{ color: #fff; }
        b{ background: var(--blue); border-color: var(--blue); transform: rotate(45deg); }
    }
    &.isHidden{ display: none; }
    @media (max-width: 767px){
        grid-template-columns: 40px minmax(0, 1fr) 36px;
        gap: 6px 12px;
        .pgFindDesc{ grid-column: 2; grid-row: 2; }
    }
}
.pgFindList:has(.pgFind:hover) .pgFind:not(:hover){ opacity: 0.45; }
.pgFindEmpty{
    display: none;
    padding: 40px 0;
    font-size: 18px;
    color: rgb(241 237 228 / 70%);
    a{ color: var(--blue); border-bottom: 1px solid currentColor; }
    &.isOn{ display: block; }
}

/* ---------------- glossary term ---------------- */
.pgDefine{
    padding: clamp(80px, 9vw, 170px) 0;
    background: #000;
    border-top: 1px solid var(--line);
    .pgWrap{ max-width: 1400px; margin: 0 auto; }
}
.pgPager{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #0a0a0a;
    .pgPage{
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: clamp(34px, 4vw, 70px) clamp(20px, 2.6vw, 48px);
        overflow: hidden;
        &::before{
            content: "";
            position: absolute;
            inset: 0;
            background: var(--blue);
            transform: scaleY(0);
            transform-origin: 50% 100%;
            transition: transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
        > *{ position: relative; }
        & + .pgPage{ border-left: 1px solid var(--line); }
        &.isNext{ text-align: right; }
        .pgPageDir{ font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(241 237 228 / 60%); }
        .pgPageName{
            font-family: "Archivo", "Montserrat", sans-serif;
            font-stretch: 125%;
            font-variation-settings: "wdth" 125;
            font-weight: 800;
            font-size: clamp(22px, 3vw, 58px);
            line-height: 1;
            text-transform: uppercase;
            color: #fff;
        }
        &:hover{ &::before{ transform: scaleY(1); } .pgPageDir{ color: #fff; } }
    }
}

/* ---------------- contact + careers forms ---------------- */
.pgContact,
.pgApply{
    padding: clamp(80px, 9vw, 170px) 0;
    background: #000;
    border-top: 1px solid rgb(255 255 255 / 8%);
    scroll-margin-top: 60px;
}
.pgApply{ background: #0a0a0a; }
.pgContactGrid{
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: clamp(40px, 6vw, 120px);
    align-items: start;
    @media (max-width: 991px){ grid-template-columns: minmax(0, 1fr); }
}
.pgForm{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 26px;
    label{
        display: flex;
        flex-direction: column;
        gap: 10px;
        font-family: "Space Mono", monospace;
        font-size: 11px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
    }
    input, textarea, select{
        width: 100%;
        padding: 14px 0;
        border: 0;
        border-bottom: 1px solid rgb(255 255 255 / 25%);
        border-radius: 0;
        background: transparent;
        font-family: "Montserrat", sans-serif;
        font-weight: 600;
        font-size: 18px;
        letter-spacing: 0;
        text-transform: none;
        color: #fff;
        transition: border-color 0.3s ease;
        &:focus{ border-bottom-color: var(--blue); }
        &::placeholder{ font-weight: 500; color: rgb(241 237 228 / 35%); }
        &.isError{ border-bottom-color: #ff4d4d; }
    }
    select{
        appearance: none;
        cursor: pointer;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%230075ff' stroke-width='1.6'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 4px center;
        option{ background: #0b0b0b; color: #fff; }
    }
    textarea{ resize: vertical; min-height: 120px; }
    .fullRow{ grid-column: 1 / -1; }
    @media (max-width: 575px){ grid-template-columns: minmax(0, 1fr); }
}
.pgFormFoot{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
}
.pgNote{
    margin: 24px 0 0;
    font-size: 14px;
    line-height: 1.7;
    color: rgb(241 237 228 / 55%);
    .pgFormFoot &{ margin: 0; font-family: "Space Mono", monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
}
.pgContactDirect{
    padding-top: 6px;
    .pgEyebrow{ margin-bottom: 18px; }
}
.pgReach{
    position: relative;
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 30px;
    align-items: center;
    gap: 16px;
    padding: 22px 0;
    border-bottom: 1px solid rgb(255 255 255 / 14%);
    transition: padding 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
    .pgReachK{ font-family: "Space Mono", monospace; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--blue); }
    .pgReachV{ font-weight: 700; font-size: clamp(15px, 1.15vw, 20px); line-height: 1.4; color: #fff; word-break: break-word; }
    b{ font-weight: 400; color: rgb(241 237 228 / 50%); transition: color 0.3s ease, transform 0.35s ease; }
    &:hover{ padding-left: 10px; b{ color: var(--blue); transform: translate(3px, -3px); } }
}

/* ---------------- careers: roles ---------------- */
.pgRoles{
    padding: clamp(80px, 9vw, 170px) 0;
    background: #0a0a0a;
    border-top: 1px solid rgb(255 255 255 / 8%);
    scroll-margin-top: 60px;
}
.pgRoleList{
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgb(255 255 255 / 40%);
    li{
        position: relative;
        &::after{
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 1px;
            background: rgb(255 255 255 / 18%);
            transform-origin: 0 50%;
            transform: scaleX(var(--line, 1));
        }
    }
}
.pgRole{
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1.2fr) auto;
    align-items: center;
    gap: 20px;
    padding: clamp(22px, 2.2vw, 38px) 0;
    transition: padding 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
    i{ justify-self: center; font-family: "Space Mono", monospace; font-style: normal; font-size: 12px; color: var(--blue); }
    .pgRoleName{
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(18px, 1.7vw, 32px);
        line-height: 1.05;
        text-transform: uppercase;
        color: var(--bone);
        transition: color 0.3s ease;
    }
    .pgRoleText{ font-size: 15px; line-height: 1.6; color: rgb(241 237 228 / 60%); }
    .pgRoleApply{
        display: inline-flex;
        align-items: center;
        gap: 8px;
        height: 44px;
        padding: 0 22px;
        border-radius: 44px;
        border: 1px solid rgb(255 255 255 / 20%);
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        white-space: nowrap;
        color: #fff;
        transition: background 0.3s ease, border-color 0.3s ease;
    }
    &:hover{
        padding-left: 12px;
        .pgRoleName{ color: #fff; }
        .pgRoleApply{ background: var(--blue); border-color: var(--blue); }
    }
    @media (max-width: 991px){
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 8px 12px;
        .pgRoleText, .pgRoleApply{ grid-column: 2; }
        .pgRoleApply{ justify-self: start; margin-top: 6px; }
    }
}

/* ---------------- work page: the home reel with every case ---------------- */
.page_work .workWrap{
    .workCard{
        --po: linear-gradient(150deg, #0075ff, #002a66);
        cursor: pointer;
        &.poSlate{ --po: linear-gradient(150deg, #1d2a44, #0a0f1a); }
        &.poBrass{ --po: linear-gradient(150deg, #8a5cf6, #2c1466); }
        &.poBone{ --po: linear-gradient(150deg, #262626, #0b0b0b); }
        &.noImg .workPoster{ background: var(--po); }
    }
}
.caseModal{
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    .caseShade{ position: absolute; inset: 0; background: rgb(0 0 0 / 85%); backdrop-filter: blur(10px); }
    .caseBox{
        position: relative;
        width: min(1120px, 100%);
        max-height: calc(100vh - 40px);
        overflow: auto;
        border-radius: 22px;
        border: 1px solid rgb(255 255 255 / 12%);
        background: #0a0a0a;
        transform: translateY(40px) scale(0.97);
        transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .caseTop{
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 18px 26px;
        border-bottom: 1px solid rgb(255 255 255 / 10%);
        .caseFile{ font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(241 237 228 / 60%); }
    }
    .caseClose{
        width: 44px;
        height: 44px;
        border-radius: 50%;
        border: 1px solid rgb(255 255 255 / 20%);
        background: transparent;
        color: #fff;
        cursor: pointer;
        transition: background 0.3s ease, transform 0.4s ease;
        &:hover{ background: var(--blue); transform: rotate(90deg); }
    }
    .caseBody{
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 36px;
        padding: 30px;
        @media (max-width: 767px){ grid-template-columns: minmax(0, 1fr); }
    }
    .casePoster{
        position: relative;
        display: flex;
        align-items: flex-end;
        aspect-ratio: 4 / 5;
        padding: 24px;
        border-radius: 16px;
        overflow: hidden;
        background: linear-gradient(150deg, #0075ff, #002a66) center / cover;
        @media (max-width: 767px){ aspect-ratio: 16 / 10; }
        &::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgb(0 0 0 / 80%)); }
        .caseBig{
            position: relative;
            z-index: 1;
            font-family: "Archivo", "Montserrat", sans-serif;
            font-stretch: 125%;
            font-variation-settings: "wdth" 125;
            font-weight: 800;
            font-size: clamp(34px, 4vw, 70px);
            line-height: 0.95;
            text-transform: uppercase;
            color: #fff;
        }
    }
    .caseInfo{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        h3{
            margin: 0;
            font-family: "Archivo", "Montserrat", sans-serif;
            font-stretch: 125%;
            font-variation-settings: "wdth" 125;
            font-weight: 800;
            font-size: clamp(26px, 2.8vw, 46px);
            line-height: 1;
            text-transform: uppercase;
            color: #fff;
        }
    }
    .caseTagline{ margin: 0; font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--blue); }
    .caseDesc{ margin: 0; font-size: 17px; line-height: 1.75; color: rgb(241 237 228 / 70%); }
    .caseRows{ width: 100%; border-top: 1px solid rgb(255 255 255 / 10%); }
    .caseRow{
        display: grid;
        grid-template-columns: 100px minmax(0, 1fr);
        gap: 16px;
        padding: 12px 0;
        border-bottom: 1px solid rgb(255 255 255 / 10%);
        span{ font-family: "Space Mono", monospace; font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgb(241 237 228 / 55%); }
        b{ font-weight: 700; font-size: 15px; color: #fff; }
    }
    .caseStats{
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        &:empty{ display: none; }
        div{ display: flex; flex-direction: column; gap: 6px; }
        b{ font-family: "Archivo", "Montserrat", sans-serif; font-stretch: 125%; font-variation-settings: "wdth" 125; font-weight: 800; font-size: 38px; line-height: 1; color: var(--blue); }
        span{ font-family: "Space Mono", monospace; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: rgb(241 237 228 / 60%); }
    }
    .caseBtns{ display: flex; flex-wrap: wrap; gap: 12px; }
    &.isOpen{
        visibility: visible;
        opacity: 1;
        .caseBox{ transform: none; }
    }
}

/* ---------------- phones ---------------- */
@media (max-width: 767px){
    .pgHero{ min-height: max(600px, 92vh); padding-top: 120px; }
    .pgHero.isSmall{ min-height: 460px; }
    .pgScrollCue{ display: none; }
    .pgPreview{ display: none; }
}

/* ================================================================
   Team page: leadership list + profile popup
   ================================================================ */
.tmWrap{
    padding: clamp(80px, 9vw, 160px) 0 clamp(60px, 7vw, 120px);
    background: #000;
}
/* portraits trail the cursor here, so the preview turns tall */
.page_team .pgPreview{
    width: 240px;
    aspect-ratio: 740 / 800;
    border-radius: 18px;
    img{ object-position: 50% 20%; }
}
.tmList{
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line);
    li{ border-bottom: 1px solid var(--line); }
}
.tmRow{
    position: relative;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) minmax(0, 300px) 150px;
    align-items: center;
    gap: 24px;
    width: 100%;
    padding: clamp(22px, 2.4vw, 40px) 0;
    border: 0;
    background: none;
    text-align: left;
    color: var(--bone);
    cursor: pointer;
    isolation: isolate;
    /* a soft blue band rises behind the row on hover */
    &::before{
        content: "";
        position: absolute;
        inset: 0 calc(-1 * clamp(20px, 2.6vw, 48px));
        z-index: -1;
        background: linear-gradient(90deg, rgb(0 117 255 / 14%), rgb(0 117 255 / 0%) 70%);
        transform: scaleY(0);
        transform-origin: 50% 100%;
        transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
    }
    .tmIdx{
        font-family: "Space Mono", monospace;
        font-size: 13px;
        letter-spacing: 0.16em;
        color: rgb(241 237 228 / 55%);
        transition: color 0.3s ease;
    }
    .tmThumb{ display: none; }
    /* the name swaps for a blue copy that rolls up from below */
    .tmName{
        display: block;
        overflow: hidden;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(26px, 4.2vw, 76px);
        line-height: 1.05;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        white-space: nowrap;
    }
    .tmNameIn{
        position: relative;
        display: inline-block;
        transition: transform 0.55s cubic-bezier(0.65, 0, 0.35, 1);
        &::after{
            content: attr(data-text);
            position: absolute;
            left: 0;
            top: 100%;
            color: var(--blue);
        }
    }
    .tmRole{
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--dim);
    }
    .tmGo{
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 14px;
        i{
            font-style: normal;
            font-family: "Space Mono", monospace;
            font-size: 11px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--dim);
            opacity: 0;
            transform: translateX(10px);
            transition: opacity 0.35s ease, transform 0.35s ease;
        }
        b{
            display: grid;
            place-items: center;
            width: 54px;
            height: 54px;
            border: 1px solid rgb(255 255 255 / 20%);
            border-radius: 50%;
            font-weight: 400;
            font-size: 20px;
            color: var(--bone);
            transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease, transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
        }
    }
    &:hover, &:focus-visible{
        &::before{ transform: scaleY(1); }
        .tmIdx{ color: var(--blue); }
        .tmNameIn{ transform: translateY(-100%); }
        .tmGo i{ opacity: 1; transform: none; }
        .tmGo b{ background: #0075ff; border-color: #0075ff; color: #fff; transform: rotate(-45deg); }
    }
    &:focus-visible{ outline: 2px solid var(--blue); outline-offset: 4px; }
}

/* ---- hiring strip ---- */
.tmJoin{
    padding: clamp(60px, 7vw, 120px) 0;
    border-top: 1px solid var(--line);
    background: #0a0a0a;
    .tmJoinIn{
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 30px;
        flex-wrap: wrap;
    }
    .pgEyebrow{ margin-bottom: 18px; }
    .tmJoinTitle{
        margin: 0;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(28px, 3.6vw, 64px);
        line-height: 1;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        color: var(--bone);
        em{ font-style: normal; color: var(--blue); }
    }
}

/* ---- profile popup ---- */
html.tmLock{ overflow: hidden; }
.tmModal{
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 16px;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.4s ease, visibility 0s linear 0.4s;
    &.isOpen{
        visibility: visible;
        opacity: 1;
        transition: opacity 0.4s ease;
        .tmPanel{ transform: none; }
    }
}
.tmShade{
    position: absolute;
    inset: 0;
    background: rgb(0 0 0 / 72%);
    backdrop-filter: blur(10px);
    cursor: pointer;
}
.tmPanel{
    position: relative;
    width: min(1180px, 100%);
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--line);
    border-radius: 26px;
    background: #0a0a0a;
    transform: translateY(40px) scale(0.97);
    transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.tmClose{
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border: 1px solid rgb(255 255 255 / 20%);
    border-radius: 50%;
    background: rgb(10 10 10 / 70%);
    backdrop-filter: blur(6px);
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
    span{
        position: relative;
        width: 18px;
        height: 18px;
        &::before, &::after{
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            width: 100%;
            height: 2px;
            border-radius: 2px;
            background: #fff;
            transform: rotate(45deg);
        }
        &::after{ transform: rotate(-45deg); }
    }
    &:hover{ background: #0075ff; border-color: #0075ff; transform: rotate(90deg); }
    &:focus-visible{ outline: 2px solid var(--blue); outline-offset: 3px; }
}
.tmCard{
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    &[hidden]{ display: none; }
}
.tmPhoto{
    position: relative;
    margin: 0;
    min-height: 100%;
    overflow: hidden;
    background: #151515;
    img{
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 20%;
    }
    /* soft fade so the index number reads on any photo */
    &::after{
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgb(0 0 0 / 0%) 55%, rgb(0 0 0 / 65%));
    }
    .tmBig{
        position: absolute;
        left: 24px;
        bottom: 10px;
        z-index: 1;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(70px, 9vw, 150px);
        line-height: 0.9;
        color: transparent;
        -webkit-text-stroke: 1px rgb(255 255 255 / 70%);
    }
}
.tmInfo{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    padding: clamp(36px, 4.5vw, 72px) clamp(24px, 4.5vw, 72px) clamp(28px, 3vw, 44px);
    .tmKicker{
        display: inline-flex;
        align-items: center;
        gap: 12px;
        font-family: "Space Mono", monospace;
        font-size: 12px;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 60%);
        i{ font-style: normal; color: var(--blue); }
        &::before{ content: ""; width: 30px; height: 1px; background: #0075ff; }
    }
    .tmTitle{
        margin: 0;
        padding-right: 60px;
        font-family: "Archivo", "Montserrat", sans-serif;
        font-stretch: 125%;
        font-variation-settings: "wdth" 125;
        font-weight: 800;
        font-size: clamp(32px, 4vw, 64px);
        line-height: 0.95;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        color: var(--bone);
    }
    .tmRoleBig{
        margin: -10px 0 0;
        font-family: "Space Mono", monospace;
        font-size: 13px;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--blue);
    }
    .tmBio p{
        margin: 0 0 0.9em;
        font-size: clamp(15px, 1.05vw, 17px);
        line-height: 1.7;
        color: rgb(255 255 255 / 72%);
        em{ font-style: normal; color: var(--bone); font-weight: 700; }
        &:last-child{ margin-bottom: 0; }
    }
    .tmQuote{
        margin: 0;
        padding: 4px 0 4px 20px;
        border-left: 2px solid #0075ff;
        font-weight: 700;
        font-size: clamp(17px, 1.4vw, 22px);
        line-height: 1.4;
        color: var(--bone);
    }
    .tmLeads{
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        ul{ display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
        li{
            padding: 8px 14px;
            border: 1px solid rgb(255 255 255 / 16%);
            border-radius: 50px;
            font-size: 13px;
            font-weight: 600;
            color: var(--bone);
        }
    }
    .tmLabel{
        font-family: "Space Mono", monospace;
        font-size: 11px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: rgb(241 237 228 / 55%);
    }
    .tmActions{ margin-top: 6px; }
}
.tmNav{
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--line);
    button{
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 22px clamp(20px, 3vw, 40px);
        border: 0;
        background: none;
        text-align: left;
        color: var(--bone);
        cursor: pointer;
        transition: background-color 0.3s ease;
        span{
            display: grid;
            place-items: center;
            flex: 0 0 auto;
            width: 42px;
            height: 42px;
            border: 1px solid rgb(255 255 255 / 20%);
            border-radius: 50%;
            transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        }
        em{
            font-style: normal;
            font-family: "Space Mono", monospace;
            font-size: 11px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgb(241 237 228 / 55%);
        }
        b{ font-weight: 700; font-size: 15px; }
        &:hover{
            background: rgb(0 117 255 / 8%);
            span{ background: #0075ff; border-color: #0075ff; color: #fff; }
        }
        &:focus-visible{ outline: 2px solid var(--blue); outline-offset: -4px; }
    }
    .tmNext{
        justify-content: flex-end;
        border-left: 1px solid var(--line);
        text-align: right;
    }
}

@media (max-width: 1199px){
    .tmRow{ grid-template-columns: 50px minmax(0, 1fr) 70px; row-gap: 6px; }
    .tmRow .tmRole{ grid-column: 2; grid-row: 2; }
    .tmRow .tmGo{ grid-column: 3; grid-row: 1 / span 2; }
    .tmRow .tmGo i{ display: none; }
}
/* touch screens: no cursor photo, so each row carries its own */
@media (hover: none), (pointer: coarse), (max-width: 767px){
    .tmRow{ grid-template-columns: 64px minmax(0, 1fr) 50px; column-gap: 16px; }
    .tmRow .tmIdx{ display: none; }
    .tmRow .tmThumb{
        display: block;
        grid-row: 1 / span 2;
        width: 64px;
        height: 64px;
        border-radius: 50%;
        overflow: hidden;
        background: #151515;
        img{ width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
    }
    .tmRow .tmName{ font-size: clamp(16px, 5vw, 40px); white-space: normal; }
    .tmRow .tmRole{ grid-column: 2; font-size: 11px; }
    .tmRow .tmGo b{ width: 44px; height: 44px; font-size: 17px; }
}
@media (max-width: 767px){
    .tmModal{ padding: 0; place-items: end center; }
    .tmPanel{ max-height: 94dvh; border-radius: 22px 22px 0 0; }
    .tmCard{ grid-template-columns: 1fr; }
    .tmPhoto{ min-height: 0; aspect-ratio: 4 / 3.4; }
    .tmInfo{ gap: 18px; }
    .tmInfo .tmTitle{ padding-right: 0; }
    .tmClose{ top: 12px; right: 12px; width: 44px; height: 44px; }
    .tmNav button{ padding: 18px 16px; gap: 10px; }
    .tmNav button em{ display: none; }
    .tmNav button b{ font-size: 13px; }
}
@media (prefers-reduced-motion: reduce){
    .tmPanel, .tmRow .tmNameIn, .tmRow::before{ transition: none; }
}

/* theme-light.css */
/* light mode: generated from the site stylesheets by flipping neutral colours.
   brand colours, photos and the full-screen video scenes are unchanged. */
/* 02, 10 Oct: the generator flipped these four the wrong way (near-white text on white); plain text now inherits dark */
html:where([data-theme="light"]),
:where(html[data-theme="light"]) body{ color: #0b0b0b; }
:where(html[data-theme="light"]) p{ color: inherit; }
:where(html[data-theme="light"]) h2{ color: inherit; }
:where(html[data-theme="light"]) a{ color: inherit; }
:where(html[data-theme="light"]) hr{ background-color: #1c1c1c; border-top: 1px solid #cccccc; }
:where(html[data-theme="light"]) ::selection{ color: #000000; }
:where(html[data-theme="light"]) ::-moz-selection{ color: #000000; }
:where(html[data-theme="light"]) body{ background-color: #ffffff; }
:where(html[data-theme="light"]) .whiteText{ color: #000000; }
:where(html[data-theme="light"]) .qcOverlay{ background-color: rgb(255 255 255 / 0.6); }
:where(html[data-theme="light"]) .qcPanel{ background-color: #f1f1f1; border-left: 1px solid rgb(0 0 0 / 0.12); color: #000000; }
:where(html[data-theme="light"]) .qcClose{ border: 1px solid rgb(0 0 0 / 0.18); color: #000000; }
:where(html[data-theme="light"]) .qcHead span{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .qcHead h2{ color: #000000; }
:where(html[data-theme="light"]) .qcHead p{ color: rgb(0 0 0 / 0.86); }
:where(html[data-theme="light"]) .qcForm label{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) :is(.qcForm input, .qcForm select, .qcForm textarea)::placeholder{ color: rgb(0 0 0 / 0.72); }
:where(html[data-theme="light"]) :is(.qcForm input, .qcForm select, .qcForm textarea):focus{ background-color: #e8e4dd; }
:where(html[data-theme="light"]) .qcForm input,
:where(html[data-theme="light"]) .qcForm select,
:where(html[data-theme="light"]) .qcForm textarea{ border: 1px solid rgb(0 0 0 / 0.14); background-color: #eaeaea; color: #000000; }
:where(html[data-theme="light"]) .qcForm select option{ background-color: #eaeaea; color: #000000; }
:where(html[data-theme="light"]) .qcForm select{ background-image: linear-gradient(45deg, transparent 50%, #000000 50%), linear-gradient(135deg, #000000 50%, transparent 50%); }
:where(html[data-theme="light"]) .qcForm .qcSubmit:hover{ background-color: #000000; }
:where(html[data-theme="light"]) .qcForm .qcSubmit:focus-visible{ outline: 2px solid #000000; }
:where(html[data-theme="light"]) .qcForm .qcNote{ color: rgb(0 0 0 / 0.78); }
:where(html[data-theme="light"]) .qcAlt a:hover{ background-color: #0e121b; border-color: #0e121b; color: #f4f4f4; }
:where(html[data-theme="light"]) .qcAlt a{ border: 1px solid rgb(0 0 0 / 0.16); color: #0e121b; }
:where(html[data-theme="light"]) .themeSwitch svg{ stroke: rgb(14 18 27 / 0.55); }
:where(html[data-theme="light"]) .themeSwitch{ border: 1px solid rgb(0 0 0 / 0.18); background-color: rgb(0 0 0 / 0.06); }
@media (max-width: 420px){ :where(html[data-theme="light"]) .themeSwitch .tsSun{ stroke: #000000; } }
:where(html[data-theme="light"]) .headerWrap .headerInner .menuWrap > ul > li > a{ color: #0e121b; }
:where(html[data-theme="light"]) .headerWrap .headerInner .menuWrap > ul > li .subMenu li a:hover{ color: #000000; background-color: rgb(0 0 0 / 0.06); }
:where(html[data-theme="light"]) .headerWrap .headerInner .menuWrap > ul > li .subMenu li a{ color: rgb(14 18 27 / 0.88); }
:where(html[data-theme="light"]) .headerWrap .headerInner .menuWrap > ul > li .subMenu{ border: 1px solid rgb(0 0 0 / 0.1); background-color: rgb(243 243 243 / 0.96); }
:where(html[data-theme="light"]) .headerWrap .headerInner .menuWrap > ul > li .subMenu .subAll{ border-top: 1px solid rgb(0 0 0 / 0.1); }
:where(html[data-theme="light"]) .headerWrap .headerInner .menuWrap .menuCta:hover{ background-color: #000000; color: #f4f4f4; }
:where(html[data-theme="light"]) .headerWrap .headerInner .menuWrap{ border: 1px solid rgb(0 0 0 / 0.09); background-color: rgb(243 243 243 / 0.88); }
:where(html[data-theme="light"]) .headerWrap.isSticky{ background-color: #ffffff; border-bottom: 1px solid rgb(0 0 0 / 0.1); }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftTitle{ color: #000000; }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftBrand p{ color: #373737; }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftBrand .ftCin{ color: #585858; }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftBrand .ftSocials .ftSocial{ color: #000000; border: 1px solid rgb(0 0 0 / 0.18); background-color: rgb(0 0 0 / 0.059); }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftCol .ftLink:hover{ color: #000000; }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftCol .ftLink{ color: #424242; }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftTouch .ftAddress p b{ color: #000000; }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftTouch .ftAddress p{ color: #373737; }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftTouch .ftReach .ftChips .ftChip:hover i,
:where(html[data-theme="light"]) .ftWrap .ftMain .ftTouch .ftReach .ftChips .ftChip:hover svg{ color: #000000; }
:where(html[data-theme="light"]) .ftWrap .ftMain .ftTouch .ftReach .ftChips .ftChip{ border: 1px solid rgb(0 0 0 / 0.18); background-color: rgb(0 0 0 / 0.059); color: #424242; }
:where(html[data-theme="light"]) .ftWrap .ftBottom .ftCopy,
:where(html[data-theme="light"]) .ftWrap .ftBottom .ftMade{ color: #585858; }
:where(html[data-theme="light"]) .ftWrap .ftBottom .ftLegal li a{ color: #373737; }
:where(html[data-theme="light"]) .ftWrap .ftBottom{ border-top: 1px solid rgb(0 0 0 / 0.102); }
:where(html[data-theme="light"]) .ftWrap{ background-color: #ffffff; }
:where(html[data-theme="light"]) .ftTop > svg:not(.svg-inline--fa) circle.ftTopTrack{ stroke: rgb(0 0 0 / 0.102); }
:where(html[data-theme="light"]) .ftTop:hover{ background-color: #e4e1db; }
:where(html[data-theme="light"]) .ftTop{ color: #000000; background-color: rgb(239 237 233 / 0.902); border: 1px solid rgb(0 0 0 / 0.169); }
:where(html[data-theme="light"]) .ftCta .ftCtaEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .ftCta .ftMail{ color: #000000; }
:where(html[data-theme="light"]) .ftCta .ftCopyBtn:hover{ background-color: #0e121b; border-color: #0e121b; color: #f4f4f4; }
:where(html[data-theme="light"]) .ftCta .ftCopyBtn{ border: 1px solid rgb(0 0 0 / 0.2); color: #0e121b; }
:where(html[data-theme="light"]) .ftCta .ftClock b{ color: #000000; }
:where(html[data-theme="light"]) .ftCta .ftClock{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .ftCta{ border-bottom: 1px solid rgb(0 0 0 / 0.1); }
:where(html[data-theme="light"]) .ftMark .ftLetter{ -webkit-text-stroke: 1px rgb(0 0 0 / 0.18); }
:where(html[data-theme="light"]) .indWrap .indRow{ border-bottom: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .indWrap .indItem{ color: #464c57; }
:where(html[data-theme="light"]) .indWrap .outline .indItem{ -webkit-text-stroke: 1px rgb(14 18 27 / 0.45); }
:where(html[data-theme="light"]) .indWrap .indMore:hover{ color: #000000; }
:where(html[data-theme="light"]) .indWrap{ background-color: #f3f4f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .mktWrap .mktEyebrow{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .mktWrap .mktTitle{ color: #000000; }
:where(html[data-theme="light"]) .mktWrap .mktText{ color: rgb(0 0 0 / 0.88); }
:where(html[data-theme="light"]) .mktWrap .mktList li::after{ background-color: rgb(0 0 0 / 0.22); }
:where(html[data-theme="light"]) .mktWrap .mktList{ border-top: 1px solid rgb(0 0 0 / 0.1); }
:where(html[data-theme="light"]) .mktWrap .mktItem i{ color: rgb(14 18 27 / 0.76); }
:where(html[data-theme="light"]) .mktWrap .mktItem b{ border: 1px solid rgb(0 0 0 / 0.18); }
:where(html[data-theme="light"]) .mktWrap .mktItem{ color: #000000; }
:where(html[data-theme="light"]) .mktWrap{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .whyWrap .whyEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .whyWrap .whyTitle .whyLine:first-child{ color: rgb(14 18 27 / 0.88); }
:where(html[data-theme="light"]) .whyWrap .whyTitle{ color: #0e121b; }
:where(html[data-theme="light"]) .whyWrap .whyGrid{ border: 1px solid rgb(0 0 0 / 0.12); }
:where(html[data-theme="light"]) .whyWrap .whyCard + .whyCard{ border-left: 1px solid rgb(0 0 0 / 0.12); }
:where(html[data-theme="light"]) .whyWrap .whyCard h3{ color: #0e121b; }
:where(html[data-theme="light"]) .whyWrap .whyCard p{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .whyWrap .whyCard:hover{ background-color: #edebe7; }
:where(html[data-theme="light"]) .whyWrap .whyCard{ background-color: #f2f2f2; }
:where(html[data-theme="light"]) .whyWrap{ background-color: #f5f5f5; }
@media (max-width: 1199px){ :where(html[data-theme="light"]) .whyWrap .whyCard:nth-child(n + 3){ border-top: 1px solid rgb(0 0 0 / 0.12); } }
@media (max-width: 575px){ :where(html[data-theme="light"]) .whyWrap .whyCard + .whyCard{ border-top: 1px solid rgb(0 0 0 / 0.12); } }
:where(html[data-theme="light"]) .workWrap .workEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .workWrap .workTitle{ color: #000000; }
:where(html[data-theme="light"]) .workWrap .workProg .workBar{ background-color: rgb(0 0 0 / 0.12); }
:where(html[data-theme="light"]) .workWrap .workProg{ color: rgb(14 18 27 / 0.78); }
:where(html[data-theme="light"]) .workWrap .workCard{ color: #000000; }
:where(html[data-theme="light"]) .workWrap .workPoster::after{ background: radial-gradient(120% 90% at 85% 12%, rgb(0 117 255 / 22%), transparent 55%),
                repeating-linear-gradient(0deg, transparent 0 5px, rgb(13 18 28 / 0.02) 5px 6px); }
:where(html[data-theme="light"]) .workWrap .workPoster{ border: 1px solid rgb(0 0 0 / 0.12); background-color: #f2f2f2; }
:where(html[data-theme="light"]) .workWrap .workChip{ border: 1px solid rgb(0 0 0 / 0.22); background-color: rgb(255 255 255 / 0.4); color: rgb(14 18 27 / 0.92); }
:where(html[data-theme="light"]) .workWrap .alt .workBig{ color: #0e121b; }
:where(html[data-theme="light"]) .workWrap .workRes b{ color: #000000; }
:where(html[data-theme="light"]) .workWrap .workRes small{ color: rgb(14 18 27 / 0.86); }
:where(html[data-theme="light"]) .workWrap .workMeta small{ color: rgb(14 18 27 / 0.78); }
:where(html[data-theme="light"]) .workWrap .workEnd p{ color: rgb(0 0 0 / 0.92); }
:where(html[data-theme="light"]) .workWrap .workBtn:hover{ background-color: #000000; }
:where(html[data-theme="light"]) .workWrap .workMore{ border-bottom: 1px solid rgb(14 18 27 / 0.4); color: rgb(14 18 27 / 0.88); }
:where(html[data-theme="light"]) .workWrap{ background-color: #fafafa; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .howWrap .howEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .howWrap .howTitle{ color: #0e121b; }
:where(html[data-theme="light"]) .howWrap .howText{ color: rgb(0 0 0 / 0.88); }
:where(html[data-theme="light"]) .howWrap .howList{ border-top: 1px solid rgb(0 0 0 / 0.4); }
:where(html[data-theme="light"]) .howWrap .howRail{ background-color: rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .howWrap .howStep::after{ background-color: rgb(0 0 0 / 0.18); }
:where(html[data-theme="light"]) .howWrap .howStep h3{ color: #0e121b; }
:where(html[data-theme="light"]) .howWrap .howStep p{ color: rgb(0 0 0 / 0.88); }
:where(html[data-theme="light"]) .howWrap .howStep:hover h3{ color: #000000; }
:where(html[data-theme="light"]) .howWrap{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .voxWrap .voxEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .voxWrap .voxTitle{ color: #000000; }
:where(html[data-theme="light"]) .voxWrap .voxList{ border-top: 1px solid rgb(0 0 0 / 0.12); }
:where(html[data-theme="light"]) .voxWrap .voxTab .voxAv{ border: 1px solid rgb(0 0 0 / 0.18); }
:where(html[data-theme="light"]) .voxWrap .voxTab .voxWho small{ color: rgb(14 18 27 / 0.76); }
:where(html[data-theme="light"]) .voxWrap .voxTab:hover{ color: #000000; }
:where(html[data-theme="light"]) .voxWrap .voxTab.is-on{ color: #000000; }
:where(html[data-theme="light"]) .voxWrap .voxTab{ border-bottom: 1px solid rgb(0 0 0 / 0.12); color: rgb(0 0 0 / 0.82); }
:where(html[data-theme="light"]) .voxWrap .voxQuote blockquote{ color: #000000; }
:where(html[data-theme="light"]) .voxWrap .voxQuote figcaption small{ color: rgb(14 18 27 / 0.8); }
:where(html[data-theme="light"]) .voxWrap .voxQuote figcaption{ color: #000000; }
:where(html[data-theme="light"]) .voxWrap .voxNav button{ border: 1px solid rgb(0 0 0 / 0.18); color: #000000; }
:where(html[data-theme="light"]) .voxWrap .voxNav .voxCount{ color: rgb(14 18 27 / 0.78); }
:where(html[data-theme="light"]) .voxWrap{ background-color: #fafafa; border-top: 1px solid rgb(0 0 0 / 0.08); }
@media (max-width: 991px){ :where(html[data-theme="light"]) .voxWrap .voxTab{ border: 1px solid rgb(0 0 0 / 0.14); } }
:where(html[data-theme="light"]) .cliWrap .cliEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .cliWrap .cliTitle{ color: #000000; }
:where(html[data-theme="light"]) .cliWrap .cliText{ color: rgb(14 18 27 / 0.78); }
:where(html[data-theme="light"]) .cliWrap{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .crewWrap .crewEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .crewWrap .crewTitle{ color: #0e121b; }
:where(html[data-theme="light"]) .crewWrap .crewText{ color: rgb(0 0 0 / 0.888); }
:where(html[data-theme="light"]) .crewWrap .crewMeta b{ color: #0e121b; }
:where(html[data-theme="light"]) .crewWrap .crewMeta{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .crewWrap .crewTicker{ border-top: 1px solid rgb(0 0 0 / 0.12); border-bottom: 1px solid rgb(0 0 0 / 0.12); }
:where(html[data-theme="light"]) .crewWrap .crewWord{ color: rgb(14 18 27 / 0.88); }
:where(html[data-theme="light"]) .crewWrap{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .ctaWrap .ctaEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .ctaWrap .ctaTitle{ color: #0e121b; }
:where(html[data-theme="light"]) .ctaWrap .ctaBtn:hover{ background-color: #0e121b; border-color: #0e121b; color: #f4f4f4; }
:where(html[data-theme="light"]) .ctaWrap .ctaBtn.solid:hover{ background-color: #000000; border-color: #000000; }
:where(html[data-theme="light"]) .ctaWrap .ctaBtn{ border: 1px solid rgb(0 0 0 / 0.18); color: #0e121b; }
:where(html[data-theme="light"]) .ctaWrap .faqTitle{ color: #0e121b; }
:where(html[data-theme="light"]) .ctaWrap .faqList{ border-top: 1px solid rgb(0 0 0 / 0.4); }
:where(html[data-theme="light"]) .ctaWrap .faqItem{ border-bottom: 1px solid rgb(0 0 0 / 0.18); }
:where(html[data-theme="light"]) .ctaWrap .faqQ b::before,
:where(html[data-theme="light"]) .ctaWrap .faqQ b::after{ background-color: #0e121b; }
:where(html[data-theme="light"]) .ctaWrap .faqQ b{ border: 1px solid rgb(0 0 0 / 0.18); }
:where(html[data-theme="light"]) .ctaWrap .faqQ:hover span{ color: #000000; }
:where(html[data-theme="light"]) .ctaWrap .faqQ{ color: #0e121b; }
:where(html[data-theme="light"]) .ctaWrap .is-open .faqQ b::before,
:where(html[data-theme="light"]) .ctaWrap .is-open .faqQ b::after{ background-color: #f4f4f4; }
:where(html[data-theme="light"]) .ctaWrap .faqA p{ color: rgb(0 0 0 / 0.88); }
:where(html[data-theme="light"]) .ctaWrap{ background-color: #fafafa; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pplWrap .pplTitle{ color: #000000; }
:where(html[data-theme="light"]) .pplWrap .pplPhoto.pplInitials span{ color: #0e121b; }
:where(html[data-theme="light"]) .pplWrap .pplPhoto{ border: 1px solid rgb(0 0 0 / 0.14); background-color: #efede9; }
:where(html[data-theme="light"]) .pplWrap .pplMeta h3{ color: #000000; }
:where(html[data-theme="light"]) .pplWrap .pplMeta span{ color: rgb(14 18 27 / 0.8); }
:where(html[data-theme="light"]) .pplWrap .pplBtn:hover{ background-color: #000000; }
:where(html[data-theme="light"]) .pplWrap{ background-color: #fafafa; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .blogWrap .blogEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .blogWrap .blogTitle{ color: #000000; }
:where(html[data-theme="light"]) .blogWrap .blogCard{ border: 1px solid rgb(0 0 0 / 0.12); background-color: #f1f1f1; color: #000000; }
:where(html[data-theme="light"]) .blogWrap .blogMeta{ border-bottom: 1px solid rgb(0 0 0 / 0.1); background-color: #ebebeb; color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .blogWrap .blogBody h3{ color: #000000; }
:where(html[data-theme="light"]) .blogWrap .blogBody em{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .blogWrap .blogArrow{ border: 1px solid rgb(0 0 0 / 0.18); background-color: rgb(245 245 245 / 0.85); color: #000000; }
:where(html[data-theme="light"]) .blogWrap .blogDots .swiper-pagination-bullet{ background-color: rgb(0 0 0 / 0.22); }
:where(html[data-theme="light"]) .blogWrap .blogBtn:hover{ background-color: #000000; }
:where(html[data-theme="light"]) .blogWrap{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .marqueeWrap .marqueeText.outline{ -webkit-text-stroke: 1px rgb(0 0 0 / 0.8); }
:where(html[data-theme="light"]) .marqueeWrap .marqueeText{ color: #000000; }
:where(html[data-theme="light"]) .marqueeWrap .marqueeStar{ color: #000000; }
:where(html[data-theme="light"]) .marqueeWrap{ background-color: #ffffff; border-bottom: 1px solid rgb(0 0 0 / 0.169); }
:where(html[data-theme="light"]) .serviceWrap .serviceHead h2{ color: #000000; }
:where(html[data-theme="light"]) .serviceWrap .serviceItem::before{ background-color: rgb(255 255 255 / 0.76); }
:where(html[data-theme="light"]) .serviceWrap .serviceItem figure{ background: linear-gradient(145deg, #e8e7e3 0%, #f4f3f0 60%, #efede9 100%); border: 1px solid rgb(0 0 0 / 0.078); }
:where(html[data-theme="light"]) .serviceWrap .serviceItem .serviceMeta h3{ color: #000000; }
:where(html[data-theme="light"]) .serviceWrap .serviceItem .serviceMeta .serviceTag{ color: #373737; }
:where(html[data-theme="light"]) .serviceWrap .serviceItem .serviceCont h3{ color: #000000; }
:where(html[data-theme="light"]) .serviceWrap .serviceItem .serviceCont p{ color: #000000; }
:where(html[data-theme="light"]) .serviceWrap .serviceItem .serviceCont .serviceBtn{ color: #000000; }
:where(html[data-theme="light"]) .serviceWrap .serviceItem .serviceCont ul.customList li a{ color: #000000; }
:where(html[data-theme="light"]) .serviceWrap .serviceItem{ border: 1px solid rgb(0 0 0 / 0.341); }
:where(html[data-theme="light"]) .caseWrap::before{ background-color: rgb(255 255 255 / 0.612); }
:where(html[data-theme="light"]) .caseWrap .caseHead h2{ color: #000000; -webkit-text-stroke: 1px rgb(0 0 0 / 0.6); }
:where(html[data-theme="light"]) .caseWrap .caseItem .caseName h3{ color: #000000; }
:where(html[data-theme="light"]) .caseWrap .caseItem .caseName{ background-color: rgb(255 255 255 / 0.55); }
:where(html[data-theme="light"]) .caseWrap .caseItem:hover .caseName{ background-color: rgb(255 255 255 / 0.75); }
:where(html[data-theme="light"]) .caseWrap .caseItem{ border: 1px solid rgb(0 0 0 / 0.169); }
:where(html[data-theme="light"]) .caseWrap .caseMore .caseMoreBtn{ color: #000000; }
:where(html[data-theme="light"]) .reelWrap .reelHead h2{ color: #000000; }
:where(html[data-theme="light"]) .reelWrap .reelVideoWrap .reelPlay::before{ border: 1px solid rgb(0 0 0 / 0.502); }
:where(html[data-theme="light"]) .reelWrap .reelVideoWrap .reelPlay:hover{ color: #000000; }
:where(html[data-theme="light"]) .reelWrap .reelVideoWrap .reelPlay{ color: #000000; }
:where(html[data-theme="light"]) .reelWrap .reelVideoWrap{ border: 1px solid rgb(0 0 0 / 0.169); }
:where(html[data-theme="light"]) .reelWrap{ background-color: #ffffff; }
:where(html[data-theme="light"]) .clientWrap .clientHead h2{ color: #000000; }
:where(html[data-theme="light"]) .clientWrap .clientItem span{ color: #e3e3e3; }
:where(html[data-theme="light"]) .clientWrap .clientItem{ background-color: #000000; }
:where(html[data-theme="light"]) .clientWrap{ background-color: #ffffff; }
:where(html[data-theme="light"]) .testiWrap .testiHead h2{ color: #000000; }
:where(html[data-theme="light"]) .testiWrap .testiCard{ border: 1px solid rgb(0 0 0 / 0.169); background: linear-gradient(145deg, #f2f1ed 0%, #f7f6f3 60%, #f4f2ee 100%); }
:where(html[data-theme="light"]) .testiWrap .testiPhoto{ background-color: #efede9; }
:where(html[data-theme="light"]) .testiWrap .testiBody .testiQuote{ color: rgb(0 0 0 / 0.624); }
:where(html[data-theme="light"]) .testiWrap .testiBody .testiText{ color: #282828; }
:where(html[data-theme="light"]) .testiWrap .testiBody .testiFoot .testiPerson{ color: #000000; }
:where(html[data-theme="light"]) .testiWrap .testiBody .testiFoot .testiRole{ color: #373737; }
:where(html[data-theme="light"]) .testiWrap .testiArrow{ color: #000000; border: 1px solid rgb(0 0 0 / 0.18); background-color: rgb(235 233 229 / 0.8); }
:where(html[data-theme="light"]) .testiWrap .testiCount .testiTotal{ color: #585858; }
:where(html[data-theme="light"]) .testiWrap .testiCount .testiLine{ background-color: rgb(0 0 0 / 0.102); }
:where(html[data-theme="light"]) .testiWrap{ background-color: #ffffff; }
:where(html[data-theme="light"]) .careerWrap .careerHero .careerPhoto{ background-color: #efede9; }
:where(html[data-theme="light"]) .careerWrap .careerHero .careerBadge .careerNum{ color: #000000; }
:where(html[data-theme="light"]) .careerWrap .careerHero .careerBadge .careerBadgeLabel{ color: #000000; }
:where(html[data-theme="light"]) .careerWrap .careerPanel .careerAction .careerBtn:hover{ color: #000000; }
:where(html[data-theme="light"]) .careerWrap .careerPanel .careerAction .careerBtn{ color: #000000; }
:where(html[data-theme="light"]) .careerWrap .careerPanel .careerYears span{ color: #373737; }
:where(html[data-theme="light"]) .careerWrap .careerPanel .careerYears{ background-color: rgb(239 237 233 / 0.85); border: 1px solid rgb(0 0 0 / 0.169); }
:where(html[data-theme="light"]) .careerWrap .careerPanel{ background: linear-gradient(145deg, #f2f1ed 0%, #f7f6f3 60%, #f4f2ee 100%); border-top: 1px solid rgb(0 0 0 / 0.078); }
:where(html[data-theme="light"]) .careerWrap{ background-color: #ffffff; }
:where(html[data-theme="light"]) .blogWrap .blogHead h2{ color: #000000; }
:where(html[data-theme="light"]) .blogWrap .blogCard .blogCardImg .blogDateBadge b{ color: #000000; }
:where(html[data-theme="light"]) .blogWrap .blogCard .blogCardImg .blogDateBadge i{ color: #000000; }
:where(html[data-theme="light"]) .blogWrap .blogCard .blogCardImg .blogCardBar .blogBarItem{ color: #373737; }
:where(html[data-theme="light"]) .blogWrap .blogCard .blogCardImg .blogCardBar{ background-color: rgb(245 244 241 / 0.88); border-top: 1px solid rgb(0 0 0 / 0.102); }
:where(html[data-theme="light"]) .blogWrap .blogCard .blogCardImg{ background-color: #efede9; }
:where(html[data-theme="light"]) .blogWrap .blogCard .blogCardBody h3{ color: #000000; }
:where(html[data-theme="light"]) .blogWrap .blogCard{ border: 1px solid rgb(0 0 0 / 0.169); background: linear-gradient(145deg, #f2f1ed 0%, #f7f6f3 60%, #f4f2ee 100%); }
:where(html[data-theme="light"]) .blogWrap .blogArrow{ color: #000000; border: 1px solid rgb(0 0 0 / 0.18); background-color: rgb(235 233 229 / 0.8); }
:where(html[data-theme="light"]) .blogWrap .blogMore .blogMoreBtn:hover{ color: #000000; }
:where(html[data-theme="light"]) .blogWrap .blogMore .blogMoreBtn{ color: #000000; }
:where(html[data-theme="light"]) .blogWrap{ background-color: #ffffff; }
:where(html[data-theme="light"]) .faqWrap .faqLeft h2{ color: #000000; }
:where(html[data-theme="light"]) .faqWrap .faqLeft .faqCall h3{ color: #000000; }
:where(html[data-theme="light"]) .faqWrap .faqLeft .faqCall p{ color: #373737; }
:where(html[data-theme="light"]) .faqWrap .faqLeft .faqCall .faqCallBtn:hover{ color: #000000; }
:where(html[data-theme="light"]) .faqWrap .faqLeft .faqCall .faqCallBtn{ color: #000000; }
:where(html[data-theme="light"]) .faqWrap .faqLeft .faqCall{ border: 1px solid rgb(0 0 0 / 0.169); background: linear-gradient(145deg, #f2f1ed 0%, #f7f6f3 60%, #f4f2ee 100%); }
:where(html[data-theme="light"]) .faqWrap .faqItem .faqQ span{ color: #000000; }
:where(html[data-theme="light"]) .faqWrap .faqItem .faqA .faqAInner p{ color: #373737; }
:where(html[data-theme="light"]) .faqWrap .faqItem{ border: 1px solid rgb(0 0 0 / 0.169); background: linear-gradient(145deg, #f2f1ed 0%, #f7f6f3 60%, #f4f2ee 100%); }
:where(html[data-theme="light"]) .faqWrap{ background-color: #ffffff; border-top: 1px solid rgb(51 51 51 / 0.188); }
:where(html[data-theme="light"]) .teamWrap .teamHead h2{ color: #000000; }
:where(html[data-theme="light"]) .teamWrap .teamCard figure{ background-color: #efede9; border: 1px solid rgb(0 0 0 / 0.122); }
:where(html[data-theme="light"]) .teamWrap .teamCard .teamMeta h3{ color: #000000; }
:where(html[data-theme="light"]) .teamWrap .teamCard .teamMeta span{ color: #373737; }
:where(html[data-theme="light"]) .teamWrap .teamMore .teamMoreBtn:hover{ color: #000000; }
:where(html[data-theme="light"]) .teamWrap .teamMore .teamMoreBtn{ color: #000000; }
:where(html[data-theme="light"]) .teamWrap{ background-color: #ffffff; }
:where(html[data-theme="light"]) .pageInner{ background-color: #ffffff; }
:where(html[data-theme="light"]) .pgEyebrow{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .pgText{ color: rgb(0 0 0 / 0.88); }
:where(html[data-theme="light"]) .pgProse p{ color: rgb(0 0 0 / 0.88); }
:where(html[data-theme="light"]) .pgProse b,
:where(html[data-theme="light"]) .pgProse strong{ color: #000000; }
:where(html[data-theme="light"]) .pgScrub{ color: #000000; }
:where(html[data-theme="light"]) .pgBtn.ghost:hover{ border-color: #000000; background-color: #000000; color: #f4f4f4; }
:where(html[data-theme="light"]) .pgBtn.ghost{ border-color: rgb(0 0 0 / 0.16); color: #000000; }
:where(html[data-theme="light"]) .pgChip:hover span{ color: #000000; }
:where(html[data-theme="light"]) .pgChip{ border: 1px solid rgb(0 0 0 / 0.18); color: #000000; }
:where(html[data-theme="light"]) .pgHero{ background-color: #ffffff; }
:where(html[data-theme="light"]) .pgCircle .pgCircleShade{ background-color: rgb(255 255 255 / 0.45); }
:where(html[data-theme="light"]) .pgCrumb a{ color: rgb(14 18 27 / 0.92); }
:where(html[data-theme="light"]) .pgCrumb{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .pgHeroSub{ color: #000000; }
:where(html[data-theme="light"]) .pgHeroTitle[data-dot] .pgHeroLine.accent:last-child .pgHeroIn::after{ color: #000000; }
:where(html[data-theme="light"]) .pgHeroTitle{ color: #000000; }
:where(html[data-theme="light"]) .pgHeroLead{ color: rgb(0 0 0 / 0.92); }
:where(html[data-theme="light"]) .pgScrollCue i{ background-color: rgb(0 0 0 / 0.15); }
:where(html[data-theme="light"]) .pgScrollCue{ color: rgb(14 18 27 / 0.8); }
:where(html[data-theme="light"]) .pgStats{ background-color: #ffffff; }
:where(html[data-theme="light"]) .pgStat .pgStatNum{ color: #000000; }
:where(html[data-theme="light"]) .pgStat .pgStatLabel{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .pgIntro,
:where(html[data-theme="light"]) .pgState{ background-color: #ffffff; }
:where(html[data-theme="light"]) .pgState.isAlt{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgCards.isAlt{ background-color: #ffffff; }
:where(html[data-theme="light"]) .pgCards{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgCard .pgCardIcon{ color: rgb(14 18 27 / 0.78); }
:where(html[data-theme="light"]) .pgCard p{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .pgCard:hover{ background-color: #edebe7; }
:where(html[data-theme="light"]) .pgCard{ background-color: #f2f2f2; }
:where(html[data-theme="light"]) .pgHow{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgStepList{ border-top: 1px solid rgb(0 0 0 / 0.4); }
:where(html[data-theme="light"]) .pgRail{ background-color: rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgStep::after{ background-color: rgb(0 0 0 / 0.18); }
:where(html[data-theme="light"]) .pgStep p{ color: rgb(0 0 0 / 0.88); }
:where(html[data-theme="light"]) .pgStep:hover h3{ color: #000000; }
:where(html[data-theme="light"]) .pgQuote{ background-color: #ffffff; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgWins{ background-color: #ffffff; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgWin .pgWinPoster::after{ background: linear-gradient(180deg, rgb(255 255 255 / 0.55), rgb(255 255 255 / 0.05) 40%, rgb(255 255 255 / 0.85)); }
:where(html[data-theme="light"]) .pgWin .pgWinPoster{ color: #000000; }
:where(html[data-theme="light"]) .pgWin .pgWinChip{ border: 1px solid rgb(0 0 0 / 0.6); }
:where(html[data-theme="light"]) .pgWin .pgWinRes b{ color: #000000; }
:where(html[data-theme="light"]) .pgWin .pgWinRes small{ color: rgb(0 0 0 / 0.92); }
:where(html[data-theme="light"]) .pgWin .pgWinMeta span{ color: #000000; }
:where(html[data-theme="light"]) .pgWin .pgWinMeta small{ color: rgb(14 18 27 / 0.8); }
:where(html[data-theme="light"]) .pgLinks{ background-color: #ffffff; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgRow i{ color: rgb(14 18 27 / 0.78); }
:where(html[data-theme="light"]) .pgRow span{ color: #000000; }
:where(html[data-theme="light"]) .pgRow b{ border: 1px solid rgb(0 0 0 / 0.2); color: #000000; }
:where(html[data-theme="light"]) .pgPractices{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgPracList{ border-top: 1px solid rgb(0 0 0 / 0.4); }
:where(html[data-theme="light"]) .pgPractice .pgPracText{ color: rgb(0 0 0 / 0.88); }
:where(html[data-theme="light"]) .pgPractice .pgPracImg::after{ background: linear-gradient(90deg, rgb(255 255 255 / 0.92), rgb(255 255 255 / 0.7) 55%, rgb(255 255 255 / 0.5)); }
:where(html[data-theme="light"]) .pgPractice:hover .pgPracName{ color: #000000; }
:where(html[data-theme="light"]) .pgPractice{ border-bottom: 1px solid rgb(0 0 0 / 0.18); }
:where(html[data-theme="light"]) .pgFinderWrap{ background-color: #ffffff; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgSearch input::placeholder{ color: rgb(14 18 27 / 0.76); }
:where(html[data-theme="light"]) .pgSearch input:focus{ background-color: #f4eddf; }
:where(html[data-theme="light"]) .pgSearch input{ border: 1px solid rgb(0 0 0 / 0.18); background-color: #f2f2f2; color: #000000; }
:where(html[data-theme="light"]) .pgFindCount{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .pgAz button:hover{ color: #000000; }
:where(html[data-theme="light"]) .pgAz button{ border: 1px solid rgb(0 0 0 / 0.14); color: rgb(14 18 27 / 0.9); }
:where(html[data-theme="light"]) .pgFindList{ border-top: 1px solid rgb(0 0 0 / 0.4); }
:where(html[data-theme="light"]) .pgFind .pgFindDesc{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .pgFind b{ border: 1px solid rgb(0 0 0 / 0.2); color: #000000; }
:where(html[data-theme="light"]) .pgFind:hover .pgFindName{ color: #000000; }
:where(html[data-theme="light"]) .pgFind{ border-bottom: 1px solid rgb(0 0 0 / 0.14); }
:where(html[data-theme="light"]) .pgFindEmpty{ color: rgb(14 18 27 / 0.88); }
:where(html[data-theme="light"]) .pgDefine{ background-color: #ffffff; }
:where(html[data-theme="light"]) .pgPager .pgPage .pgPageDir{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .pgPager .pgPage .pgPageName{ color: #000000; }
:where(html[data-theme="light"]) .pgPager .pgPage:hover .pgPageDir{ color: #000000; }
:where(html[data-theme="light"]) .pgPager{ background-color: #f5f5f5; }
:where(html[data-theme="light"]) .pgContact,
:where(html[data-theme="light"]) .pgApply{ background-color: #ffffff; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgApply{ background-color: #f5f5f5; }
:where(html[data-theme="light"]) .pgForm label{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) :is(.pgForm input, .pgForm textarea, .pgForm select)::placeholder{ color: rgb(14 18 27 / 0.74); }
:where(html[data-theme="light"]) .pgForm input,
:where(html[data-theme="light"]) .pgForm textarea,
:where(html[data-theme="light"]) .pgForm select{ border-bottom: 1px solid rgb(0 0 0 / 0.25); color: #000000; }
:where(html[data-theme="light"]) .pgForm select option{ background-color: #f4f4f4; color: #000000; }
:where(html[data-theme="light"]) .pgNote{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .pgReach .pgReachV{ color: #000000; }
:where(html[data-theme="light"]) .pgReach b{ color: rgb(14 18 27 / 0.8); }
:where(html[data-theme="light"]) .pgReach{ border-bottom: 1px solid rgb(0 0 0 / 0.14); }
:where(html[data-theme="light"]) .pgRoles{ background-color: #f5f5f5; border-top: 1px solid rgb(0 0 0 / 0.08); }
:where(html[data-theme="light"]) .pgRoleList li::after{ background-color: rgb(0 0 0 / 0.18); }
:where(html[data-theme="light"]) .pgRoleList{ border-top: 1px solid rgb(0 0 0 / 0.4); }
:where(html[data-theme="light"]) .pgRole .pgRoleText{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .pgRole .pgRoleApply{ border: 1px solid rgb(0 0 0 / 0.2); color: #000000; }
:where(html[data-theme="light"]) .pgRole:hover .pgRoleName{ color: #000000; }
:where(html[data-theme="light"]) .caseModal .caseShade{ background-color: rgb(255 255 255 / 0.85); }
:where(html[data-theme="light"]) .caseModal .caseBox{ border: 1px solid rgb(0 0 0 / 0.12); background-color: #f5f5f5; }
:where(html[data-theme="light"]) .caseModal .caseTop .caseFile{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .caseModal .caseTop{ border-bottom: 1px solid rgb(0 0 0 / 0.1); }
:where(html[data-theme="light"]) .caseModal .caseClose{ border: 1px solid rgb(0 0 0 / 0.2); color: #000000; }
:where(html[data-theme="light"]) .caseModal .casePoster::after{ background: linear-gradient(180deg, transparent 40%, rgb(255 255 255 / 0.8)); }
:where(html[data-theme="light"]) .caseModal .casePoster .caseBig{ color: #000000; }
:where(html[data-theme="light"]) .caseModal .caseInfo h3{ color: #000000; }
:where(html[data-theme="light"]) .caseModal .caseDesc{ color: rgb(14 18 27 / 0.88); }
:where(html[data-theme="light"]) .caseModal .caseRows{ border-top: 1px solid rgb(0 0 0 / 0.1); }
:where(html[data-theme="light"]) .caseModal .caseRow span{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .caseModal .caseRow b{ color: #000000; }
:where(html[data-theme="light"]) .caseModal .caseRow{ border-bottom: 1px solid rgb(0 0 0 / 0.1); }
:where(html[data-theme="light"]) .caseModal .caseStats span{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .tmWrap{ background-color: #ffffff; }
:where(html[data-theme="light"]) .tmRow .tmIdx{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .tmRow .tmGo b{ border: 1px solid rgb(0 0 0 / 0.2); }
:where(html[data-theme="light"]) .tmJoin{ background-color: #f5f5f5; }
:where(html[data-theme="light"]) .tmShade{ background-color: rgb(255 255 255 / 0.72); }
:where(html[data-theme="light"]) .tmPanel{ background-color: #f5f5f5; }
:where(html[data-theme="light"]) .tmClose span::before,
:where(html[data-theme="light"]) .tmClose span::after{ background-color: #000000; }
:where(html[data-theme="light"]) .tmClose{ border: 1px solid rgb(0 0 0 / 0.2); background-color: rgb(245 245 245 / 0.7); }
:where(html[data-theme="light"]) .tmInfo .tmKicker{ color: rgb(14 18 27 / 0.84); }
:where(html[data-theme="light"]) .tmInfo .tmBio p{ color: rgb(0 0 0 / 0.888); }
:where(html[data-theme="light"]) .tmInfo .tmLeads li{ border: 1px solid rgb(0 0 0 / 0.16); }
:where(html[data-theme="light"]) .tmInfo .tmLabel{ color: rgb(14 18 27 / 0.82); }
:where(html[data-theme="light"]) .tmNav button span{ border: 1px solid rgb(0 0 0 / 0.2); }
:where(html[data-theme="light"]) .tmNav button em{ color: rgb(14 18 27 / 0.82); }
@media (hover: none), (pointer: coarse), (max-width: 767px){ :where(html[data-theme="light"]) .tmRow .tmThumb{ background-color: #eaeaea; } }

/* ---------- hand-tuned on top of the generated rules ---------- */
html[data-theme="light"] body{ color: #0b0b0b; background-color: #ffffff; }
/* header: a solid light bar in both states (the banner under it stays dark) */
html[data-theme="light"] .headerWrap,
html[data-theme="light"] .headerWrap.isSticky{
    background: rgb(255 255 255 / 92%);
    border-bottom: 1px solid rgb(0 0 0 / 8%);
    box-shadow: 0 10px 30px rgb(0 0 0 / 6%);
    backdrop-filter: blur(14px);
}
/* white logo -> dark logo (the blue "E" stays blue-ish) */
html[data-theme="light"] .logoImg img,
html[data-theme="light"] .ftLogo img{ filter: invert(1) hue-rotate(180deg); }
/* quick connect form fields read better on white */
html[data-theme="light"] .qcPanel{ box-shadow: -30px 0 60px rgb(0 0 0 / 12%); }
/* inner pages keep their text + line colours in variables: flip those */
html[data-theme="light"] .pageInner{
    --bone: #0b0b0b;
    --dim: rgb(11 11 11 / 72%);
    --line: rgb(0 0 0 / 12%);
}

/* growth.css */
/* growth.css: components added during the 2026-10 growth build.
   Flat CSS (no nesting) so older Android browsers parse it.
   Dark is the default theme; light overrides use :where(html[data-theme="light"]). */

/* ---------- services mega menu (desktop) ---------- */
.headerWrap .headerInner .menuWrap{ position: relative; }
.headerWrap .headerInner .menuWrap > ul > li.peMegaLi{ position: static; }
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega{
    left: auto;
    right: 0;
    width: min(1040px, calc(100vw - 80px));
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 10px;
    row-gap: 4px;
    padding: 18px 14px 12px;
}
.peMega .megaCol{ padding: 0 4px; }
.peMega .megaCol > ul{ list-style: none; margin: 0; padding: 0; }
.peMega .megaHead{
    display: block;
    padding: 6px 14px 10px;
    margin-bottom: 4px;
    border-bottom: 1px solid rgb(255 255 255 / 10%);
    font-family: "Space Mono", monospace;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #0075ff;
    text-decoration: none;
}
a.megaHead:hover{ color: #fff; }
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega li a{ font-size: 11.5px; padding: 8px 14px; }
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega .subAll{ grid-column: 1 / -1; }
:where(html[data-theme="light"]) .peMega .megaHead{ border-bottom-color: rgb(0 0 0 / 10%); }
:where(html[data-theme="light"]) a.megaHead:hover{ color: #000; }

/* ---------- burger + mobile menu (< 992px, where the desktop links are hidden) ---------- */
.peBurger{
    display: none;
    position: relative;
    width: 44px;
    height: 44px;
    border: 1px solid rgb(255 255 255 / 14%);
    border-radius: 12px;
    background: rgb(12 12 12 / 88%);
    cursor: pointer;
}
.peBurger span{
    position: absolute;
    left: 12px;
    right: 12px;
    height: 2px;
    border-radius: 2px;
    background: #f1ede4;
    transition: transform 0.3s ease, top 0.3s ease;
}
.peBurger span:nth-child(1){ top: 16px; }
.peBurger span:nth-child(2){ top: 25px; }
.peBurger[aria-expanded="true"] span:nth-child(1){ top: 21px; transform: rotate(45deg); }
.peBurger[aria-expanded="true"] span:nth-child(2){ top: 21px; transform: rotate(-45deg); }
.peMobileNav{
    position: fixed;
    inset: 0;
    z-index: 98;
    padding: 96px 20px 32px;
    overflow-y: auto;
    background: #0b0b0b;
    -webkit-overflow-scrolling: touch;
}
.peMobileNav[hidden]{ display: none; }
.peMobileInner{ max-width: 560px; margin: 0 auto; }
.peMobileNav details{ border-bottom: 1px solid rgb(255 255 255 / 10%); }
.peMobileNav summary,
.peMobileNav .peMobileTop{
    display: block;
    padding: 18px 4px;
    font-family: "Space Mono", monospace;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #f1ede4;
    text-decoration: none;
    cursor: pointer;
    list-style: none;
}
.peMobileNav summary::-webkit-details-marker{ display: none; }
.peMobileNav summary::after{ content: "+"; float: right; color: #0075ff; }
.peMobileNav details[open] summary::after{ content: "\2212"; }
.peMobileNav .peMobileTop{ border-bottom: 1px solid rgb(255 255 255 / 10%); }
.peMobileNav details ul{ list-style: none; margin: 0 0 14px; padding: 0; }
.peMobileNav details li a{
    display: block;
    padding: 11px 6px;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    color: rgb(241 237 228 / 80%);
    text-decoration: none;
}
.peMobileCtas{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 26px; }
.peMobileCtas .pgBtn{ justify-content: center; }
.peMobileCtas .pgBtn.primary{ grid-column: 1 / -1; }
body.peNavOpen{ overflow: hidden; }
@media (max-width: 991px){
    .peBurger{ display: block; }
}
:where(html[data-theme="light"]) .peBurger{ background: rgb(243 243 243 / 96%); border-color: rgb(0 0 0 / 12%); }
:where(html[data-theme="light"]) .peBurger span{ background: #0b0b0b; }
:where(html[data-theme="light"]) .peMobileNav{ background: #f6f6f4; }
:where(html[data-theme="light"]) .peMobileNav summary,
:where(html[data-theme="light"]) .peMobileNav .peMobileTop{ color: #0b0b0b; }
:where(html[data-theme="light"]) .peMobileNav details li a{ color: rgb(14 18 27 / 82%); }
:where(html[data-theme="light"]) .peMobileNav details,
:where(html[data-theme="light"]) .peMobileNav .peMobileTop{ border-bottom-color: rgb(0 0 0 / 10%); }

/* ---------- data tables (pricing ranges, comparisons, channel mixes) ---------- */
.peTableScroll{ overflow-x: auto; margin-top: clamp(24px, 3vw, 44px); border: 1px solid rgb(255 255 255 / 12%); border-radius: 16px; }
.peTable{ width: 100%; min-width: 640px; border-collapse: collapse; font-family: "Montserrat", sans-serif; font-size: 15px; line-height: 1.5; }
.peTable th, .peTable td{ padding: 16px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid rgb(255 255 255 / 10%); color: rgb(241 237 228 / 86%); }
.peTable thead th{ font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #0075ff; background: rgb(255 255 255 / 3%); }
.peTable tbody th{ color: #fff; font-weight: 700; }
.peTable tbody tr:last-child th, .peTable tbody tr:last-child td{ border-bottom: 0; }
.peTableNote{ margin-top: 14px; font-size: 14px; opacity: 0.75; }
:where(html[data-theme="light"]) .peTableScroll{ border-color: rgb(0 0 0 / 12%); }
:where(html[data-theme="light"]) .peTable th, :where(html[data-theme="light"]) .peTable td{ color: rgb(14 18 27 / 86%); border-bottom-color: rgb(0 0 0 / 10%); }
:where(html[data-theme="light"]) .peTable tbody th{ color: #000; }
:where(html[data-theme="light"]) .peTable thead th{ background: rgb(0 0 0 / 3%); }

/* ---------- placeholders awaiting the team (must be zero before go-live) ---------- */
mark.peTodo{
    padding: 0 4px;
    border: 1px dashed #ffb020;
    border-radius: 4px;
    background: rgb(255 176 32 / 16%);
    color: inherit;
    font-size: 0.85em;
    font-family: "Space Mono", monospace;
}

/* ---------- byline / last-updated strip under the hero ---------- */
.peByline{ display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: center; margin-top: 22px; font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.7; }
.peByline a{ color: inherit; }

/* ---------- phones: logo + theme + CTA + burger must fit one row at 360px ---------- */
@media (max-width: 575px){
    .headerWrap .headerInner .logoImg img{ height: 22px; }
    .headerWrap .headerInner .headerRight{ gap: 6px; }
    .headerWrap .headerInner .headerRight .menuWrap{ gap: 6px; }
    .headerWrap.isSticky .headerInner{ padding: 0 12px 0 16px; }
    .peBurger{ width: 40px; height: 40px; border-radius: 10px; }
    .peBurger span{ left: 11px; right: 11px; }
    .peBurger span:nth-child(1){ top: 14px; }
    .peBurger span:nth-child(2){ top: 23px; }
    .peBurger[aria-expanded="true"] span:nth-child(1),
    .peBurger[aria-expanded="true"] span:nth-child(2){ top: 19px; }
}
@media (max-width: 399px){
    .headerWrap .menuWrap .themeSwitch{ display: none; }
}

/* ---------- lead forms ---------- */
.peHp{ position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.peFormDone{ padding: clamp(24px, 3vw, 40px); border: 1px solid rgb(0 117 255 / 45%); border-radius: 18px; background: rgb(0 117 255 / 8%); }
.peFormDone h3{ margin: 0 0 10px; font-family: "Montserrat", sans-serif; font-size: clamp(20px, 2vw, 28px); font-weight: 700; color: #fff; }
.peFormDone p{ margin: 0; font-size: 16px; line-height: 1.6; color: rgb(241 237 228 / 82%); }
.peFormDone a{ color: #0075ff; }
:where(html[data-theme="light"]) .peFormDone h3{ color: #000; }
:where(html[data-theme="light"]) .peFormDone p{ color: rgb(14 18 27 / 82%); }

/* ---------- long-form documents (legal pages) ---------- */
.peDocWrap{ padding: clamp(48px, 7vw, 110px) 0; }
.peDoc{ max-width: 860px; margin: 0 auto; font-family: "Montserrat", sans-serif; font-size: 17px; line-height: 1.75; color: rgb(241 237 228 / 86%); }
.peDoc h2{ margin: 2.2em 0 0.6em; font-family: "Montserrat", sans-serif; font-size: clamp(22px, 2.2vw, 30px); font-weight: 700; line-height: 1.25; color: #fff; }
.peDoc h3{ margin: 1.6em 0 0.4em; font-size: 19px; font-weight: 700; color: #fff; }
.peDoc p, .peDoc ul{ margin: 0 0 1.1em; }
.peDoc ul{ padding-left: 1.3em; }
.peDoc li{ margin-bottom: 0.45em; }
.peDoc a{ color: #0075ff; }
.peDocMeta{ font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.7; }
:where(html[data-theme="light"]) .peDoc{ color: rgb(14 18 27 / 86%); }
:where(html[data-theme="light"]) .peDoc h2, :where(html[data-theme="light"]) .peDoc h3{ color: #000; }

/* =====================================================================
   Template library v1 (2026-10-03): utility bar, mega descriptors, phone bar,
   proof strip, buyer problems, price block, takeaways, definition, footer sitemap.
   Source: growth/research/page-patterns.md Parts B, D, E.
   ===================================================================== */

/* ---------- utility bar (desktop only; slides away once the header turns sticky) ---------- */
.peUtility{ position: fixed; top: 0; left: 0; right: 0; z-index: 100; height: 34px; background: #050505; border-bottom: 1px solid rgb(255 255 255 / 8%); transition: transform 0.4s ease; }
.peUtilityInner{ display: flex; align-items: center; justify-content: flex-end; gap: 22px; height: 100%; padding: 0 80px; font-family: "Space Mono", monospace; font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; }
.peUtilityHq{ margin-right: auto; color: rgb(241 237 228 / 60%); }
.peUtilityLink{ font-size: 11.5px; color: rgb(241 237 228 / 85%); text-decoration: none; }
.peUtilityLink:hover{ color: #0075ff; }
.headerWrap{ top: 34px; transition: top 0.4s ease, padding 0.4s ease, background-color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease; }
.headerWrap.isSticky{ top: 0; }
body:has(.headerWrap.isSticky) .peUtility{ transform: translateY(-100%); }
@media (max-width: 991px){
    .peUtility{ display: none; }
    .headerWrap{ top: 0; }
}
:where(html[data-theme="light"]) .peUtility{ background: #f2f2ef; border-bottom-color: rgb(0 0 0 / 8%); }
:where(html[data-theme="light"]) .peUtilityHq{ color: rgb(14 18 27 / 60%); }
:where(html[data-theme="light"]) .peUtilityLink{ color: rgb(14 18 27 / 85%); }

/* call icon in the header on phones */
.peHeadCall{ display: none; width: 40px; height: 40px; border-radius: 10px; border: 1px solid rgb(255 255 255 / 14%); background: rgb(12 12 12 / 88%); color: #f1ede4; align-items: center; justify-content: center; }
.peHeadCall svg{ width: 18px; height: 18px; }
@media (max-width: 991px){ .peHeadCall{ display: inline-flex; } }
:where(html[data-theme="light"]) .peHeadCall{ background: rgb(243 243 243 / 96%); border-color: rgb(0 0 0 / 12%); color: #0b0b0b; }

/* ---------- mega menu: pillar promise + one-line outcome per service ---------- */
.peMega .megaPromise{ margin: 0 14px 6px; font-family: "Montserrat", sans-serif; font-size: 12.5px; line-height: 1.4; color: rgb(241 237 228 / 62%); text-transform: none; letter-spacing: 0; }
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega li a{ display: block; }
.peMega .megaItem{ display: block; }
.peMega li a small{ display: block; margin-top: 2px; font-family: "Montserrat", sans-serif; font-size: 11.5px; font-weight: 500; line-height: 1.35; letter-spacing: 0; text-transform: none; color: rgb(241 237 228 / 55%); }
.peMega .megaMore a{ color: #0075ff !important; }
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega .megaFoot{ grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; margin-top: 8px; padding: 12px 14px 4px; border-top: 1px solid rgb(255 255 255 / 10%); font-family: "Montserrat", sans-serif; font-size: 13px; color: rgb(241 237 228 / 70%); }
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega .megaFoot a{ display: inline; padding: 0; color: #0075ff; }
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega.isTwo{ width: min(760px, calc(100vw - 80px)); grid-template-columns: 2fr 1fr; }
.peMega .megaGrid{ display: grid; grid-template-columns: 1fr 1fr; list-style: none; margin: 0; padding: 0; }
:where(html[data-theme="light"]) .peMega .megaPromise, :where(html[data-theme="light"]) .peMega li a small{ color: rgb(14 18 27 / 60%); }
:where(html[data-theme="light"]) .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega .megaFoot{ border-top-color: rgb(0 0 0 / 10%); color: rgb(14 18 27 / 70%); }

/* ---------- phone bar: Call | WhatsApp | Growth plan (replaces the floating button and side tab on phones) ---------- */
.peBar{ display: none; }
@media (max-width: 767px){
    .peBar{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 96; display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 8px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: rgb(8 8 8 / 96%); border-top: 1px solid rgb(255 255 255 / 10%); backdrop-filter: blur(12px); }
    .peBarBtn{ display: flex; align-items: center; justify-content: center; min-height: 46px; border-radius: 12px; border: 1px solid rgb(255 255 255 / 16%); font-family: "Montserrat", sans-serif; font-size: 14px; font-weight: 700; color: #f1ede4; text-decoration: none; }
    .peBarBtn.isWa{ border-color: #25d366; color: #25d366; }
    .peBarBtn.isCta{ background: #0075ff; border-color: #0075ff; color: #fff; }
    body{ padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
    .waFloat, .qcTab{ display: none !important; }
    .ftTop{ bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}
:where(html[data-theme="light"]) .peBar{ background: rgb(246 246 244 / 96%); border-top-color: rgb(0 0 0 / 10%); }
:where(html[data-theme="light"]) .peBarBtn{ color: #0b0b0b; border-color: rgb(0 0 0 / 16%); }

/* ---------- proof strip (verified numbers + cleared logos) ---------- */
.peProof{ padding: clamp(28px, 4vw, 48px) 0; border-top: 1px solid rgb(255 255 255 / 8%); border-bottom: 1px solid rgb(255 255 255 / 8%); }
.peProofList{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; list-style: none; margin: 0; padding: 0; }
.peProofItem b{ display: block; font-family: "Archivo", "Montserrat", sans-serif; font-size: clamp(30px, 3.4vw, 48px); font-weight: 800; line-height: 1; color: #fff; }
.peProofItem span{ display: block; margin-top: 8px; font-family: "Montserrat", sans-serif; font-size: 13.5px; line-height: 1.45; color: rgb(241 237 228 / 68%); }
.peLogos{ display: flex; flex-wrap: wrap; gap: 18px 34px; align-items: center; list-style: none; margin: 26px 0 0; padding: 0; }
.peLogos img{ height: 30px; width: auto; opacity: 0.8; filter: grayscale(1); }
@media (max-width: 767px){ .peProofList{ grid-template-columns: 1fr 1fr; } }
:where(html[data-theme="light"]) .peProofItem b{ color: #000; }
:where(html[data-theme="light"]) .peProofItem span{ color: rgb(14 18 27 / 68%); }

/* ---------- buyer problems ---------- */
.peProblem .peProblemQ{ margin: 0 0 12px; font-family: "Montserrat", sans-serif; font-size: clamp(17px, 1.5vw, 20px); font-weight: 700; line-height: 1.35; color: #fff; }
:where(html[data-theme="light"]) .peProblem .peProblemQ{ color: #000; }

/* ---------- price block ---------- */
.pePriceFrom{ max-width: 860px; margin: clamp(18px, 2.5vw, 30px) 0 0; font-family: "Montserrat", sans-serif; font-size: clamp(18px, 1.7vw, 23px); font-weight: 600; line-height: 1.45; color: #fff; }
.pePriceSub{ margin: 28px 0 10px; font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #0075ff; }
.pePriceFactors{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; margin: 0; padding-left: 1.2em; font-family: "Montserrat", sans-serif; font-size: 16px; line-height: 1.55; color: rgb(241 237 228 / 84%); }
@media (max-width: 767px){ .pePriceFactors{ grid-template-columns: 1fr; } }
:where(html[data-theme="light"]) .pePriceFrom{ color: #000; }
:where(html[data-theme="light"]) .pePriceFactors{ color: rgb(14 18 27 / 84%); }

/* ---------- boxes: key takeaways, definition ---------- */
.peTakeaways, .peDefine{ padding: clamp(24px, 3.5vw, 48px) 0; }
.peBox{ max-width: 920px; padding: clamp(22px, 3vw, 38px); border: 1px solid rgb(0 117 255 / 40%); border-radius: 18px; background: rgb(0 117 255 / 7%); }
.peBox ul{ margin: 12px 0 0; padding-left: 1.2em; font-family: "Montserrat", sans-serif; font-size: 17px; line-height: 1.6; color: rgb(241 237 228 / 88%); }
.peBox li{ margin-bottom: 6px; }
.peDefineText{ margin: 12px 0 0; font-family: "Montserrat", sans-serif; font-size: clamp(19px, 1.9vw, 25px); font-weight: 600; line-height: 1.45; color: #fff; }
:where(html[data-theme="light"]) .peBox ul{ color: rgb(14 18 27 / 88%); }
:where(html[data-theme="light"]) .peDefineText{ color: #000; }

/* ---------- footer: plan button, fact strip, sitemap columns, fraud note ---------- */
.ftPlanBtn{ display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: 100px; background: #0075ff; color: #fff !important; font-family: "Montserrat", sans-serif; font-size: 14px; font-weight: 700; text-decoration: none; }
.ftFacts{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 36px 0 0; padding: 26px 0 0; border-top: 1px solid rgb(255 255 255 / 10%); }
.ftFacts b{ display: block; font-family: "Archivo", "Montserrat", sans-serif; font-size: clamp(26px, 2.6vw, 38px); font-weight: 800; color: #fff; line-height: 1; }
.ftFacts span{ display: block; margin-top: 6px; font-size: 13px; line-height: 1.4; color: #9a9a9a; }
.ftSitemap{ padding: 56px 0 10px; border-top: 1px solid rgb(255 255 255 / 8%); }
.ftSiteGrid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 28px; }
.ftSiteTitle{ margin: 0 0 16px; font-family: "Space Mono", monospace; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #0075ff; }
.ftSiteCol ul{ list-style: none; margin: 0; padding: 0; }
.ftSiteCol li{ margin-bottom: 10px; }
.ftSiteCol .ftLink{ color: #bdbdbd; font-size: 14px; text-decoration: none; }
.ftSiteCol .ftLink:hover{ color: #fff; }
.ftSiteCol .ftLink i{ display: none; }
.ftFraud{ margin: 0 0 10px; font-size: 12.5px; color: #8a8a8a; text-align: center; }
@media (max-width: 991px){ .ftSiteGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } .ftFacts{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px){ .ftSiteGrid{ gap: 28px 16px; } }
/* phones: the bottom bar carries "Growth plan", so the header keeps logo + call + menu only */
@media (max-width: 767px){ .headerWrap .headerInner .menuWrap .menuCta{ display: none; } .headerWrap .headerInner .headerRight{ gap: 8px; } }
/* core pages (B-261004-09): team people cards, client quotes, open roles, cost-slot extras */
.pePerson{ display: flex; flex-direction: column; gap: 6px; }
.pePersonImg{ display: block; width: 96px; height: 96px; margin-bottom: 10px; border-radius: 50%; object-fit: cover; background: #1a1f2b; }
.pePersonImg.isBlank{ display: flex; align-items: center; justify-content: center; font-family: "Montserrat", sans-serif; font-size: 34px; font-weight: 800; color: #0075ff; }
.pePerson h3 a{ font-size: inherit; color: inherit; }
.pePersonRole{ margin: 0; font-family: "Space Mono", monospace; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: #0075ff; }
.pePersonLink{ margin-top: auto; font-size: 14px; font-weight: 700; color: #0075ff; text-decoration: underline; }
.peQuoteCard{ display: flex; flex-direction: column; gap: 14px; margin: 0; }
.peQuoteCard blockquote{ margin: 0; }
.peQuoteCard blockquote p{ font-size: 18px; line-height: 1.55; }
.peQuoteCard figcaption{ display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.peQuoteCard figcaption span{ opacity: 0.7; }
.pePriceText{ max-width: 860px; margin: 0; font-family: "Montserrat", sans-serif; font-size: 16px; line-height: 1.6; color: rgb(241 237 228 / 84%); }
.pePriceSteps{ list-style: decimal; }
.pePriceCta{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
:where(html[data-theme="light"]) .pePersonImg{ background: #e9e9e6; }
:where(html[data-theme="light"]) .pePriceText{ color: rgb(14 18 27 / 84%); }
/* accessibility (B-261004-23 audit): footer titles are h2 now (same look), skip link, underlined breadcrumbs */
.ftSiteTitle, .ftWrap .ftTitle{ line-height: 1.2; }  /* same as the old h5 */
.pgCrumb a{ text-decoration: underline !important; text-underline-offset: 3px; }  /* reset.css forces none !important */
.peSkip{ position: absolute; left: 12px; top: -60px; z-index: 1000; padding: 10px 16px; border-radius: 8px; background: #0075ff; color: #fff; font-size: 14px; font-weight: 700; }
.peSkip:focus{ top: 12px; color: #fff; }
/* middle nudge band (voice guide Part 15; B-261004-36): same look as the home page nudge (C1) */
.peNudge{ background: #0075ff; color: #fff; padding: clamp(28px, 4vw, 56px) 16px; }
.peNudgeIn{ max-width: 1200px; margin: 0 auto; display: flex; gap: 24px 40px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.peNudgeText{ margin: 0; max-width: 640px; font: 400 clamp(16px, 1.3vw, 21px)/1.5 "Montserrat", sans-serif; color: #fff; }
.peNudgeText strong{ display: block; font-weight: 800; font-size: 1.25em; margin-bottom: 4px; }
.peNudgeBtns{ display: flex; gap: 12px; flex-wrap: wrap; }
.peNudgeBtn{ display: inline-flex; align-items: center; height: 52px; padding: 0 24px; border: 1.5px solid #fff; border-radius: 999px; color: #fff; font: 700 13px/1 "Montserrat", sans-serif; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
.peNudgeBtn:hover{ color: #fff; }
.peNudgeBtn.solid{ background: #fff; color: #0e121b; }
.peNudgeBtn.solid:hover{ color: #0e121b; }
/* World of Marketing pager (blog hubs, 30 per page) */
.pePager{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin-top: 36px; }
.pePager ol{ display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pePager li a, .pePager li span{ display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 10px; border: 1px solid rgb(255 255 255 / 16%); border-radius: 10px; font-size: 15px; font-weight: 700; color: inherit; }
.pePager li span.isOn{ background: #0075ff; border-color: #0075ff; color: #fff; }
:where(html[data-theme="light"]) .pePager li a, :where(html[data-theme="light"]) .pePager li span{ border-color: rgb(0 0 0 / 16%); }
.peProofMore{ display: inline-block; margin-top: 14px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; color: #0075ff; text-decoration: underline; text-underline-offset: 3px; }
/* free tools (/tools/): form, live result, call-back step */
.peToolBox{ margin-top: 24px; }
.peToolOut{ margin-top: 20px; }
.peToolHint{ margin: 0; font-size: 15px; color: rgb(241 237 228 / 70%); }
.peToolLink code{ display: block; padding: 14px 16px; border-radius: 10px; background: rgb(255 255 255 / 6%); font-size: 15px; word-break: break-all; color: #fff; }
.peToolActions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.peToolActions button.pgBtn{ cursor: pointer; }
.peToolNext{ margin-top: 32px; padding: clamp(20px, 3vw, 32px); border-radius: 16px; border: 1px solid rgb(0 117 255 / 40%); background: rgb(0 117 255 / 8%); }
.peToolNext p{ margin: 0; font-size: 17px; line-height: 1.5; }
:where(html[data-theme="light"]) .peToolHint{ color: rgb(14 18 27 / 70%); }
:where(html[data-theme="light"]) .peToolLink code{ background: rgb(0 0 0 / 5%); color: #0b0b0b; }
.peToolNext p{ color: #f1ede4; }
:where(html[data-theme="light"]) .peToolNext p{ color: #0b0b0b; }
/* phones: each result row stacks (number, result, meaning) instead of a sideways-scrolling table */
@media (max-width: 575px){
  .peToolOut .peTable thead{ display: none; }
  .peToolOut .peTable, .peToolOut .peTable tbody, .peToolOut .peTable tr, .peToolOut .peTable th, .peToolOut .peTable td{ display: block; width: 100%; }
  .peToolOut .peTable tr{ padding: 14px 16px; border-bottom: 1px solid rgb(255 255 255 / 10%); }
  .peToolOut .peTable th, .peToolOut .peTable td{ padding: 2px 0; border: 0; white-space: normal; min-width: 0; }
  .peToolOut .peTableScroll{ overflow-x: visible; }
  .peToolOut .peTable{ min-width: 0; table-layout: auto; }
  .peToolOut .peTable td b{ font-size: 22px; }
}
/* phone bar "Growth plan": 19px bold = WCAG "large text", so white on #0075ff (4.0:1) passes (Boss decision (a), D23 keeps the colour) */
@media (max-width: 767px){ .peBar{ grid-template-columns: 1fr 1fr 1.6fr; } .peBarBtn.isCta{ font-size: 19px; font-weight: 800; } }
/* in-page anchors (e.g. #society-activation, #tool): land below the fixed header instead of under it */
:target{ scroll-margin-top: 120px; }

/* Closing block: a writer's longer line ("We'll show you where the appointments are.") wraps instead of
   pushing the page sideways on phones; short lines look the same (home.css sets .ctaIn nowrap for "LET'S MOVE IT."). */
.ctaWrap .ctaTitle .ctaIn{ white-space: normal; }
.ctaWrap .ctaInner > *{ min-width: 0; }
/* Contact: the international line (user D45) */
.peIntlLine{ margin: 24px 0 0; font-size: 15px; color: rgb(255 255 255 / 70%); }
.peIntlLine a{ color: var(--blue, #0075ff); border-bottom: 1px solid currentColor; }
:where(html[data-theme="light"]) .peIntlLine{ color: rgb(0 0 0 / 70%); }

/* ================================================================
   Lighter pages (user D41, 9 Oct 2026): "too heavy ... spacing and font sizes are heavy ... has to be mobile friendly".
   Same brand colours, type families and animations (D23); smaller hero and intro, normal-weight intro, tighter
   sections, body 16-18 px. Phones fold long lists behind "Show all" (assets/js/lighter.js).
   ================================================================ */
.pgHeroTitle{ font-size: clamp(36px, 5.6vw, 112px); line-height: 1; }
.pgHero.isSmall .pgHeroTitle{ font-size: clamp(32px, 4.8vw, 92px); }
.pgHero.isLong .pgHeroTitle{ font-size: clamp(32px, 4.8vw, 96px); }
.pgHero.isXLong .pgHeroTitle{ font-size: clamp(28px, 4vw, 80px); }
.pgHeroLead{ font-size: clamp(16px, 1.15vw, 20px); line-height: 1.55; max-width: 60ch; }
.pgScrub{ font-weight: 500; font-size: clamp(18px, 1.55vw, 27px); line-height: 1.5; letter-spacing: 0; max-width: 62ch; }
.pgScrub b, .pgScrub strong{ font-weight: 700; }
.pgScrub.isBig{ font-size: clamp(20px, 2vw, 34px); }
.pgScrub.isQuote{ font-size: clamp(20px, 2.1vw, 36px); }
.pgScrub.isQuote.isLong{ font-size: clamp(17px, 1.5vw, 26px); }
.pgTitle{ font-size: clamp(26px, 3.4vw, 64px); }
.pgStateTitle{ font-size: clamp(22px, 2vw, 36px); }
.pgText, .pgProse p{ font-size: clamp(16px, 1.1vw, 18px); line-height: 1.6; }
.pgHead{ margin-bottom: clamp(24px, 2.8vw, 48px); }
.pgIntro, .pgState, .pgCards, .pgHow, .pgWins, .pgLinks, .peNudge, .peTakeaways, .peDefine{
    padding-top: clamp(48px, 6vw, 112px); padding-bottom: clamp(48px, 6vw, 112px);
}
.pgCard{ padding: clamp(22px, 2vw, 36px) clamp(20px, 1.8vw, 32px) clamp(26px, 2.2vw, 40px); }
.pgIntroGrid, .pgStateGrid{ gap: clamp(20px, 4vw, 80px); }
@media (max-width: 767px){
    .pgHero{ min-height: 0; }
    .pgHeroTitle{ font-size: 9vw; }
    .pgHero.isSmall .pgHeroTitle, .pgHero.isLong .pgHeroTitle{ font-size: 8.4vw; }
    .pgHero.isXLong .pgHeroTitle{ font-size: 7.6vw; }
    .pgScrub{ font-size: 18px; }
    .pgTitle{ font-size: 26px; }
    .pgIntro, .pgState, .pgCards, .pgHow, .pgWins, .pgLinks, .peNudge, .peTakeaways, .peDefine{ padding-top: 44px; padding-bottom: 44px; }
    .pgHead{ margin-bottom: 20px; }
    .pgGrid{ gap: 12px; }
    .pgCard{ padding: 20px 18px 22px; }
}
/* folded items and the button that opens them (phones only; lighter.js) */
.peFold{ display: none !important; }
.peMoreBtn{
    display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 10px 18px;
    border: 1px solid rgb(255 255 255 / 25%); border-radius: 999px; background: transparent;
    color: #fff; font: 600 14px/1 "Montserrat", sans-serif; letter-spacing: 0.02em; cursor: pointer;
}
.peMoreBtn::after{ content: "+"; color: var(--blue, #0075ff); font-size: 16px; }
.peMoreBtn[aria-expanded="true"]::after{ content: "\2212"; }
:where(html[data-theme="light"]) .peMoreBtn{ color: #000; border-color: rgb(0 0 0 / 25%); }
/* footer columns open on tap (phones; lighter.js adds .peFoldHead) */
.ftSiteTitle.peFoldHead{ display: flex; justify-content: space-between; align-items: center; cursor: pointer; padding: 14px 0; margin: 0; border-bottom: 1px solid rgb(255 255 255 / 10%); }
.ftSiteTitle.peFoldHead::after{ content: "+"; color: var(--blue, #0075ff); font-size: 20px; line-height: 1; }
.ftSiteTitle.peFoldHead[aria-expanded="true"]::after{ content: "\2212"; }
@media (max-width: 767px){
    .ftSiteGrid{ gap: 0 !important; }
    .ftSiteCol{ margin: 0 !important; }
    .ctaTitle{ font-size: 30px !important; }
    .ctaWrap{ padding-top: 48px; padding-bottom: 48px; }
    .pgWin{ min-height: 0; }
}
@media (max-width: 767px){
    .pgWinPoster{ max-height: 200px; overflow: hidden; }
    .pgWinPoster img{ height: 200px; width: 100%; object-fit: cover; }
    .ftCta{ padding-top: 40px !important; padding-bottom: 32px !important; }
    .ftMail{ font-size: 22px !important; }
    .ftFacts{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
    .ftMain{ padding-top: 32px !important; padding-bottom: 24px !important; }
}
@media (max-width: 767px){
    .pgHero, .pgHero.isSmall{ min-height: 0; padding-top: 112px; padding-bottom: 40px; }
    .pgHero .pgScrollCue{ display: none; }
}
/* intro lead (user D41/D42): two calm sentences in normal weight, no scroll-lit words */
.pgIntroLead{ margin: 0 0 clamp(16px, 1.6vw, 24px); font-family: "Montserrat", sans-serif; font-weight: 500; font-size: clamp(18px, 1.45vw, 25px); line-height: 1.5; color: #fff; max-width: 60ch; }
.pgIntroLead a{ color: var(--blue, #0075ff); }
:where(html[data-theme="light"]) .pgIntroLead{ color: #000; }
@media (max-width: 767px){ .pgIntroLead{ font-size: 18px; } }
/* Contact: what happens after you send the form (client's-eye review, B-261009-13) */
.peAfterForm{ margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.peAfterForm li{ position: relative; padding-left: 22px; font-size: 15px; line-height: 1.5; color: rgb(255 255 255 / 75%); }
.peAfterForm li::before{ content: ""; position: absolute; left: 0; top: 0.6em; width: 8px; height: 8px; border-radius: 50%; background: var(--blue, #0075ff); }
:where(html[data-theme="light"]) .peAfterForm li{ color: rgb(0 0 0 / 75%); }
/* "What happens after you ask" (user D47) */
.peNext{ padding-top: clamp(48px, 6vw, 112px); padding-bottom: clamp(48px, 6vw, 112px); background: #050505; border-top: 1px solid rgb(255 255 255 / 8%); }
.peNextList{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 2vw, 28px); }
.peNextStep{ padding: clamp(20px, 2vw, 32px); border: 1px solid rgb(255 255 255 / 12%); border-radius: 16px; }
.peNextStep h3{ margin: 10px 0 8px; font: 700 clamp(18px, 1.4vw, 22px)/1.25 "Montserrat", sans-serif; color: #fff; }
.peNextStep p{ margin: 0; font-size: 16px; line-height: 1.55; color: rgb(255 255 255 / 75%); }
.peNextNum{ font: 700 13px/1 "Space Mono", monospace; color: var(--blue, #0075ff); letter-spacing: 0.1em; }
.peNextNote{ margin: 18px 0 0; font-size: 14px; color: rgb(255 255 255 / 60%); }
@media (max-width: 767px){ .peNextList{ grid-template-columns: minmax(0, 1fr); } .peNext{ padding-top: 44px; padding-bottom: 44px; } }
:where(html[data-theme="light"]) .peNext{ background: #f6f6f3; border-top-color: rgb(0 0 0 / 8%); }
:where(html[data-theme="light"]) .peNextStep{ border-color: rgb(0 0 0 / 12%); }
:where(html[data-theme="light"]) .peNextStep h3{ color: #000; }
:where(html[data-theme="light"]) .peNextStep p, :where(html[data-theme="light"]) .peNextNote{ color: rgb(0 0 0 / 70%); }
/* reference box: dense data folded away under a short summary (table "fold": True) */
.peRefSummary{ margin: 0 0 14px; font-size: 16px; line-height: 1.6; max-width: 70ch; }
.peRef{ border: 1px solid rgb(255 255 255 / 15%); border-radius: 14px; padding: 0 16px; }
.peRef > summary{ cursor: pointer; padding: 14px 0; font: 600 15px/1.3 "Montserrat", sans-serif; list-style: none; display: flex; justify-content: space-between; }
.peRef > summary::-webkit-details-marker{ display: none; }
.peRef > summary::after{ content: "+"; color: var(--blue, #0075ff); font-size: 18px; }
.peRef[open] > summary::after{ content: "\2212"; }
.peRef[open]{ padding-bottom: 16px; }
:where(html[data-theme="light"]) .peRef{ border-color: rgb(0 0 0 / 15%); }
.peAfterLead{ margin: 16px 0 0; font-size: 14px; color: rgb(255 255 255 / 65%); }
:where(html[data-theme="light"]) .peAfterLead{ color: rgb(0 0 0 / 65%); }
/* /facts/: lists inside table cells, one item per line (compact columns on wide screens) */
.peFactList{ margin: 0; padding: 0; list-style: none; columns: 2 220px; column-gap: 24px; }
.peFactList li{ break-inside: avoid; padding: 2px 0; }
/* "Services for <industry>" cards with platform chips (user D50) */
.peSvcGrid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 24px); }
.peSvcCard{ display: flex; flex-direction: column; gap: 8px; padding: clamp(18px, 1.8vw, 28px); border: 1px solid rgb(255 255 255 / 12%); border-radius: 16px; color: inherit; text-decoration: none; }
a.peSvcCard:hover{ border-color: var(--blue, #0075ff); }
.peSvcCard h3{ margin: 0; font: 700 clamp(17px, 1.3vw, 20px)/1.3 "Montserrat", sans-serif; color: #fff; }
.peSvcCard p{ margin: 0; font-size: 16px; line-height: 1.55; color: rgb(255 255 255 / 75%); }
.peSvcIcon{ color: var(--blue, #0075ff); font-size: 22px; min-height: 22px; }
.pePlats{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 8px; }
.pePlat{ display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border: 1px solid rgb(255 255 255 / 18%); border-radius: 999px; font-size: 13px; color: rgb(255 255 255 / 85%); }
.pePlat i{ font-size: 14px; }
@media (max-width: 991px){ .peSvcGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px){
    .peSvcGrid{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 8px; -webkit-overflow-scrolling: touch; }
    .peSvcCard{ flex: 0 0 82%; scroll-snap-align: start; }
}
:where(html[data-theme="light"]) .peSvcCard{ border-color: rgb(0 0 0 / 12%); }
:where(html[data-theme="light"]) .peSvcCard h3{ color: #000; }
:where(html[data-theme="light"]) .peSvcCard p{ color: rgb(0 0 0 / 72%); }
:where(html[data-theme="light"]) .pePlat{ color: rgb(0 0 0 / 80%); border-color: rgb(0 0 0 / 18%); }
/* D53 writer components: "Go deeper" fold, lesson callout, brand note */
.peDeeper{ padding: 8px 0; }
.peDeeperBox{ border: 1px solid rgb(255 255 255 / 14%); border-radius: 14px; padding: 0 18px; }
.peDeeperBox > summary{ cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 12px; padding: 16px 0;
    font: 700 clamp(16px, 1.2vw, 19px)/1.35 "Montserrat", sans-serif; color: #fff; }
.peDeeperBox > summary::-webkit-details-marker{ display: none; }
.peDeeperBox > summary::after{ content: "+"; color: var(--blue, #0075ff); font-size: 22px; line-height: 1; }
.peDeeperBox[open] > summary::after{ content: "\2212"; }
.peDeeperBox[open]{ padding-bottom: 14px; }
.peDeeperList{ margin: 0; padding-left: 20px; } .peDeeperList li{ margin: 4px 0; }
.peLesson{ padding: 8px 0; }
.peLessonBox{ display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-left: 3px solid var(--blue, #0075ff);
    background: rgb(255 255 255 / 4%); border-radius: 0 12px 12px 0; max-width: 820px; }
.peLessonBox > i{ color: var(--blue, #0075ff); font-size: 20px; margin-top: 3px; }
.peLessonText{ margin: 0; font-size: clamp(16px, 1.2vw, 18px); line-height: 1.55; }
.peLessonSrc{ margin: 6px 0 0; font-size: 13px; color: rgb(255 255 255 / 60%); } .peLessonSrc cite{ font-style: italic; }
.peBrandNote{ padding: 6px 0; } .peBrandNote p{ margin: 0; font-size: 13px; line-height: 1.5; color: rgb(255 255 255 / 55%); max-width: 820px; }
:where(html[data-theme="light"]) .peDeeperBox{ border-color: rgb(0 0 0 / 14%); }
:where(html[data-theme="light"]) .peDeeperBox > summary{ color: #000; }
:where(html[data-theme="light"]) .peLessonBox{ background: rgb(0 0 0 / 4%); }
:where(html[data-theme="light"]) .peLessonSrc, :where(html[data-theme="light"]) .peBrandNote p{ color: rgb(0 0 0 / 60%); }
.peDeeperSummary{ margin: 0 0 10px; font-size: 16px; line-height: 1.6; max-width: 70ch; color: rgb(255 255 255 / 80%); }
.peDeeperPart{ margin: 14px 0; } .peDeeperPart h3{ margin: 0 0 6px; font: 700 16px/1.3 "Montserrat", sans-serif; }
.peDeeperSrc{ margin: 4px 0 0; font-size: 13px; color: rgb(255 255 255 / 55%); }
.peDeeperSteps{ margin: 10px 0 0; padding-left: 20px; } .peDeeperSteps li{ margin: 6px 0; } .peDeeperSee{ color: rgb(255 255 255 / 60%); }
:where(html[data-theme="light"]) .peDeeperSummary{ color: rgb(0 0 0 / 75%); }
:where(html[data-theme="light"]) .peDeeperSrc, :where(html[data-theme="light"]) .peDeeperSee{ color: rgb(0 0 0 / 55%); }
/* YouTube references (D54): a thumbnail until tapped */
.peVideoGrid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.peVideo{ margin: 0; }
.peVideoPlay, .peVideoFrame{ position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; padding: 0; border-radius: 14px; overflow: hidden; background: #111; cursor: pointer; }
.peVideoPlay img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.peVideoBtn{ position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; border-radius: 50%; background: rgb(0 0 0 / 65%); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 22px; }
.peVideo figcaption{ margin-top: 8px; font-size: 15px; line-height: 1.45; } .peVideo figcaption b{ display: block; }
.peVideo figcaption span{ font-size: 13px; color: rgb(255 255 255 / 60%); }
:where(html[data-theme="light"]) .peVideo figcaption span{ color: rgb(0 0 0 / 60%); }
@media (max-width: 767px){ .peVideoGrid{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; } .peVideo{ flex: 0 0 84%; scroll-snap-align: start; } }
/* hook: one-line invitation (D54) */
.peHook{ padding: 10px 0; }
.peHookLine{ display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0; padding: 14px 18px; border-radius: 14px;
    background: rgb(0 117 255 / 10%); font-size: 16px; line-height: 1.5; }
.peHookBtn{ display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: var(--blue, #0075ff);
    color: #fff !important; font: 600 14px/1 "Montserrat", sans-serif; text-decoration: none; white-space: nowrap; }

/* ================================================================
   D50 phone-first (user 2026-10-10): "Content is not readable. Scrolling never ends ... Once the scroll begins,
   should reach the final screen." Phones: 17 px body at 1.6, ~65 characters a line, calmer headings, card lists
   swipe sideways, secondary sections fold (lighter.js), one call to action per screen. Desktop unchanged (D23).
   ================================================================ */
@media (max-width: 767px){
    body{ -webkit-text-size-adjust: 100%; }
    .pgText, .pgProse p, .pgIntroLead, .pgCard p, .peSvcCard p, .peNextStep p, .faqA p, .peTable td, .peTable th{ font-size: 17px; line-height: 1.6; }
    .pgProse, .pgText, .pgIntroLead{ max-width: 65ch; }
    .pgIntroLead{ font-size: 18px; }
    .pgHeroTitle, .pgHero.isSmall .pgHeroTitle, .pgHero.isLong .pgHeroTitle, .pgHero.isXLong .pgHeroTitle{ font-size: 8vw; line-height: 1.05; }
    .pgHeroLead{ font-size: 17px; }
    .pgTitle, .pgStateTitle{ font-size: 23px; line-height: 1.15; }
    .pgCard h3, .peSvcCard h3, .peNextStep h3{ font-size: 18px; }
    .pgIntro, .pgState, .pgCards, .pgHow, .pgWins, .pgLinks, .peNext, .peTakeaways, .peDefine{ padding-top: 36px; padding-bottom: 36px; }
    .pgIntroGrid, .pgStateGrid{ gap: 12px; }
    /* card lists swipe sideways instead of stacking (problems, what's included, why us, industries, cases) */
    .pgCards .pgGrid, .pgWins .pgWinGrid{ display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px;
        padding-bottom: 10px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .pgCards .pgGrid::-webkit-scrollbar, .pgWins .pgWinGrid::-webkit-scrollbar{ display: none; }
    .pgCards .pgGrid > *, .pgWins .pgWinGrid > *{ flex: 0 0 84%; scroll-snap-align: start; min-width: 0; }
    .pgCards .pgGrid::after, .pgWins .pgWinGrid::after{ content: ""; flex: 0 0 1px; }
    /* folded secondary sections: the title is the switch */
    .peSecFold .pgHead, .peSecFold .pgStateSide{ display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; cursor: pointer; margin-bottom: 0; }
    .peSecFold .pgHead::after, .peSecFold .pgStateSide::after{ content: "+"; flex: 0 0 auto; color: var(--blue, #0075ff); font: 400 28px/1 "Montserrat", sans-serif; }
    .peSecFold .pgHead[aria-expanded="true"]::after, .peSecFold .pgStateSide[aria-expanded="true"]::after{ content: "\2212"; }
    .peSecFold .pgHead[aria-expanded="true"], .peSecFold .pgStateSide[aria-expanded="true"]{ margin-bottom: 16px; }
    .peSecFold{ padding-top: 22px !important; padding-bottom: 22px !important; border-top: 1px solid rgb(255 255 255 / 8%); }
    .peSecFold .pgText{ display: none; }
    .peSecFold [aria-expanded="true"] .pgText{ display: block; }
    /* one call to action at a time: the phone bar and "what happens next" already carry it */
    .peNudge{ display: none !important; }
    .peProof{ padding-top: 20px; padding-bottom: 20px; }
}
:where(html[data-theme="light"]) .peSecFold{ border-top-color: rgb(0 0 0 / 8%); }
/* reduced motion everywhere: no smooth reveals */
@media (prefers-reduced-motion: reduce){
    *{ scroll-behavior: auto !important; }
}
/* D50 home on phones, once lighter.js has switched off the pinned stories (html.peStill): plain, finished sections */
@media (max-width: 767px){
    html.peStill .bannerWrap{ height: auto; min-height: 88svh; }
    html.peStill .bannerWrap .bannerReveal, html.peStill .bannerWrap .bannerStats{ display: none; } /* the same facts sit in the proof strip */
    html.peStill .bannerWrap .bannerBelt{ visibility: visible; }
    html.peStill .svcWrap{ height: auto; min-height: 0; padding: 40px 0 32px; overflow: visible; }
    html.peStill .svcWrap .svcStage{ position: static; }
    html.peStill .svcWrap .svcVideo{ display: none; }
    html.peStill .svcWrap .svcHead{ position: static; visibility: visible; opacity: 1; transform: none; padding: 0 16px 16px; text-align: left; }
    html.peStill .svcWrap .svcMore{ visibility: visible; opacity: 1; position: static; transform: none; padding: 8px 16px 0; }
    html.peStill .svcWrap .svcGrid{ position: static; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px;
        padding: 0 16px 10px; grid-template-columns: none; scrollbar-width: none; }
    html.peStill .svcWrap .svcGrid::-webkit-scrollbar{ display: none; }
    html.peStill .svcWrap .svcCard{ position: relative; visibility: visible; opacity: 1; transform: none; flex: 0 0 80%; width: auto; height: auto;
        min-height: 0; scroll-snap-align: start; left: auto; top: auto; }
    html.peStill .wwaWrap .wwaCont, html.peStill .wwaWrap .wwaStats{ visibility: visible; opacity: 1; transform: none; }
}
@media (max-width: 767px){
    html.peStill .wwaWrap{ height: auto; min-height: 0; }
    html.peStill .wwaWrap .wwaStage{ position: relative; height: auto; min-height: 0; }
    html.peStill .wwaWrap .wwaVideo{ position: absolute; inset: 0; width: 100%; height: 100%; transform: none; }
    html.peStill .wwaWrap .wwaCont{ position: relative; z-index: 2; inset: auto; padding: 56px 16px 40px; height: auto; }
    html.peStill .wwaWrap .wwaStats{ position: static; grid-template-columns: repeat(2, 1fr); margin-top: 20px; }
}
@media (max-width: 767px){
    /* folded-section headers are a row (title + "+"): let long titles wrap instead of widening the page */
    .peSecFold .pgHead > *, .peSecFold .pgStateSide > *{ min-width: 0; flex: 1 1 auto; }
    .peSecFold .pgTitle, .peSecFold .pgStateTitle{ overflow-wrap: anywhere; }
    .peSecFold .pgHead, .peSecFold .pgStateSide{ flex-wrap: nowrap; }
}

/* ================================================================
   D57 + Boss review (10 Oct): light by default (build.THEME_LIGHT_FIRST), calmer headings, no overlaps
   ================================================================ */
/* H2 and below read in sentence case on every screen; the hero headline keeps its brand capitals */
.pgTitle, .pgStateTitle, .ctaTitle, .pgCard h3, .peSvcCard h3{ text-transform: none; font-family: "Montserrat", sans-serif;
    font-stretch: normal; font-variation-settings: normal; letter-spacing: -0.01em; }
.pgTitle, .ctaTitle{ font-weight: 700; }
/* proof cards: results as plain, readable text */
.pgWinRes small{ font-family: "Montserrat", sans-serif; font-size: 15px; letter-spacing: 0; text-transform: none; line-height: 1.45; }
@media (max-width: 767px){
    /* folded section headers: label above the heading, "+" on the right, nothing side by side */
    .peSecFold .pgHead, .peSecFold .pgStateSide{ display: block; position: relative; padding-right: 40px; }
    .peSecFold .pgHead::after, .peSecFold .pgStateSide::after{ position: absolute; right: 0; bottom: 2px; }
    .peSecFold .pgEyebrow{ display: block; margin-bottom: 6px; }
    /* template hero: text on a clean background, the picture below it */
    .pgHero{ display: flex; flex-direction: column; justify-content: flex-start; }
    .pgHero .pgHeroInner{ order: 1; }
    .pgHero .pgCircle{ order: 2; position: relative; left: auto; top: auto; width: 62vw; height: 62vw; margin: 22px auto 0;
        transform: none !important; opacity: 1 !important; visibility: visible !important; }
    .pgHero .pgCircle img{ border-radius: 50%; }
}
@media (max-width: 767px){
    .peSecFold .pgHead, .peSecFold .pgStateSide{ top: auto !important; }   /* desktop sticky offset must not apply when relative */
}
.pgWins .pgWin .pgWinRes small, .pgWinRes small{ font-family: "Montserrat", sans-serif !important; font-size: 15px !important;
    letter-spacing: 0 !important; text-transform: none !important; line-height: 1.45; }

/* ================================================================
   D57 home directions (preview pages /preview/home-a/ and /preview/home-b/)
   A "Calm premium": generous white space, refined type, quiet colour.  B "Bold editorial": big type, an image band, contrast.
   ================================================================ */
.homeA .pgHero, .homeB .pgHero{ min-height: 0; padding-top: 140px; padding-bottom: 56px; }
.homeA .pgHeroTitle{ font-family: "Montserrat", sans-serif; font-weight: 700; text-transform: none; letter-spacing: -0.02em;
    font-size: clamp(34px, 5vw, 76px); line-height: 1.08; }
.homeA .pgHeroLead{ font-size: clamp(17px, 1.35vw, 21px); max-width: 58ch; }
.homeA .pgHero .pgHeroBtns .pgBtn.ghost{ display: none; }   /* one call to action on the first screen */
.homeA section{ padding-top: clamp(48px, 7vw, 120px); padding-bottom: clamp(48px, 7vw, 120px); }
.homeA .peSvcCard{ border-radius: 20px; }
.homeB .pgHeroTitle{ font-size: clamp(40px, 7vw, 120px); line-height: 0.98; }
.homeB .pgHeroLead{ font-size: clamp(18px, 1.5vw, 23px); max-width: 52ch; font-weight: 500; }
.peBand{ padding: 0 clamp(16px, 4vw, 48px); }
.peBand figure{ margin: 0; position: relative; border-radius: 24px; overflow: hidden; aspect-ratio: 21 / 9; }
.peBand img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.peBand figcaption{ position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 22px; color: #fff; font: 600 clamp(16px, 1.4vw, 22px)/1.35 "Montserrat", sans-serif;
    background: linear-gradient(transparent, rgb(0 0 0 / 70%)); }
@media (max-width: 767px){
    .homeA .pgHero, .homeB .pgHero{ padding-top: 104px; padding-bottom: 32px; }
    .homeA .pgHeroTitle{ font-size: 9vw; }
    .homeB .pgHeroTitle{ font-size: 11vw; }
    .peBand figure{ aspect-ratio: 4 / 3; border-radius: 18px; }
    .homeA section, .homeB section{ padding-top: 36px; padding-bottom: 36px; }
}
.peHookLine{ color: #fff; }
:where(html[data-theme="light"]) .peHookLine{ color: #10151c; background: rgb(0 117 255 / 9%); }

/* ================================================================
   Boss review 2 (10 Oct, light screens + home A/B)
   ================================================================ */
/* closing block + FAQ headings: solid sentence case like every other H2 (no outlined caps) */
.ctaWrap .ctaTitle, .ctaWrap .faqTitle{ text-transform: none; font-family: "Montserrat", sans-serif; font-stretch: normal;
    font-variation-settings: normal; font-weight: 700; letter-spacing: -0.01em; }
.ctaWrap .ctaTitle .outline{ color: var(--blue, #0075ff); -webkit-text-stroke: 0; text-shadow: none; }
/* "Updated ..." under the hero: readable */
.peByline{ opacity: 1; font-size: 13px; color: rgb(255 255 255 / 82%); }
:where(html[data-theme="light"]) .peByline{ color: #4a505c; }
/* proof cards: the result sits on a solid panel, not on the photo */
.pgWin .pgWinRes{ margin: 0 calc(-0.5 * clamp(18px, 1.6vw, 28px)) calc(-0.5 * clamp(18px, 1.6vw, 28px));
    padding: 12px 14px; border-radius: 12px; background: rgb(8 10 16 / 88%); }
:where(html[data-theme="light"]) .pgWin .pgWinRes{ background: rgb(255 255 255 / 96%); box-shadow: 0 2px 10px rgb(0 0 0 / 12%); }
/* footer facts: numbers were white on the light footer */
:where(html[data-theme="light"]) .ftFacts b{ color: #0e121b; }
:where(html[data-theme="light"]) .ftFacts span{ color: #4a505c; }
/* "See all 12" link under a takeaways box */
.peBoxMore{ margin: 14px 0 0; font-weight: 700; }
.peBoxMore a{ color: var(--blue, #0075ff); }
/* D60 brand basics checklist */
.peCheckGrid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: clamp(14px, 2vw, 28px); }
.peCheckGroup summary{ display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 0 10px; list-style: none; cursor: pointer; }
.peCheckGroup summary::-webkit-details-marker{ display: none; }
.peCheckGroup summary::after{ content: "\2212"; font: 700 18px/1 "Montserrat", sans-serif; color: var(--blue, #0075ff); }
.peCheckGroup:not([open]) summary::after{ content: "+"; }
.peCheckGroup h3{ margin: 0; flex: 1 1 auto; font: 700 17px/1.3 "Montserrat", sans-serif; }
.peCheckCount{ font-size: 13px; opacity: 0.7; white-space: nowrap; }
.peTick{ flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: -2px -4px 0 -6px;
    padding: 0; border: 0; border-radius: 50%; background: none; color: var(--blue, #0075ff); font-size: 18px; cursor: pointer; }
.peTick:focus-visible{ outline: 2px solid var(--blue, #0075ff); outline-offset: 1px; }
.peCheckGroup li.isDone > span > a, .peCheckGroup li.isDone > span{ opacity: 0.75; }
.peCheckTools{ margin: 18px 0 0; }
.peCheckPrint{ display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; border: 1px solid currentColor;
    background: none; color: var(--blue, #0075ff); font: 600 14px/1 "Montserrat", sans-serif; cursor: pointer; }
.peCheckGroup ul{ list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.peCheckGroup li{ display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.5; }
.peCheckGroup li > i{ color: var(--blue, #0075ff); margin-top: 4px; }
.peCheckGroup li a{ color: inherit; border-bottom: 1px solid rgb(0 117 255 / 50%); }
.peCheckNote{ display: block; font-size: 13px; color: rgb(255 255 255 / 60%); }
:where(html[data-theme="light"]) .peCheckNote{ color: rgb(0 0 0 / 60%); }
@media (max-width: 767px){
    .peCheckGroup{ padding: 12px 0; border-top: 1px solid rgb(128 128 128 / 25%); }
    .peCheckGroup li{ font-size: 15px; }
    .peCheckNote{ font-size: 12.5px; }
}
/* print: black on white, empty boxes to tick on paper (ticked ones print ticked); the button prints only the checklist */
@media print{
    .peCheck{ color: #000 !important; background: #fff !important; padding: 0 !important; }
    .peCheck .pgTitle, .peCheck .pgEyebrow, .peCheck p, .peCheck a, .peCheckGroup h3{ color: #000 !important; }
    .peCheck a{ border: 0 !important; text-decoration: none !important; }
    .peCheckGroup{ break-inside: avoid; }
    .peCheckGroup summary::after, .peCheckCount, .peCheckTools, .peTick i, .peCheckGroup li > i{ display: none !important; }
    .peTick{ width: 14px; height: 14px; margin: 4px 0 0; border: 1.5px solid #000 !important; border-radius: 3px; font-size: 11px; }
    .peCheckGroup li.isDone .peTick::after{ content: "\2713"; line-height: 1; }
    .peCheckNote{ color: #444 !important; }
    html.pePrintCheck, html.pePrintCheck body{ background: #fff !important; }
    html.pePrintCheck body *{ visibility: hidden !important; }
    html.pePrintCheck .peCheck.isPrinting, html.pePrintCheck .peCheck.isPrinting *{ visibility: visible !important; }
    html.pePrintCheck .peCheck.isPrinting{ position: absolute; left: 0; top: 0; width: 100%; }
    html.pePrintCheck .peCheck.isPrinting .peCheckTools{ display: none !important; }
}
/* footer facts: the numbers were white on the light footer */
:where(html[data-theme="light"]) .ftFacts{ border-top-color: rgb(0 0 0 / 10%); }
:where(html[data-theme="light"]) .ftFacts b{ color: #0e121b; }
:where(html[data-theme="light"]) .ftFacts span{ color: #4a505c; }
/* light mode: inline links inside text read as links (blue underline), not as plain words */
:where(html[data-theme="light"]) :is(p, li, td, th, dd) > a:not([class]){ text-decoration: underline; text-decoration-color: rgb(0 117 255 / 55%); text-underline-offset: 2px; }
/* D61 home pictures: real work at its own shape, caption + case link below the picture */
.peBand.isOwn figure{ margin: 0 auto; border-radius: 18px; overflow: visible; }
.peBand.isOwn img{ border-radius: 18px; height: auto; aspect-ratio: inherit; }
.peBand.isOwn figcaption{ position: static; padding: 12px 2px 0; background: none; color: inherit; font: 500 15px/1.5 "Montserrat", sans-serif; }
.peBand.isOwn figcaption a{ color: var(--blue, #0075ff); font-weight: 700; white-space: nowrap; }
.homeA .peBand{ padding-top: clamp(20px, 3vw, 40px); padding-bottom: clamp(20px, 3vw, 40px); }
@media (min-width: 768px){ .homeA .peVideoGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 1040px; } }
/* D63 case template: tag chips + work gallery */
.peTags{ padding: 8px 0 0; }
.peTagRow{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 14px; }
.peTagRow b{ min-width: 82px; font-weight: 700; }
.peTag{ display: inline-block; padding: 5px 12px; border-radius: 999px; border: 1px solid rgb(0 117 255 / 45%); color: inherit; text-decoration: none; }
.peGalGrid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.peGalItem{ margin: 0; }
.peGalItem img{ width: 100%; height: auto; border-radius: 14px; display: block; }
.peGalItem figcaption{ margin-top: 8px; font-size: 14px; line-height: 1.45; }
/* glossary terms: related cards are a plain list, no "01" counter (04/01, 11 Oct) */
.glossaryTermPage .pgRow > i{ display: none; }

/* ================================================================
   D70/D71 navigation mock (branch build/d70-nav; not on staging until the user's final yes)
   ================================================================ */
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega.isSvc{ width: min(1080px, calc(100vw - 80px)); }
.peMega .megaPopular{ grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 2px 14px 14px; margin-bottom: 6px;
    border-bottom: 1px solid rgb(255 255 255 / 10%); }
.peMega .megaPopHead{ font-family: "Space Mono", monospace; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #0075ff; margin-right: 6px; }
.peMega .megaPopular ul{ display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega .megaPopular li a{ display: inline-block; padding: 6px 12px; border-radius: 999px;
    border: 1px solid rgb(0 117 255 / 40%); font-size: 12px; }
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega.isInd,
.headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega.isLoc{ width: min(620px, calc(100vw - 80px)); grid-template-columns: 1fr; }
.peMega .megaAll{ margin: 6px 14px 4px; }
.peMega .megaAll a{ color: #0075ff !important; font-weight: 700; padding: 0 !important; }
:where(html[data-theme="light"]) .peMega .megaPopular{ border-bottom-color: rgb(0 0 0 / 10%); }
/* call + WhatsApp icons inside the menu bar, before the one button (desktop); next to the menu button on phones */
.peNavIcon{ display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px;
    border: 1px solid rgb(255 255 255 / 14%); color: #f1ede4; font-size: 15px; text-decoration: none; }
.peNavIcon.isWa, .peHeadCall.isWa{ color: #25d366 !important; }
:where(html[data-theme="light"]) .peNavIcon{ border-color: rgb(0 0 0 / 12%); color: #0b0b0b; }
:where(html[data-theme="light"]) .peNavIcon.isWa, :where(html[data-theme="light"]) .peHeadCall.isWa{ color: #128c4b !important; }
.peHeadCall i{ font-size: 16px; }
@media (max-width: 991px){ .peNavIcon{ display: none; } }
/* phone menu */
.peMobileNav .peMobPop{ display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 10px !important; }
.peMobileNav .peMobPop li a{ display: inline-block; padding: 7px 12px !important; border-radius: 999px; border: 1px solid rgb(0 117 255 / 40%); }
.peMobileNav details.peMobSub{ border-bottom: 0; margin-left: 4px; }
.peMobileNav details.peMobSub > summary{ font-size: 16px; padding-top: 10px; padding-bottom: 10px; min-height: 48px; }
.peMobileNav .peMobGrid{ display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; }
.peMobileNav .peMobAll a{ color: #0075ff !important; font-weight: 700; }
/* footer: five columns */
.ftSiteGrid.isFive{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 991px){ .ftSiteGrid.isFive{ grid-template-columns: 1fr 1fr; } }
.headerWrap .headerInner .menuWrap > ul > li > a{ white-space: nowrap; }
@media (min-width: 992px) and (max-width: 1365px){ .headerWrap .headerInner .menuWrap > ul{ gap: 18px; } .headerWrap .headerInner .menuWrap .menuCta{ padding: 0 18px; letter-spacing: 0.06em; } }
.peMobileNav details.peMobSub:not([open]) > summary::after{ content: "+"; }
.peMobileNav details.peMobSub[open] > summary::after{ content: "\2212"; }
/* light mode: footer sitemap links were pale grey on white */
:where(html[data-theme="light"]) .ftSiteCol .ftLink{ color: #3d4250; }
:where(html[data-theme="light"]) .ftSiteCol .ftLink:hover{ color: #0075ff; }
@media (max-width: 767px){ .ftSiteGrid.isFive{ grid-template-columns: 1fr; } }
/* D75 bylines: author link + the advice note on legal/tax pages */
.peByline a[rel="author"], .peByline a{ color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.peAdviceNote{ margin: 10px auto 0; max-width: 60ch; font-size: 13px; line-height: 1.5; opacity: 0.85; text-align: center; }

/* m3.css */
/* D113: Arial sized and spaced like Plus Jakarta Sans (measured in Chrome 14 Oct: width +3%, ascent 1.04em, descent 0.22em),
   so text does not reflow when the web font arrives (the guide's 0.24 layout shift) */
@font-face{ font-family: "PJ Fallback"; src: local("Arial"), local("Helvetica"), local("Liberation Sans");
    size-adjust: 103%; ascent-override: 101%; descent-override: 21%; line-gap-override: 0%; }
/* ================================================================
   D78 sample redesign (branch build/d78-redesign; not on staging until the user's yes).
   Same HTML; this layer restyles it: one font, sentence case, a pastel tint system with brand-blue actions,
   cards like Google's, step chips, an "On this page" chip bar and light motion (off under reduced motion).
   ================================================================ */
:root{
    --m-font: "Plus Jakarta Sans", "PJ Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;
    --m-paper: #ffffff; --m-surface: #f5f7fb; --m-line: #e3e8f0;
    --m-ink: #1b2333; --m-ink-2: #46506a; --m-ink-3: #6b7489;
    --m-blue: #0b5fd9; --m-blue-ink: #ffffff; --m-blue-soft: #e5f0ff;
    --t-sky: #e5f0ff;      --i-sky: #0b4a9e;
    --t-mint: #dcf5e9;     --i-mint: #0e6b44;
    --t-peach: #ffe7da;    --i-peach: #9a3b0e;
    --t-lavender: #ece7ff; --i-lavender: #4e35a6;
    --t-butter: #fff3c9;   --i-butter: #765600;
    --t-rose: #ffe4ee;     --i-rose: #9b1e4f;
    --t-teal: #d9f3f2;     --i-teal: #0d6464;
    --tint: var(--t-sky); --tint-ink: var(--i-sky);
    --m-r-lg: 24px; --m-r: 18px; --m-r-sm: 12px;
    --m-shadow: 0 1px 2px rgb(27 35 51 / 6%), 0 2px 8px rgb(27 35 51 / 5%);
    --m-shadow-up: 0 6px 18px rgb(27 35 51 / 10%), 0 2px 4px rgb(27 35 51 / 6%);
}
body.isM3[data-tint="sky"]{ --tint: var(--t-sky); --tint-ink: var(--i-sky); }
body.isM3[data-tint="mint"]{ --tint: var(--t-mint); --tint-ink: var(--i-mint); }
body.isM3[data-tint="peach"]{ --tint: var(--t-peach); --tint-ink: var(--i-peach); }
body.isM3[data-tint="lavender"]{ --tint: var(--t-lavender); --tint-ink: var(--i-lavender); }
body.isM3[data-tint="butter"]{ --tint: var(--t-butter); --tint-ink: var(--i-butter); }
body.isM3[data-tint="rose"]{ --tint: var(--t-rose); --tint-ink: var(--i-rose); }
body.isM3[data-tint="teal"]{ --tint: var(--t-teal); --tint-ink: var(--i-teal); }

/* ---------- one font, sentence case, calm ink ---------- */
html:has(body.isM3), body.isM3{ background: var(--m-paper) !important; color: var(--m-ink) !important; }
body.isM3, body.isM3 :where(*:not(i):not(.fa):not([class*="fa-"]):not(code):not(svg):not(svg *)){
    font-family: var(--m-font) !important; font-stretch: normal !important; font-variation-settings: normal !important; }
body.isM3 :where(h1, h2, h3, h4, .pgTitle, .pgHeroTitle, .ctaTitle, .faqTitle, .pgEyebrow, .pgHeroSub, .pgCrumb, .pgRowHead,
    .menuWrap a, .menuCta, .pgBtn, .peByline, .peByline span, .ftSiteTitle, .ftTitle, .faqQ i, .pgCardNum, .peHookBtn, .peProofMore,
    .ctaBtn, .ftPlanBtn, .ftCopyBtn, .ctaEyebrow, .ftCtaEyebrow, .peTag, .pePriceSub, .peNextNum, .pgStepNum, .ftReachLabel, .ftClock){
    text-transform: none !important; letter-spacing: normal !important; }
body.isM3 :where(p, li, td, th, dd, .pgText, .pgProse p){ color: var(--m-ink-2); }
body.isM3 :where(p, li){ line-height: 1.65; }
body.isM3 h1, body.isM3 h2, body.isM3 h3, body.isM3 .pgTitle, body.isM3 .pgHeroTitle{ color: var(--m-ink) !important; }
body.isM3 .pgTitle em, body.isM3 .pgHeroTitle em, body.isM3 .ctaTitle em, body.isM3 .faqTitle em, body.isM3 .ctaTitle .outline{
    font-style: normal !important; color: inherit !important; -webkit-text-stroke: 0 !important; }
body.isM3 .pgTitle .pgLine, body.isM3 .pgTitle .pgIn, body.isM3 .pgHeroTitle .pgHeroLine, body.isM3 .pgHeroTitle .pgHeroIn,
body.isM3 .ctaTitle .ctaLine, body.isM3 .ctaTitle .ctaIn{ display: inline !important; overflow: visible !important; white-space: normal !important; }
body.isM3 .pgTitle .pgLine + .pgLine::before, body.isM3 .pgHeroTitle .pgHeroLine + .pgHeroLine::before,
body.isM3 .ctaTitle .ctaLine + .ctaLine::before{ content: " "; }
body.isM3 .pgHeroTitle[data-dot] .pgHeroLine:last-child .pgHeroIn::after{ content: none !important; }
body.isM3 .pgTitle{ font-size: clamp(26px, 2.6vw, 38px) !important; font-weight: 800 !important; line-height: 1.18 !important; letter-spacing: -0.02em !important; max-width: 24ch; }
body.isM3 .pgText, body.isM3 .pgHead > p{ font-size: 17px !important; max-width: 62ch; }

/* section label: a small tinted chip, sentence case, no running number */
body.isM3 .pgEyebrow{ display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; padding: 5px 12px !important; margin-bottom: 14px !important;
    border-radius: 999px; background: var(--tint); color: var(--tint-ink) !important; font-size: 13px !important; font-weight: 700 !important; }
body.isM3 .pgEyebrow::before, body.isM3 .pgEyebrow::after{ display: none !important; }
body.isM3 .pgEyebrow > i{ display: none !important; }

/* ---------- layout rhythm ---------- */
body.isM3 main > section{ background: transparent !important; border: 0 !important; }
body.isM3 main > section:not(.pgHero):not(.ctaWrap):not(.peHook):not(.peLesson):not(.peBand):not(.peBrandNote):not(.m3Belief){ padding-top: clamp(40px, 5vw, 72px) !important; padding-bottom: clamp(40px, 5vw, 72px) !important; }
body.isM3 main > section.isAlt, body.isM3 main > .peProof, body.isM3 main > .peNext{ background: var(--m-surface) !important; }
body.isM3 .pgWrap{ max-width: 1160px; }
body.isM3 .pgHead{ text-align: left !important; margin-left: 0 !important; }

/* ---------- header: white bar, quiet links, one blue pill ---------- */
body.isM3 .headerWrap, body.isM3 .headerWrap.isSticky{ background: rgb(255 255 255 / 92%) !important; backdrop-filter: blur(12px); border-bottom: 1px solid var(--m-line) !important; padding-top: 6px !important; padding-bottom: 6px !important; }
body.isM3 .headerWrap .headerInner .menuWrap{ background: transparent !important; border: 0 !important; backdrop-filter: none !important; }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li > a{ color: var(--m-ink) !important; font-size: 15px !important; font-weight: 600 !important; }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li > a:hover, body.isM3 .headerWrap .headerInner .menuWrap > ul > li.isActive > a{ color: var(--m-blue) !important; }
body.isM3 .headerWrap .headerInner .menuWrap .menuCta, body.isM3 .menuCta{ background: var(--m-blue) !important; color: #fff !important; font-size: 15px !important; font-weight: 700 !important; border-radius: 999px !important; height: 44px; padding: 0 22px !important; }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu{ background: #fff !important; border: 1px solid var(--m-line) !important; border-radius: var(--m-r) !important; box-shadow: var(--m-shadow-up) !important; }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu li a{ color: var(--m-ink) !important; font-size: 14px !important; }
body.isM3 .peMega .megaHead{ color: var(--m-ink) !important; font-size: 14px !important; border-bottom-color: var(--m-line) !important; }
body.isM3 .peMega li a small, body.isM3 .peMega .megaPromise{ color: var(--m-ink-3) !important; }
body.isM3 .peNavIcon, body.isM3 .peHeadCall{ background: var(--m-surface) !important; border-color: var(--m-line) !important; color: var(--m-ink) !important; border-radius: 999px !important; }
body.isM3 .peNavIcon.isWa, body.isM3 .peHeadCall.isWa{ color: #0e7a3c !important; }
body.isM3 .themeToggle, body.isM3 [class*="themeSwitch"], body.isM3 .peTheme{ display: none !important; }

/* ---------- buttons: pills ---------- */
body.isM3 .pgBtn, body.isM3 .ctaBtn, body.isM3 .ftPlanBtn, body.isM3 .peHookBtn{ border-radius: 999px !important; font-size: 15px !important; font-weight: 700 !important; min-height: 48px; padding: 0 24px !important;
    display: inline-flex !important; align-items: center; gap: 8px; box-shadow: none !important; }
body.isM3 .pgBtn.primary, body.isM3 .ctaBtn.solid, body.isM3 .ftPlanBtn, body.isM3 .peHookBtn{ background: var(--m-blue) !important; border-color: var(--m-blue) !important; color: #fff !important; }
body.isM3 .pgBtn.ghost, body.isM3 .ctaBtn:not(.solid){ background: #fff !important; border: 1px solid var(--m-line) !important; color: var(--m-blue) !important; }
body.isM3 .pgBtn:hover, body.isM3 .ctaBtn:hover{ filter: brightness(0.96); }
body.isM3 .btnArrow{ display: none; }

/* ---------- hero: text left, a pastel tile cluster right ---------- */
body.isM3 .pgHero{ min-height: 0 !important; height: auto !important; padding: 128px 0 56px !important; background: linear-gradient(180deg, var(--m-surface), #fff) !important; overflow: hidden; }
body.isM3 .pgHero .pgCircle{ display: none !important; }
body.isM3 .pgHero .pgHeroInner{ max-width: 1160px !important; margin: 0 auto !important; padding: 0 24px !important; text-align: left !important; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); column-gap: 48px; align-items: center; }
body.isM3 .pgHero .pgHeroInner > *{ grid-column: 1; justify-self: start !important; text-align: left !important; margin-left: 0 !important; }
body.isM3 .pgHero .pgHeroInner > .m3Tiles{ grid-column: 2; grid-row: 1 / span 8; justify-self: stretch !important; }
body.isM3 .pgCrumb{ font-size: 13px !important; color: var(--m-ink-3) !important; }
body.isM3 .pgCrumb a{ color: var(--m-ink-3) !important; }
body.isM3 .pgHeroSub{ display: flex !important; flex-wrap: wrap; gap: 8px; margin: 14px 0 10px !important; font-size: 13px !important; font-weight: 600 !important; }
body.isM3 .pgHeroSub span{ padding: 5px 12px; border-radius: 999px; background: var(--tint); color: var(--tint-ink); }
body.isM3 .pgHeroSub i{ display: none !important; }
body.isM3 .pgHeroTitle{ font-size: clamp(34px, 4.6vw, 60px) !important; font-weight: 800 !important; line-height: 1.08 !important; letter-spacing: -0.03em !important; max-width: 16ch; margin: 6px 0 16px !important; }
body.isM3 .pgHeroLead{ font-size: 19px !important; line-height: 1.6 !important; color: var(--m-ink-2) !important; max-width: 52ch !important; margin: 0 0 22px !important; }
body.isM3 .pgHeroLead em, body.isM3 .pgHeroLead strong{ color: var(--m-ink) !important; font-style: normal; }
body.isM3 .pgHeroBtns, body.isM3 .pgHero .pgBtns{ justify-content: flex-start !important; gap: 10px !important; }
body.isM3 .peByline{ justify-content: flex-start !important; font-size: 13px !important; color: var(--m-ink-3) !important; opacity: 1 !important; margin-top: 18px !important; }
body.isM3 .peAdviceNote{ text-align: left; margin-left: 0; }
.m3Tiles{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; aspect-ratio: 1 / 1; max-width: 420px; margin-left: auto; }
.m3Tile{ border-radius: var(--m-r-lg); display: flex; align-items: center; justify-content: center; font-size: clamp(22px, 2.6vw, 34px); }
.m3Tile:nth-child(1){ grid-column: span 2; border-radius: var(--m-r-lg) var(--m-r-lg) var(--m-r-lg) 6px; }
.m3Tile:nth-child(4){ grid-row: span 2; border-radius: 999px; }
.m3Tile:nth-child(5){ border-radius: 50%; }
.m3Tile:nth-child(6){ grid-column: span 2; }
.m3Tile i{ transition: transform 0.4s ease; }
.m3Tile:hover i{ transform: scale(1.12) rotate(-6deg); }

/* ---------- "On this page" chips ---------- */
.m3Toc{ position: sticky; top: var(--m3-top, 72px); z-index: 20; background: rgb(255 255 255 / 94%); backdrop-filter: blur(10px); border-bottom: 1px solid var(--m-line); }
.m3TocInner{ max-width: 1160px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.m3TocInner::-webkit-scrollbar{ display: none; }
.m3TocLabel{ flex: 0 0 auto; font-size: 13px; font-weight: 700; color: var(--m-ink-3); margin-right: 4px; }
.m3Toc a{ flex: 0 0 auto; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--m-line); background: #fff; color: var(--m-ink-2); font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background 0.2s, color 0.2s, border-color 0.2s; }
.m3Toc a:hover{ border-color: var(--tint-ink); color: var(--tint-ink); }
.m3Toc a.isOn{ background: var(--tint); border-color: transparent; color: var(--tint-ink); }

/* ---------- cards like Google: soft, rounded, tinted in turn ---------- */
body.isM3 .pgCard, body.isM3 .peSvcCard{ background: #fff !important; border: 1px solid var(--m-line) !important; border-radius: var(--m-r) !important; box-shadow: var(--m-shadow) !important;
    padding: 22px !important; transition: transform 0.25s ease, box-shadow 0.25s ease; min-height: 0 !important; }
body.isM3 a.pgCard:hover, body.isM3 .peSvcCard:hover{ transform: translateY(-3px); box-shadow: var(--m-shadow-up) !important; }
body.isM3 .pgCard h3, body.isM3 .peSvcCard h3{ font-size: 18px !important; font-weight: 700 !important; line-height: 1.3 !important; margin: 12px 0 6px !important; }
body.isM3 .pgCard p, body.isM3 .peSvcCard p{ font-size: 15px !important; color: var(--m-ink-2) !important; }
body.isM3 .pgCardNum{ display: none !important; }
body.isM3 .pgCardIcon, body.isM3 .peSvcCard .peSvcIcon, body.isM3 .peSvcCard > i:first-child{ width: 48px; height: 48px; border-radius: 14px; display: inline-flex !important; align-items: center; justify-content: center; }
body.isM3 .pgCardIcon svg{ width: 24px; height: 24px; }
body.isM3 .pgCardGo{ color: var(--m-ink-3) !important; }
/* the seven tints, in turn */
body.isM3 :is(.pgGrid, .peSvcGrid, .pgCardsGrid, .peSvcRow) > :nth-child(7n+1){ --c: var(--t-sky); --ci: var(--i-sky); }
body.isM3 :is(.pgGrid, .peSvcGrid, .pgCardsGrid, .peSvcRow) > :nth-child(7n+2){ --c: var(--t-mint); --ci: var(--i-mint); }
body.isM3 :is(.pgGrid, .peSvcGrid, .pgCardsGrid, .peSvcRow) > :nth-child(7n+3){ --c: var(--t-peach); --ci: var(--i-peach); }
body.isM3 :is(.pgGrid, .peSvcGrid, .pgCardsGrid, .peSvcRow) > :nth-child(7n+4){ --c: var(--t-lavender); --ci: var(--i-lavender); }
body.isM3 :is(.pgGrid, .peSvcGrid, .pgCardsGrid, .peSvcRow) > :nth-child(7n+5){ --c: var(--t-butter); --ci: var(--i-butter); }
body.isM3 :is(.pgGrid, .peSvcGrid, .pgCardsGrid, .peSvcRow) > :nth-child(7n+6){ --c: var(--t-rose); --ci: var(--i-rose); }
body.isM3 :is(.pgGrid, .peSvcGrid, .pgCardsGrid, .peSvcRow) > :nth-child(7n+7){ --c: var(--t-teal); --ci: var(--i-teal); }
body.isM3 .pgCardIcon, body.isM3 .peSvcCard > i:first-child, body.isM3 .peSvcCard .peSvcIcon{ background: var(--c, var(--tint)) !important; color: var(--ci, var(--tint-ink)) !important; }
body.isM3 .pgCard.isLink:hover, body.isM3 .peSvcCard:hover{ border-color: var(--ci, var(--tint-ink)) !important; }
body.isM3 .pePlatform, body.isM3 .pePlatforms span, body.isM3 [class*="peChip"]{ border-radius: 999px !important; background: var(--m-surface) !important; border-color: var(--m-line) !important; color: var(--m-ink-2) !important; }

/* ---------- intro: the answer as a highlighted card ---------- */
body.isM3 .pgIntroLead{ font-size: 20px !important; line-height: 1.55 !important; color: var(--m-ink) !important; background: var(--tint); border-radius: var(--m-r-lg); padding: 22px 24px !important; font-weight: 500 !important; }
body.isM3 .pgIntroGrid{ align-items: start !important; }

/* ---------- facts: pastel stat tiles ---------- */
body.isM3 .peProofList{ display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important; border: 0 !important; }
body.isM3 .peProofItem{ border: 0 !important; border-radius: var(--m-r) !important; padding: 20px !important; }
body.isM3 .peProofItem:nth-child(4n+1){ background: var(--t-sky); --ci: var(--i-sky); }
body.isM3 .peProofItem:nth-child(4n+2){ background: var(--t-mint); --ci: var(--i-mint); }
body.isM3 .peProofItem:nth-child(4n+3){ background: var(--t-peach); --ci: var(--i-peach); }
body.isM3 .peProofItem:nth-child(4n+4){ background: var(--t-lavender); --ci: var(--i-lavender); }
body.isM3 .peProofItem b{ color: var(--ci) !important; font-size: clamp(30px, 3vw, 42px) !important; font-weight: 800 !important; letter-spacing: -0.02em; }
body.isM3 .peProofItem span{ color: var(--m-ink-2) !important; font-size: 14px !important; }
body.isM3 .peProofMore{ color: var(--m-blue) !important; font-weight: 700 !important; }

/* ---------- steps: numbered chips (these really are sequences) ---------- */
body.isM3 .pgStepList, body.isM3 .peNextList{ display: grid !important; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important; gap: 14px !important; counter-reset: none; }
body.isM3 .pgStep, body.isM3 .peNextStep{ background: #fff !important; border: 1px solid var(--m-line) !important; border-radius: var(--m-r) !important; padding: 22px !important; box-shadow: var(--m-shadow); }
body.isM3 .pgStepNum, body.isM3 .peNextNum{ display: inline-flex !important; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%;
    background: var(--tint) !important; color: var(--tint-ink) !important; font-size: 15px !important; font-weight: 800 !important; margin-bottom: 10px; }
body.isM3 .pgStep h3, body.isM3 .peNextStep h3{ font-size: 18px !important; font-weight: 700 !important; }
body.isM3 .pgStep::before, body.isM3 .pgStep::after, body.isM3 .peNextStep::before, body.isM3 .peNextStep::after{ display: none !important; }

/* ---------- folds: Google-style accordions ---------- */
body.isM3 .peDeeperBox, body.isM3 .peSecFold{ background: #fff !important; border: 1px solid var(--m-line) !important; border-radius: var(--m-r) !important; box-shadow: var(--m-shadow); overflow: hidden; }
body.isM3 .peDeeperBox > summary{ padding: 18px 22px !important; font-size: 18px !important; font-weight: 700 !important; color: var(--m-ink) !important; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.isM3 .peDeeperBox > summary::after{ content: "" !important; width: 10px; height: 10px; border-right: 2px solid var(--tint-ink); border-bottom: 2px solid var(--tint-ink); transform: rotate(45deg); transition: transform 0.25s; flex: 0 0 auto; }
body.isM3 .peDeeperBox[open] > summary::after{ transform: rotate(-135deg); }
body.isM3 .peDeeperBox[open] > summary{ background: var(--tint); }
body.isM3 .peDeeperBox > .pgProse{ padding: 6px 22px 20px !important; }
body.isM3 main > .peDeeper{ padding-top: 10px !important; padding-bottom: 10px !important; }

/* ---------- invitations, lessons, notes ---------- */
body.isM3 .peHook{ padding: 12px 0 !important; }
body.isM3 .peHookLine{ background: var(--m-blue-soft) !important; color: var(--m-ink) !important; border-radius: var(--m-r-lg) !important; padding: 18px 22px !important; font-size: 16px !important; }
body.isM3 .peLessonBox{ background: var(--t-butter) !important; border: 0 !important; border-radius: var(--m-r-lg) !important; padding: 22px !important; }
body.isM3 .peLessonBox > i{ color: var(--i-butter) !important; background: #fff; width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
body.isM3 .peLessonText{ color: var(--m-ink) !important; }
body.isM3 .peLessonSrc{ color: var(--m-ink-3) !important; }
body.isM3 .peBrandNote p{ color: var(--m-ink-3) !important; font-size: 13px !important; }

/* ---------- cost, tables ---------- */
body.isM3 .pePriceFrom{ background: #fff; border-radius: var(--m-r); padding: 18px 20px; border: 1px solid var(--m-line); color: var(--m-ink) !important; }
body.isM3 .pePriceFactors{ display: flex !important; flex-wrap: wrap; gap: 8px !important; list-style: none !important; padding: 0 !important; }
body.isM3 .pePriceFactors li{ background: #fff; border: 1px solid var(--m-line); border-radius: 999px; padding: 8px 14px !important; font-size: 14px !important; }
body.isM3 .pePriceFactors li::before{ display: none !important; }
body.isM3 .peTable{ border-radius: var(--m-r) !important; overflow: hidden; border: 1px solid var(--m-line) !important; background: #fff; }
body.isM3 .peTable th{ background: var(--m-surface) !important; color: var(--m-ink) !important; font-weight: 700 !important; }
body.isM3 .peTable td, body.isM3 .peTable th{ border-color: var(--m-line) !important; }

/* ---------- related links: rows become chips ---------- */
body.isM3 .pgRows{ display: flex !important; flex-wrap: wrap; gap: 8px !important; }
body.isM3 .pgRows li{ border: 0 !important; }
body.isM3 .pgRow{ display: inline-flex !important; align-items: center; gap: 8px; padding: 9px 14px !important; border-radius: 999px !important; background: var(--m-surface) !important; border: 1px solid var(--m-line) !important; color: var(--m-ink) !important; font-size: 14px !important; font-weight: 600 !important; }
body.isM3 .pgRow > i{ display: none !important; }
body.isM3 .pgRow:hover{ background: var(--tint) !important; color: var(--tint-ink) !important; }
body.isM3 .pgRowHead{ color: var(--m-ink) !important; font-size: 15px !important; font-weight: 700 !important; }

/* ---------- closing block + FAQ ---------- */
body.isM3 .ctaWrap{ background: var(--m-surface) !important; padding: clamp(48px, 6vw, 88px) 0 !important; }
body.isM3 .ctaWrap .ctaSide{ background: var(--m-blue); border-radius: var(--m-r-lg); padding: clamp(24px, 3vw, 40px) !important; }
body.isM3 .ctaWrap .ctaSide *, body.isM3 .ctaWrap .ctaTitle{ color: #fff !important; }
body.isM3 .ctaWrap .ctaTitle{ font-size: clamp(28px, 3vw, 40px) !important; font-weight: 800 !important; line-height: 1.15 !important; }
body.isM3 .ctaWrap .ctaSide .ctaBtn.solid{ background: #fff !important; color: var(--m-blue) !important; border-color: #fff !important; }
body.isM3 .ctaWrap .ctaSide .ctaBtn:not(.solid){ background: transparent !important; color: #fff !important; border-color: rgb(255 255 255 / 55%) !important; }
body.isM3 .faqTitle{ font-size: clamp(24px, 2.4vw, 32px) !important; font-weight: 800 !important; }
body.isM3 .faqItem{ background: #fff; border: 1px solid var(--m-line) !important; border-radius: var(--m-r) !important; margin-bottom: 10px !important; overflow: hidden; }
body.isM3 .faqQ{ padding: 16px 18px !important; font-size: 16px !important; font-weight: 700 !important; color: var(--m-ink) !important; }
body.isM3 .faqQ > i{ display: none !important; }
body.isM3 .faqA p{ padding: 0 18px 16px; }

/* ---------- footer: light surface ---------- */
body.isM3 .ftWrap{ background: var(--m-surface) !important; color: var(--m-ink) !important; }
body.isM3 .ftWrap :is(p, span, li, a, h2, h3, b){ color: var(--m-ink-2) !important; }
body.isM3 .ftSiteTitle, body.isM3 .ftTitle{ color: var(--m-ink) !important; font-size: 15px !important; font-weight: 700 !important; }
body.isM3 .ftMail{ color: var(--m-ink) !important; font-weight: 800 !important; }
body.isM3 .ftMark{ display: none !important; }
body.isM3 .ftChip{ border-radius: 999px !important; background: #fff !important; border-color: var(--m-line) !important; }

/* ---------- motion: light, and none when asked ---------- */
@media (prefers-reduced-motion: no-preference){
    html.m3Js body.isM3 main > section.m3Rev{ opacity: 0; transform: translateY(16px); transition: opacity 0.55s ease, transform 0.55s ease; }
    html.m3Js body.isM3 main > section.m3Rev.m3In{ opacity: 1; transform: none; }
    html.m3Js .m3Tile{ opacity: 0; transform: scale(0.85); animation: m3Pop 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }
    html.m3Js .m3Tile:nth-child(2){ animation-delay: 0.08s; } html.m3Js .m3Tile:nth-child(3){ animation-delay: 0.16s; }
    html.m3Js .m3Tile:nth-child(4){ animation-delay: 0.24s; } html.m3Js .m3Tile:nth-child(5){ animation-delay: 0.32s; }
    html.m3Js .m3Tile:nth-child(6){ animation-delay: 0.4s; }
}
@keyframes m3Pop{ to{ opacity: 1; transform: none; } }

/* ---------- phones ---------- */
@media (max-width: 991px){
    body.isM3 .pgHero{ padding: 96px 0 36px !important; }
    body.isM3 .pgHero .pgHeroInner{ grid-template-columns: 1fr; }
    body.isM3 .pgHero .pgHeroInner > .m3Tiles{ grid-column: 1; grid-row: auto; max-width: 100%; aspect-ratio: auto; grid-template-columns: repeat(6, 1fr); gap: 8px; margin: 22px 0 0; }
    body.isM3 .m3Tile{ height: 56px; grid-column: auto !important; grid-row: auto !important; font-size: 20px; }
    body.isM3 .peProofList{ grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 767px){
    body.isM3 .pgHeroTitle{ font-size: 34px !important; }
    body.isM3 .pgHeroLead{ font-size: 17px !important; }
    body.isM3 .pgTitle{ font-size: 26px !important; }
    body.isM3 .pgIntroLead{ font-size: 18px !important; padding: 18px !important; }
    .m3TocInner{ padding: 8px 16px; }
    .m3TocLabel{ display: none; }
}

/* ---------- fixes after the first look ---------- */
body.isM3 .pgStep, body.isM3 .peNextStep{ display: block !important; grid-template-columns: none !important; min-height: 0 !important; height: auto !important; }
body.isM3 .pgStep > *, body.isM3 .peNextStep > *{ width: auto !important; max-width: none !important; grid-column: auto !important; position: static !important; writing-mode: horizontal-tb !important; }
body.isM3 .pgStep h3, body.isM3 .peNextStep h3{ margin: 0 0 6px !important; }
body.isM3 .pgStep p, body.isM3 .peNextStep p{ font-size: 15px !important; margin: 0 !important; }
body.isM3 .faqQ{ display: flex !important; align-items: center; justify-content: space-between; gap: 14px; width: 100%; text-align: left; grid-template-columns: none !important; }
body.isM3 .faqQ > span{ flex: 1 1 auto; min-width: 0; }
body.isM3 .faqQ > b{ flex: 0 0 auto; }
body.isM3 .pePriceFrom{ display: block !important; max-width: 70ch; font-size: 16px !important; }
body.isM3 .pePriceSub{ font-size: 16px !important; font-weight: 700 !important; color: var(--m-ink) !important; margin: 22px 0 10px !important; }
body.isM3 .ftMail{ font-size: clamp(22px, 3vw, 36px) !important; }
body.isM3 .ftCtaInner{ background: #fff; border-radius: var(--m-r-lg); padding: clamp(20px, 3vw, 36px) !important; border: 1px solid var(--m-line); }
body.isM3 .ftWrap .ftPlanBtn, body.isM3 .ftWrap .ftPlanBtn *{ color: #fff !important; }
body.isM3 .ftWrap .ftCopyBtn, body.isM3 .ftWrap .ftCopyBtn *{ color: var(--m-blue) !important; }
/* the D50 phone folds stay folded (my display rules above must not reopen them) */
html body.isM3 .peFold{ display: none !important; }
body.isM3 .peSecFold .pgHead::after, body.isM3 .peSecFold .pgStateSide::after{ color: var(--tint-ink) !important; font-family: var(--m-font) !important; }
@media (max-width: 767px){
    body.isM3 main > section:not(.pgHero):not(.ctaWrap):not(.peHook):not(.peLesson):not(.peBand):not(.peBrandNote):not(.m3Belief):not(.peSecFold){ padding-top: 32px !important; padding-bottom: 32px !important; }
    body.isM3 .pgCard, body.isM3 .peSvcCard, body.isM3 .pgStep, body.isM3 .peNextStep{ padding: 18px !important; }
}
body.isM3 .pgWrap{ max-width: 1160px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 24px !important; padding-right: 24px !important; box-sizing: border-box; }
body.isM3 .pgScrollCue{ display: none !important; }
@media (min-width: 992px){ body.isM3 .peSvcGrid{ grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; } }
@media (max-width: 767px){ body.isM3 .pgWrap{ padding-left: 16px !important; padding-right: 16px !important; } }
/* no layout shift when the tiles arrive: the hero box is always full width */
body.isM3 .pgHero .pgHeroInner{ width: 100% !important; box-sizing: border-box; }

/* ================================================================
   Round 2 (D79): Material Symbols, drawings, stat chips, segmented tabs, read-more, icon rows, cards for tables,
   a drawing band, "people also ask" FAQ, chips bar that hides while you scroll down on phones
   ================================================================ */
svg.ms{ width: 1.25em; height: 1.25em; fill: currentColor; vertical-align: -0.25em; flex: 0 0 auto; }
body.isM3 .pgCardIcon svg.ms{ width: 26px; height: 26px; }

/* hero drawing (replaces the round photo); the one bold element */
body.isM3 .pgHero .pgHeroInner > .m3Illo{ grid-column: 2; grid-row: 1 / span 9; justify-self: stretch !important; align-self: center; }
.m3Draw{ display: block; width: 100%; max-width: 460px; height: auto; margin-left: auto; }
@media (prefers-reduced-motion: no-preference){
    .m3Draw .m3dC{ animation: m3Float 6s ease-in-out infinite; }
    .m3Draw .m3dD{ animation: m3Float 7s ease-in-out -2s infinite; }
    .m3Draw .m3dE{ animation: m3Float 5.5s ease-in-out -1s infinite; }
    html.m3Js .m3Draw{ animation: m3In 0.7s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
}
@keyframes m3Float{ 50%{ transform: translateY(-6px); } }
@keyframes m3In{ from{ opacity: 0; transform: translateY(10px) scale(0.98); } }

/* stat chips under the hero buttons (verified facts) */
.m3Chips{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.m3Chip{ display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px 6px 9px; border-radius: 999px; background: #fff; border: 1px solid var(--m-line);
    font-size: 13px; font-weight: 600; color: var(--m-ink-2); }
.m3Chip svg.ms{ color: var(--tint-ink); width: 18px; height: 18px; vertical-align: 0; }

/* segmented tabs (the "go deeper" folds, side by side) */
body.isM3 main > .m3TabsWrap{ padding-top: clamp(32px, 4vw, 56px) !important; padding-bottom: clamp(32px, 4vw, 56px) !important; }
.m3Tabs{ display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--m-surface); border: 1px solid var(--m-line); overflow-x: auto; scrollbar-width: none; max-width: 100%; width: max-content; }
.m3Tabs::-webkit-scrollbar{ display: none; }
.m3Tab{ flex: 0 0 auto; border: 0; background: transparent; padding: 10px 16px; border-radius: 999px; font: 600 14px/1.2 var(--m-font); color: var(--m-ink-2); cursor: pointer; white-space: nowrap; max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.m3Tab:hover{ color: var(--tint-ink); }
.m3Tab.isOn{ background: #fff; color: var(--tint-ink); box-shadow: var(--m-shadow); }
.m3Tab:focus-visible{ outline: 2px solid var(--m-blue); outline-offset: 2px; }
.m3Panels{ margin-top: 16px; background: #fff; border: 1px solid var(--m-line); border-radius: var(--m-r-lg); box-shadow: var(--m-shadow); padding: clamp(18px, 2.4vw, 30px); }
html.m3Js .m3Panel:not(.isOn){ display: none; }
.m3PanelTitle{ font-size: 20px !important; font-weight: 800 !important; margin: 0 0 10px !important; }
html.m3Js .m3PanelTitle{ display: none; }
.m3Panel .pgProse > *:first-child{ margin-top: 0; }

/* read more: first lines show, the rest waits (all still in the HTML) */
html.m3Js .m3Clamp:not(.isOpen) > :not(:first-child){ display: none !important; }
html.m3Js .m3Clamp:not(.isOpen) > :first-child{ display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
html.m3Js .m3Clamp2:not(.isOpen){ display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html.m3Js .m3Rest:not(.isOpen){ display: none; }
.m3More{ display: none; }
html.m3Js .m3More{ display: inline-flex; align-items: center; gap: 4px; margin: 8px 0 0; padding: 6px 2px; border: 0; background: none; font: 700 14px/1.2 var(--m-font); color: var(--m-blue); cursor: pointer; }
html.m3Js .m3More::after{ content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px, -2px); transition: transform 0.2s; }
html.m3Js .m3More[aria-expanded="true"]::after{ transform: rotate(-135deg) translate(-1px, -1px); }

/* guide: each part is a card */
.m3DocCard{ background: #fff; border: 1px solid var(--m-line); border-radius: var(--m-r-lg); box-shadow: var(--m-shadow); padding: clamp(18px, 2.4vw, 28px); margin: 0 0 14px; }
.m3DocCard > h2{ font-size: clamp(20px, 2vw, 26px) !important; font-weight: 800 !important; margin: 0 0 8px !important; }
.m3DocCard:nth-child(7n+1){ border-top: 4px solid var(--t-sky); } .m3DocCard:nth-child(7n+2){ border-top: 4px solid var(--t-mint); }
.m3DocCard:nth-child(7n+3){ border-top: 4px solid var(--t-peach); } .m3DocCard:nth-child(7n+4){ border-top: 4px solid var(--t-lavender); }
.m3DocCard:nth-child(7n+5){ border-top: 4px solid var(--t-butter); } .m3DocCard:nth-child(7n+6){ border-top: 4px solid var(--t-rose); }
.m3DocCard:nth-child(7n+7){ border-top: 4px solid var(--t-teal); }

/* lists: icon rows */
ul.m3Rows{ list-style: none !important; padding: 0 !important; margin: 12px 0 !important; display: grid; gap: 10px; }
ul.m3Rows > li{ display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: var(--m-r-sm); background: var(--m-surface); line-height: 1.5; }
ul.m3Rows > li::before{ display: none !important; content: none !important; }
ul.m3Rows .m3RowIcon{ color: var(--tint-ink); width: 20px; height: 20px; margin-top: 2px; }
ul.m3Rows strong{ color: var(--m-ink); }

/* tables read as cards on phones */
@media (max-width: 767px){
    body.isM3 table.m3CardsOnPhone, body.isM3 table.m3CardsOnPhone tbody, body.isM3 table.m3CardsOnPhone tr{ display: block; width: 100%; }
    body.isM3 table.m3CardsOnPhone{ border: 0 !important; background: transparent; }
    body.isM3 table.m3CardsOnPhone thead{ display: none; }
    body.isM3 table.m3CardsOnPhone tr{ background: #fff; border: 1px solid var(--m-line); border-radius: var(--m-r); padding: 6px 14px; margin-bottom: 10px; box-shadow: var(--m-shadow); }
    body.isM3 table.m3CardsOnPhone td, body.isM3 table.m3CardsOnPhone th{ display: flex; justify-content: space-between; gap: 12px; border: 0 !important; border-bottom: 1px solid var(--m-line) !important; padding: 9px 0 !important; text-align: right; background: transparent !important; }
    body.isM3 table.m3CardsOnPhone tr > :last-child{ border-bottom: 0 !important; }
    body.isM3 table.m3CardsOnPhone td::before, body.isM3 table.m3CardsOnPhone th[data-label]::before{ content: attr(data-label); font-weight: 700; color: var(--m-ink); text-align: left; flex: 0 0 42%; }
    body.isM3 table.m3CardsOnPhone tr > :first-child{ font-weight: 800; color: var(--m-ink) !important; }
    body.isM3 .peTableScroll{ overflow: visible !important; }
}

/* drawing band before the closing block */
.m3Divider{ display: flex; align-items: center; justify-content: center; gap: 12px; max-width: 1160px; margin: 0 auto; padding: 28px 24px; }
.m3DivLine{ flex: 1 1 auto; height: 2px; background: repeating-linear-gradient(90deg, var(--m-line) 0 8px, transparent 8px 14px); }
.m3DivDot{ flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.m3DivDot svg.ms{ width: 24px; height: 24px; vertical-align: 0; }
.m3DivDot:nth-child(4){ width: 60px; height: 60px; border-radius: 18px; }

/* FAQ: "people also ask" rows */
body.isM3 .faqList{ border: 1px solid var(--m-line); border-radius: var(--m-r-lg); background: #fff; overflow: hidden; padding: 0 !important; }
body.isM3 .faqItem{ border: 0 !important; border-bottom: 1px solid var(--m-line) !important; border-radius: 0 !important; margin: 0 !important; background: transparent !important; }
body.isM3 .faqItem:last-child{ border-bottom: 0 !important; }
body.isM3 .faqQ{ padding: 16px 20px !important; }
body.isM3 .faqQ > b{ width: 10px; height: 10px; border-right: 2px solid var(--m-ink-3); border-bottom: 2px solid var(--m-ink-3); transform: rotate(45deg); background: none !important; transition: transform 0.2s; }
body.isM3 .faqQ[aria-expanded="true"] > b{ transform: rotate(-135deg); }
body.isM3 .faqQ > b::before, body.isM3 .faqQ > b::after{ display: none !important; }

/* chips bar: sections land below it; on phones it slides away while you scroll down */
body.isM3 main > section, body.isM3 .m3Panel{ scroll-margin-top: calc(var(--m3-top, 72px) + 64px); }
.m3Toc{ transition: transform 0.25s ease; }
@media (max-width: 991px){ .m3Toc.isAway{ transform: translateY(-110%); } }

/* phones: one column hero (drawing below the text), and D50's own phone folds handle the intro and state text */
@media (max-width: 991px){
    body.isM3 .pgHero .pgHeroInner > .m3Illo{ grid-column: 1 !important; grid-row: auto !important; max-width: 340px; margin: 18px auto 0 !important; justify-self: center !important; }
}
@media (max-width: 767px){
    body.isM3 .pgIntroBody .m3More, body.isM3 .pgState .m3More{ display: none !important; }
    html.m3Js body.isM3 .pgIntroBody .m3Clamp > :first-child, html.m3Js body.isM3 .pgState .m3Clamp > :first-child{ display: block !important; -webkit-line-clamp: unset; overflow: visible; }
    html.m3Js body.isM3 .pgIntroBody .m3Clamp > :not(:first-child):not(.peFold), html.m3Js body.isM3 .pgState .m3Clamp > :not(:first-child):not(.peFold){ display: block !important; }
    .m3Chips{ gap: 6px; } .m3Chip{ font-size: 12px; padding: 5px 10px 5px 8px; }
}
body.isM3 .pgHeroSub{ justify-content: flex-start !important; text-align: left !important; }

/* ================================================================
   Round 2b (01's benchmark): lead block, repeated CTA, widgets kept clear, quick-form variant (mock)
   ================================================================ */
/* lead block on money pages: promise, proof strip right under the headline, one button */
body.isM3 .m3Lead > .m3Chips{ margin: 0 0 14px; }
body.isM3 .m3Lead .pgBtn.m3Second{ display: none !important; }
body.isM3 .m3Lead .pgHeroLead{ margin-bottom: 20px !important; }

/* the one CTA label, repeated after major blocks */
.m3CtaRow{ max-width: 1160px; margin: 0 auto; padding: 4px 24px 28px; display: flex; justify-content: flex-start; }
.m3CtaRow .pgBtn{ min-height: 46px; }
@media (max-width: 767px){ .m3CtaRow{ padding: 0 16px 20px; } .m3CtaRow .pgBtn{ width: 100%; justify-content: center; } }

/* floating widgets never cover the headline or the button: the call-back tab sits low, the WhatsApp bubble stays
   above the phone bar, and both stay out of the first screen's text column */
body.isM3 .qcTab{ top: auto !important; bottom: 132px !important; transform: none !important; }
body.isM3 .waFloat{ bottom: 24px !important; }
@media (max-width: 991px){
    body.isM3 .qcTab, body.isM3 .waFloat{ display: none !important; }   /* phones have the Call / WhatsApp / Growth plan bar */
}

/* variant: a short 3-field form beside the words (mock only, not connected) */
.m3QuickForm{ grid-column: 2; grid-row: 1 / span 9; align-self: center; background: #fff; border: 1px solid var(--m-line); border-radius: var(--m-r-lg);
    box-shadow: var(--m-shadow-up); padding: 22px; display: grid; gap: 12px; max-width: 400px; justify-self: end; width: 100%; }
.m3QuickTitle{ margin: 0; font-size: 18px; font-weight: 800; color: var(--m-ink) !important; }
.m3QuickForm label{ display: grid; gap: 6px; font-size: 13px; font-weight: 600; color: var(--m-ink-2); }
.m3QuickForm input{ height: 46px; border-radius: 12px; border: 1px solid var(--m-line); padding: 0 14px; font: 500 15px var(--m-font); background: var(--m-surface); }
.m3QuickForm input:focus{ outline: 2px solid var(--m-blue); outline-offset: 1px; background: #fff; }
.m3QuickForm .pgBtn{ width: 100%; justify-content: center; }
.m3QuickNote{ margin: 0; font-size: 12px; color: var(--m-ink-3) !important; }
@media (max-width: 991px){ .m3QuickForm{ grid-column: 1; grid-row: auto; justify-self: stretch; max-width: none; margin-top: 18px; } }
body.isM3 .pgHero .pgHeroInner > .m3QuickForm{ grid-column: 2 !important; grid-row: 1 / span 9 !important; justify-self: end !important; align-self: center; }
@media (max-width: 991px){ body.isM3 .pgHero .pgHeroInner > .m3QuickForm{ grid-column: 1 !important; grid-row: auto !important; justify-self: stretch !important; } }

/* ================================================================
   Round 3 (D81/D84/D85): client logos, quotes, films, the team on this work, gallery and work slots
   ================================================================ */
body.isM3 main > .m3Logos{ padding: 22px 0 !important; background: #fff !important; border-bottom: 1px solid var(--m-line) !important; }
.m3Logos .pgWrap{ display: flex; align-items: center; gap: 18px 24px; flex-wrap: wrap; }
.m3LogosLabel{ margin: 0; font-size: 14px; font-weight: 700; color: var(--m-ink-3) !important; flex: 0 0 auto; }
.m3LogoList{ list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; flex: 1 1 520px; }
.m3LogoList li{ display: flex; align-items: center; }
.m3LogoList img{ height: 34px; width: auto; max-width: 120px; object-fit: contain; filter: grayscale(1); opacity: 0.6; transition: filter 0.3s, opacity 0.3s; }
.m3LogoList img:hover{ filter: none; opacity: 1; }
.m3LogosAll{ font-size: 14px; font-weight: 700; color: var(--m-blue) !important; white-space: nowrap; }
@media (max-width: 767px){
    .m3LogoList{ flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 22px; padding-bottom: 4px; flex-basis: 100%; }
    .m3LogoList::-webkit-scrollbar{ display: none; }
    .m3LogoList img{ height: 30px; }
}

/* quotes */
.m3QuoteRow{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 8px; }
.m3Quote{ margin: 0; background: #fff; border: 1px solid var(--m-line); border-radius: var(--m-r-lg); box-shadow: var(--m-shadow); padding: 22px; display: flex; flex-direction: column; gap: 16px; }
.m3Quote blockquote{ margin: 0; font-size: 16px; line-height: 1.6; color: var(--m-ink); }
.m3Quote figcaption{ display: flex; align-items: center; gap: 12px; margin-top: auto; }
.m3Quote figcaption b{ display: block; color: var(--m-ink); font-size: 15px; }
.m3Quote figcaption small{ display: block; color: var(--m-ink-3); font-size: 13px; line-height: 1.4; }
.m3Avatar{ flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    background: var(--tint); color: var(--tint-ink); font-weight: 800; font-size: 15px; object-fit: cover; }
.m3QuoteRow > :nth-child(2) .m3Avatar{ background: var(--t-mint); color: var(--i-mint); }
.m3QuoteRow > :nth-child(3) .m3Avatar{ background: var(--t-peach); color: var(--i-peach); }
.m3Quotes .m3LogosAll{ display: inline-block; margin-top: 14px; }
@media (max-width: 991px){
    .m3QuoteRow{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; }
    .m3QuoteRow::-webkit-scrollbar{ display: none; }
    .m3Quote{ flex: 0 0 86%; scroll-snap-align: start; }
}

/* films */
@media (min-width: 768px){ .m3VideoRow{ grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
.m3Videos .peVideo figcaption b{ display: block; }

/* the team on this work */
body.isM3 main > .m3Team{ padding-top: 8px !important; padding-bottom: 8px !important; }
.m3TeamCard{ background: var(--m-surface); border: 1px solid var(--m-line); border-radius: var(--m-r-lg); padding: 18px 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.m3TeamLabel{ margin: 0; font-size: 14px; font-weight: 700; color: var(--m-ink-3) !important; }
.m3People{ display: flex; flex-wrap: wrap; gap: 12px 22px; }
.m3Person{ display: flex; align-items: center; gap: 10px; text-decoration: none; }
.m3Person b{ display: block; color: var(--m-ink); font-size: 15px; }
.m3Person small{ display: block; color: var(--m-ink-3); font-size: 13px; }
.m3Person:hover b{ color: var(--m-blue); }
.m3People > :nth-child(2) .m3Avatar{ background: var(--t-mint); color: var(--i-mint); }
.m3People > :nth-child(3) .m3Avatar{ background: var(--t-lavender); color: var(--i-lavender); }

/* gallery and work slots (shown only when their data files have rows) */
.m3MediaGrid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.m3MediaGrid figure{ margin: 0; }
.m3MediaGrid img{ width: 100%; height: auto; border-radius: var(--m-r); display: block; }
.m3MediaGrid figcaption{ margin-top: 8px; font-size: 14px; color: var(--m-ink-2); }
.m3SpeakerTag{ display: inline-block; margin-top: 4px; padding: 2px 8px; border-radius: 999px; background: var(--m-surface); border: 1px solid var(--m-line); font-style: normal; font-size: 12px; font-weight: 600; color: var(--m-ink-3); }
body.isM3 .pgHeroBtns.m3HasForm{ display: none !important; }
.m3Opt{ font-weight: 400; color: var(--m-ink-3); }
.m3QuickForm .peHp{ position: absolute; left: -9999px; }
.m3QuickForm input.isError{ outline: 2px solid #c62828; outline-offset: 1px; }
.m3QuickNote a{ color: var(--m-blue); }
/* the hero form: one column, plain sentence-case labels (not the old form grid) */
body.isM3 form.m3QuickForm.pgForm{ display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
body.isM3 form.m3QuickForm label{ display: grid !important; gap: 6px; font-family: var(--m-font) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: normal !important; text-transform: none !important; color: var(--m-ink-2) !important; grid-column: auto !important; }
body.isM3 form.m3QuickForm input{ width: 100%; border: 1px solid var(--m-line) !important; border-radius: 12px !important; background: var(--m-surface) !important; height: 46px; padding: 0 14px !important; font: 500 15px var(--m-font) !important; color: var(--m-ink) !important; }
body.isM3 form.m3QuickForm .pgBtn{ grid-column: auto !important; width: 100%; justify-content: center; }
body.isM3 .m3LogoList img{ opacity: 0.75; }

/* D88 (user 13 Oct): no stray lines, round number pills, colour logo marquee, more icons and shapes */
body.isM3 .pgGrid, body.isM3 .pgStepList, body.isM3 .pgFindList{ border: 0 !important; }
body.isM3 .pgRail{ display: none !important; }
body.isM3 .pgStepNum, body.isM3 .peNextNum{ width: 40px !important; min-width: 40px; height: 40px !important; padding: 0 !important; flex: none;
    letter-spacing: 0 !important; line-height: 1 !important; font-family: var(--m-font) !important; font-size: 15px !important; }
body.isM3 .pgStep{ position: relative; overflow: hidden; }
body.isM3 .pgCard.isLink p:empty{ display: none; }
/* logo marquee: full colour, slow, pauses on hover/focus, still for people who ask for less motion */
.m3Marquee{ flex: 1 1 520px; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.m3MarqueeTrack{ display: flex; width: max-content; animation: m3Marq 55s linear infinite; }
.m3Marquee:hover .m3MarqueeTrack, .m3Marquee:focus-within .m3MarqueeTrack{ animation-play-state: paused; }
body.isM3 .m3Marquee .m3LogoList{ flex: none; flex-wrap: nowrap !important; overflow: visible !important; gap: 0 !important; padding: 0 !important; }
body.isM3 .m3Marquee .m3LogoList li{ padding: 0 22px; }
body.isM3 .m3Marquee .m3LogoList img{ filter: none !important; opacity: 1 !important; height: 38px; max-width: 130px; }
@keyframes m3Marq{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce){
    .m3MarqueeTrack{ animation: none; width: auto; }
    .m3MarqueeTrack > .m3LogoList[aria-hidden]{ display: none !important; }
    body.isM3 .m3Marquee .m3LogoList{ flex-wrap: wrap !important; row-gap: 12px !important; }
    .m3Marquee{ -webkit-mask-image: none; mask-image: none; }
}
@media (max-width: 767px){
    .m3Marquee{ flex-basis: 100%; }
    body.isM3 .m3Marquee .m3LogoList li{ padding: 0 16px; }
    body.isM3 .m3Marquee .m3LogoList img{ height: 32px; }
    .m3MarqueeTrack{ animation-duration: 40s; }
}
/* section label icons */
body.isM3 .pgEyebrow svg.m3EbIcon{ width: 16px; height: 16px; flex: none; }
/* soft shapes behind every other big section */
body.isM3 main > section.m3HasDeco{ position: relative; overflow-x: clip; }
body.isM3 main > section.m3HasDeco > :not(.m3Deco){ position: relative; z-index: 1; }
.m3Deco{ position: absolute; z-index: 0; pointer-events: none; }
.m3Deco0{ top: 28px; right: 3%; width: 190px; height: 130px; opacity: 0.55;
    background: radial-gradient(circle, var(--tint-ink, #0b4a9e) 1.4px, transparent 1.9px) 0 0 / 18px 18px;
    -webkit-mask-image: radial-gradient(closest-side, #000 40%, transparent); mask-image: radial-gradient(closest-side, #000 40%, transparent); }
.m3Deco1{ top: -40px; right: -60px; width: 260px; height: 260px; border-radius: 50%; border: 28px solid var(--tint, #e5f0ff); opacity: 0.7; }
.m3Deco2{ bottom: 24px; left: 2%; width: 120px; height: 120px; opacity: 0.5;
    background: linear-gradient(var(--tint-ink, #0b4a9e), var(--tint-ink, #0b4a9e)) center / 2px 14px no-repeat,
                linear-gradient(var(--tint-ink, #0b4a9e), var(--tint-ink, #0b4a9e)) center / 14px 2px no-repeat,
                radial-gradient(circle, var(--tint, #e5f0ff) 58%, transparent 60%); }
@media (max-width: 767px){
    .m3Deco0{ width: 120px; height: 90px; right: 0; top: 12px; }
    .m3Deco1{ width: 160px; height: 160px; border-width: 18px; right: -70px; top: -50px; }
    .m3Deco2{ display: none; }
}

/* D89 (user 13 Oct): breathing room, no touching cards, no rule under the logo row */
body.isM3 .pgGrid, body.isM3 .peSvcGrid{ gap: 20px !important; }
body.isM3 .pgGrid.cols2{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 767px){ body.isM3 .pgGrid.cols2{ grid-template-columns: minmax(0, 1fr) !important; } body.isM3 .pgGrid, body.isM3 .peSvcGrid{ gap: 14px !important; } }
body.isM3 main > .m3Logos{ border-bottom: 0 !important; }
body.isM3 main > section:not(.pgHero):not(.ctaWrap):not(.peHook):not(.peLesson):not(.peBand):not(.peBrandNote):not(.m3Belief):not(.m3Logos):not(.m3Team):not(.m3TabsWrap){
    padding-top: clamp(56px, 6.5vw, 96px) !important; padding-bottom: clamp(56px, 6.5vw, 96px) !important; }
@media (max-width: 767px){
    body.isM3 main > section:not(.pgHero):not(.ctaWrap):not(.peHook):not(.peLesson):not(.peBand):not(.peBrandNote):not(.m3Belief):not(.peSecFold):not(.m3Logos):not(.m3Team){
        padding-top: 44px !important; padding-bottom: 44px !important; }
}
body.isM3 .peSvcCard .peSvcIcon svg{ width: 24px; height: 24px; }
/* round 2: bento tiles (wide first / last card, so the last row is full), tinted feature tile */
@media (min-width: 1200px){
    body.isM3 .pgGrid.cols3[data-r3="1"] > .pgCard:first-child, body.isM3 .pgGrid.cols3[data-r3="1"] > .pgCard:last-child,
    body.isM3 .pgGrid.cols3[data-r3="2"] > .pgCard:first-child{ grid-column: span 2; }
}
@media (min-width: 576px) and (max-width: 1199px){
    body.isM3 .pgGrid.cols3[data-r2="1"] > .pgCard:first-child{ grid-column: span 2; }
}
body.isM3 .pgGrid[data-r3] > .pgCard:first-child{ background: linear-gradient(135deg, var(--c, var(--tint)) 0%, #fff 70%) !important; }
/* round 2: marker highlight on the key words of headings */
body.isM3 :is(.pgTitle, .pgHeroTitle, h1) em{ font-style: normal; background: linear-gradient(transparent 58%, var(--tint) 58%, var(--tint) 92%, transparent 92%);
    padding: 0 0.08em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
/* round 2: fact chips as little stickers */
@media (min-width: 768px){
    body.isM3 .m3Chip:nth-child(odd){ transform: rotate(-1.6deg); }
    body.isM3 .m3Chip:nth-child(even){ transform: rotate(1.4deg); }
    body.isM3 .m3Chip{ box-shadow: 0 2px 0 var(--m-line); }
}
/* round 2: icons move a little on hover */
body.isM3 .pgCardIcon svg, body.isM3 .peSvcIcon svg, body.isM3 .peSvcCard > i:first-child{ transition: transform 0.3s cubic-bezier(0.3, 1.6, 0.5, 1); }
body.isM3 a.pgCard:hover .pgCardIcon svg, body.isM3 .peSvcCard:hover .peSvcIcon svg{ transform: rotate(-10deg) scale(1.12); }
@media (prefers-reduced-motion: reduce){
    body.isM3 a.pgCard:hover .pgCardIcon svg, body.isM3 .peSvcCard:hover .peSvcIcon svg{ transform: none; }
}

/* round 3: the mid-page nudge as a pastel card with pill buttons (it was white-on-white caps after the redesign) */
body.isM3 main > section.peNudge{ padding: 24px 0 !important; }
body.isM3 .peNudgeIn{ max-width: 1160px; margin: 0 auto; padding: 26px 28px; border-radius: var(--m-r-lg); background: var(--tint) !important;
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; position: relative; overflow: hidden; }
body.isM3 .peNudgeIn::after{ content: ""; position: absolute; right: -40px; top: -40px; width: 160px; height: 160px; border-radius: 50%; border: 22px solid rgba(255,255,255,0.55); pointer-events: none; }
body.isM3 .peNudgeText{ margin: 0; flex: 1 1 360px; font-family: var(--m-font) !important; font-size: 18px !important; font-weight: 600 !important; color: var(--m-ink) !important;
    letter-spacing: normal !important; text-transform: none !important; position: relative; z-index: 1; }
body.isM3 .peNudgeBtns{ position: relative; z-index: 1; gap: 10px; }
body.isM3 .peNudgeBtn{ height: 48px !important; padding: 0 22px !important; border-radius: 999px !important; font: 700 15px/1 var(--m-font) !important; letter-spacing: normal !important;
    text-transform: none !important; border: 1.5px solid var(--m-blue) !important; color: var(--m-blue) !important; background: #fff !important; }
body.isM3 .peNudgeBtn.solid{ background: var(--m-blue) !important; color: #fff !important; }
body.isM3 .peNudgeBtn:hover{ transform: translateY(-1px); box-shadow: var(--m-shadow-up); }
@media (max-width: 767px){ body.isM3 .peNudgeIn{ margin: 0 16px; padding: 20px; } body.isM3 .peNudgeBtns{ width: 100%; } body.isM3 .peNudgeBtn{ flex: 1 1 auto; justify-content: center; } }

/* round 3: brush stroke under key words (headline end, *emphasis* in section titles); a background, so it wraps line by line */
body.isM3 :is(.pgTitle, .pgHeroTitle, h1) em{ font-style: normal; padding: 0 0.06em; box-decoration-break: clone; -webkit-box-decoration-break: clone;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath fill='%230b4a9e' fill-opacity='0.42' d='M3 15c28-7 60-10 98-9 33 1 63 3 96 1-3 3-6 6-12 7-28 2-57 1-86 1-34 0-64 2-92 6-4-1-6-3-4-6z'/%3E%3C/svg%3E") 0 94% / 100% 0.5em no-repeat !important; }
body.isM3[data-tint="sky"] :is(.pgTitle, .pgHeroTitle, h1) em{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath fill='%230b4a9e' fill-opacity='0.42' d='M3 15c28-7 60-10 98-9 33 1 63 3 96 1-3 3-6 6-12 7-28 2-57 1-86 1-34 0-64 2-92 6-4-1-6-3-4-6z'/%3E%3C/svg%3E") !important; }
body.isM3[data-tint="mint"] :is(.pgTitle, .pgHeroTitle, h1) em{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath fill='%230e6b44' fill-opacity='0.42' d='M3 15c28-7 60-10 98-9 33 1 63 3 96 1-3 3-6 6-12 7-28 2-57 1-86 1-34 0-64 2-92 6-4-1-6-3-4-6z'/%3E%3C/svg%3E") !important; }
body.isM3[data-tint="peach"] :is(.pgTitle, .pgHeroTitle, h1) em{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath fill='%239a3b0e' fill-opacity='0.42' d='M3 15c28-7 60-10 98-9 33 1 63 3 96 1-3 3-6 6-12 7-28 2-57 1-86 1-34 0-64 2-92 6-4-1-6-3-4-6z'/%3E%3C/svg%3E") !important; }
body.isM3[data-tint="lavender"] :is(.pgTitle, .pgHeroTitle, h1) em{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath fill='%234e35a6' fill-opacity='0.42' d='M3 15c28-7 60-10 98-9 33 1 63 3 96 1-3 3-6 6-12 7-28 2-57 1-86 1-34 0-64 2-92 6-4-1-6-3-4-6z'/%3E%3C/svg%3E") !important; }
body.isM3[data-tint="butter"] :is(.pgTitle, .pgHeroTitle, h1) em{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath fill='%23765600' fill-opacity='0.42' d='M3 15c28-7 60-10 98-9 33 1 63 3 96 1-3 3-6 6-12 7-28 2-57 1-86 1-34 0-64 2-92 6-4-1-6-3-4-6z'/%3E%3C/svg%3E") !important; }
body.isM3[data-tint="rose"] :is(.pgTitle, .pgHeroTitle, h1) em{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath fill='%239b1e4f' fill-opacity='0.42' d='M3 15c28-7 60-10 98-9 33 1 63 3 96 1-3 3-6 6-12 7-28 2-57 1-86 1-34 0-64 2-92 6-4-1-6-3-4-6z'/%3E%3C/svg%3E") !important; }
body.isM3[data-tint="teal"] :is(.pgTitle, .pgHeroTitle, h1) em{ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath fill='%230d6464' fill-opacity='0.42' d='M3 15c28-7 60-10 98-9 33 1 63 3 96 1-3 3-6 6-12 7-28 2-57 1-86 1-34 0-64 2-92 6-4-1-6-3-4-6z'/%3E%3C/svg%3E") !important; }

/* round 3: a bolder hero per page type: pastel blob + dot patch behind the words; city name watermark; guide sticker */
body.isM3 .pgHero{ position: relative; isolation: isolate; }
body.isM3 .pgHero > :not(.m3HeroBlob):not(.m3HeroDots):not(.m3HeroWord){ position: relative; z-index: 1; }
.m3HeroBlob{ position: absolute; z-index: 0; right: -6%; top: 8%; width: min(46vw, 640px); aspect-ratio: 1; pointer-events: none;
    background: radial-gradient(closest-side, var(--tint) 0%, var(--tint) 62%, transparent 64%); border-radius: 42% 58% 61% 39% / 45% 41% 59% 55%; opacity: 0.9; }
.m3HeroDots{ position: absolute; z-index: 0; left: 2%; bottom: 10%; width: 180px; height: 110px; pointer-events: none; opacity: 0.45;
    background: radial-gradient(circle, var(--tint-ink, #0b4a9e) 1.4px, transparent 1.9px) 0 0 / 16px 16px;
    -webkit-mask-image: radial-gradient(closest-side, #000 45%, transparent); mask-image: radial-gradient(closest-side, #000 45%, transparent); }
.m3HeroWord{ position: absolute; z-index: 0; right: 3%; bottom: 4%; font: 800 clamp(64px, 11vw, 168px)/0.9 var(--m-font); letter-spacing: -0.04em; color: transparent;
    -webkit-text-stroke: 1.5px var(--tint-ink, #0b4a9e); opacity: 0.12; pointer-events: none; white-space: nowrap; }
.m3HeroSticker{ display: none; }
.m3HeroSticker.isOn{ position: absolute; z-index: 2; right: 8%; top: 132px; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px;
    background: #fff; border: 1px solid var(--m-line); box-shadow: 0 3px 0 var(--m-line); font: 700 13px/1 var(--m-font); color: var(--tint-ink, #0b4a9e); transform: rotate(3deg); }
.m3HeroSticker svg{ width: 16px; height: 16px; }
body.isM3[data-ptype="home"] .pgHero h1, body.isM3[data-ptype="service"] .pgHero h1, body.isM3[data-ptype="industry"] .pgHero h1{ font-size: clamp(38px, 5.4vw, 72px) !important; letter-spacing: -0.035em !important; }
body.isM3[data-ptype="service"] .m3QuickForm{ box-shadow: 10px 10px 0 var(--tint), var(--m-shadow-up) !important; }
body.isM3[data-ptype="industry"] .m3HeroBlob{ border-radius: 30% 70% 52% 48% / 55% 35% 65% 45%; }
body.isM3[data-ptype="city"] .m3HeroBlob{ right: auto; left: 52%; width: min(38vw, 520px); }
body.isM3[data-ptype="guide"] .m3HeroBlob, body.isM3[data-ptype="page"] .m3HeroBlob{ width: min(34vw, 460px); top: 18%; opacity: 0.7; }
@media (max-width: 767px){
    .m3HeroBlob{ width: 280px; right: -110px; top: 60px; opacity: 0.6; }
    .m3HeroDots{ display: none; }
    .m3HeroWord{ font-size: 64px; right: -8px; bottom: 8px; }
    .m3HeroSticker{ display: none; }
.m3HeroSticker.isOn{ position: static; margin: 0 0 12px 16px; transform: rotate(-2deg); }
    body.isM3[data-ptype="service"] .m3QuickForm{ box-shadow: 6px 6px 0 var(--tint), var(--m-shadow) !important; }
}

/* D90: one belief per page, four looks */
body.isM3 main > section.m3Belief{ padding: clamp(28px, 4vw, 48px) 0 !important; }
.m3Belief .pgWrap{ display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.m3Belief.isQuote figure{ margin: 0 auto; max-width: 820px; text-align: center; position: relative; padding: 8px 12px; }
.m3BeliefMark{ display: block; font: 800 96px/0.6 var(--m-font); color: var(--tint-ink, #0b4a9e); opacity: 0.25; height: 44px; }
.m3Belief.isQuote blockquote{ margin: 0; font: 700 clamp(24px, 3vw, 36px)/1.25 var(--m-font); letter-spacing: -0.02em; color: var(--m-ink); }
.m3Belief.isQuote figcaption{ margin-top: 12px; font-size: 14px; font-weight: 600; color: var(--m-ink-3); }
.m3Belief.isQuote .pgWrap{ align-items: center; }
.m3BeliefSticker{ margin: 0 auto; display: inline-flex; align-items: center; gap: 14px; padding: 18px 24px; border-radius: 18px; background: var(--t-butter, #fff3c9);
    border: 1px solid rgba(0,0,0,0.06); box-shadow: 0 4px 0 rgba(0,0,0,0.06); transform: rotate(-1.8deg); max-width: 640px; color: var(--m-ink);
    font: 700 19px/1.35 var(--m-font); }
.m3BeliefSticker svg{ width: 30px; height: 30px; flex: none; color: var(--i-butter, #765600); }
.m3BeliefSticker small{ display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--i-butter, #765600); margin-bottom: 2px; }
.m3Belief.isSticker .pgWrap{ align-items: center; }
.m3BeliefBanner{ margin: 0; width: 100%; display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-radius: 999px; background: var(--tint);
    font: 600 17px/1.4 var(--m-font); color: var(--m-ink); }
.m3BeliefBanner svg{ width: 22px; height: 22px; flex: none; color: var(--tint-ink); }
.m3BeliefBanner b{ flex: none; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--tint-ink); }
body.isM3 .pgCard.m3BeliefCard{ background: var(--tint-ink, #0b4a9e) !important; border-color: transparent !important; }
body.isM3 .pgCard.m3BeliefCard h3{ color: #fff !important; font-size: 13px !important; text-transform: uppercase; letter-spacing: 0.05em; }
body.isM3 .pgCard.m3BeliefCard p{ color: #fff !important; font-size: 20px !important; font-weight: 700; line-height: 1.35; }
body.isM3 .pgCard.m3BeliefCard .pgCardIcon{ background: rgba(255,255,255,0.18) !important; color: #fff !important; }
.m3BeliefMore{ font-size: 15px; font-weight: 700; color: var(--m-blue) !important; }
@media (max-width: 767px){
    .m3BeliefBanner{ border-radius: 18px; flex-wrap: wrap; }
    .m3BeliefSticker{ transform: rotate(-1deg); font-size: 17px; }
}

/* D90: hook bars as compact cards (max 640px), icon, two lines, button below, alternating tint and side */
body.isM3 main > section.peHook{ padding: 20px 0 !important; }
body.isM3 .peHook .pgWrap{ display: flex; }
body.isM3 .peHook.m3HookR .pgWrap{ justify-content: flex-end; }
body.isM3 .peHookLine{ max-width: 640px; display: grid !important; grid-template-columns: 44px 1fr; gap: 6px 14px; align-items: start; padding: 20px 22px !important;
    font-size: 17px !important; line-height: 1.45; box-shadow: var(--m-shadow); }
body.isM3 .peHookLine > svg.m3HookIcon{ grid-row: span 2; width: 44px; height: 44px; padding: 10px; border-radius: 14px; background: #fff; color: var(--m-blue); }
body.isM3 .peHookLine .peHookBtn{ grid-column: 2; justify-self: start; margin-top: 8px; min-height: 42px !important; }
body.isM3 .peHook.m3HookT1 .peHookLine{ background: var(--t-mint) !important; }
body.isM3 .peHook.m3HookT1 svg.m3HookIcon{ color: var(--i-mint); }
body.isM3 .peHook.m3HookT2 .peHookLine{ background: var(--t-lavender) !important; }
body.isM3 .peHook.m3HookT2 svg.m3HookIcon{ color: var(--i-lavender); }
@media (max-width: 767px){ body.isM3 .peHook .pgWrap, body.isM3 .peHook.m3HookR .pgWrap{ justify-content: stretch; } body.isM3 .peHookLine{ max-width: none; width: 100%; } }

/* 07 (f): cookie and privacy banner (only present when site_data.CONSENT_BANNER is on): three equal choices */
.peConsent{ position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999; max-width: 720px; margin: 0 auto; background: #fff; color: var(--m-ink);
    border: 1px solid var(--m-line); border-radius: 18px; box-shadow: 0 12px 40px rgba(16,24,40,0.18); padding: 18px 20px; font: 500 15px/1.5 var(--m-font); }
.peConsent p{ margin: 0 0 12px; } .peConsent a{ color: var(--m-blue); }
.peConsentBtns{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.peConsentBtns button{ min-height: 44px; border-radius: 999px; border: 1.5px solid var(--m-blue); background: #fff; color: var(--m-blue); font: 700 14px/1.2 var(--m-font); cursor: pointer; }
@media (max-width: 575px){ .peConsentBtns{ grid-template-columns: 1fr; } .peConsent{ bottom: 84px; } }

/* 03b D104/D105/D107/D111: events, brands, AI help, leaders: light cards, swipe rows on phones */
.m3XGrid{ display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.m3XGrid.cols2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 991px){ .m3XGrid, .m3XGrid.cols2{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.m3XCard{ background: #fff; border: 1px solid var(--m-line); border-radius: var(--m-r); box-shadow: var(--m-shadow); padding: 20px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.m3XCard h3{ margin: 0; font: 700 18px/1.3 var(--m-font); color: var(--m-ink); }
.m3Tag{ align-self: flex-start; padding: 3px 10px; border-radius: 999px; background: var(--tint); color: var(--tint-ink); font: 700 12px/1.4 var(--m-font); text-transform: capitalize; }
.m3XLead{ margin: 0; font-size: 16px; line-height: 1.5; color: var(--m-ink); }
.m3XFix, .m3XFact{ margin: 0; font-size: 15px; line-height: 1.5; color: var(--m-ink-2); }
.m3XFix b, .m3XFact b{ display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--tint-ink); margin-bottom: 2px; }
.m3XSrc{ margin: auto 0 0; font-size: 13px; color: var(--m-ink-3); }
.m3XSrc a, .m3Src{ color: var(--m-ink-3); text-decoration: underline; text-underline-offset: 2px; }
.m3XMeta{ margin: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--m-ink-2); }
.m3XMeta span{ display: inline-flex; align-items: center; gap: 6px; }
.m3XMeta svg, .m3Chan svg{ width: 16px; height: 16px; flex: none; color: var(--tint-ink); }
.m3XMeta a{ color: var(--m-blue); }
.m3XCat{ margin: 0; font-size: 14px; color: var(--m-ink-2); text-transform: capitalize; }
.m3XWhen{ color: var(--m-ink-3); }
.m3Chans{ margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.m3Chan{ display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; background: var(--m-surface); border: 1px solid var(--m-line); font-size: 13px; color: var(--m-ink-2); }
.m3XNote{ margin: 14px 0 0; font-size: 13px; color: var(--m-ink-3); }
.m3XLesson{ margin: 18px 0 0; font: 600 17px/1.5 var(--m-font); color: var(--m-ink); }
.m3XCta{ margin: 20px 0 0; }
.m3LinkRow{ margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.m3LinkRow a{ font-weight: 700; font-size: 15px; color: var(--m-blue) !important; }
.m3Tip{ margin-top: 20px; padding: 20px 22px; border-radius: var(--m-r-lg); background: var(--tint); max-width: 760px; }
.m3Tip h3{ margin: 0 0 6px; font: 700 18px/1.3 var(--m-font); }
.m3Tip p{ margin: 0; }
@media (max-width: 767px){
    .m3XGrid, .m3XGrid.cols2{ display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 6px; scrollbar-width: none; }
    .m3XGrid::-webkit-scrollbar{ display: none; }
    .m3XCard{ flex: 0 0 86%; scroll-snap-align: start; }
}



/* D113: Font Awesome now loads without blocking the first paint; keep a box for its icons so nothing moves when it arrives */
.fa-brands, .fa-solid, .fa-regular{ display: inline-block; min-width: 1em; min-height: 1em; }

/* persona audit (15 Oct): call-me-back form in the blue box on phones; clear FAQ +/-; no floating arrow on phones;
   industry cards 2 per row and quotes stacked on phones (vertical scrollers miss what sits to the right) */
.m3CtaForm{ display: none !important; }
@media (max-width: 767px){
    body.isM3 form.m3CtaForm.pgForm{ display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; margin-top: 18px;
        padding: 18px; border-radius: var(--m-r-lg); background: #fff; border: 1px solid var(--m-line); }
    body.isM3 .m3CtaForm .m3QuickTitle{ margin: 0; font: 700 16px/1.35 var(--m-font); color: var(--m-ink); }
}
body.isM3 .faqQ > b{ width: 28px !important; height: 28px !important; flex: 0 0 28px; border: 1.5px solid var(--m-line) !important; border-radius: 50% !important;
    transform: none !important; display: inline-flex !important; align-items: center; justify-content: center; background: #fff !important; }
body.isM3 .faqQ > b::before{ display: block !important; content: "+"; position: static !important; width: auto !important; height: auto !important;
    background: none !important; transform: none !important; font: 600 18px/1 var(--m-font); color: var(--m-ink-2); }
body.isM3 .is-open .faqQ > b::before, body.isM3 .faqQ[aria-expanded="true"] > b::before{ content: "\2212"; }
body.isM3 .faqQ > b::after{ display: none !important; }
@media (max-width: 991px){ body.isM3 .ftTop{ display: none !important; } }
@media (max-width: 575px){
    body.isM3 .peSvcGrid{ display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; overflow: visible !important; gap: 10px !important; }
    body.isM3 .peSvcGrid > .peSvcCard{ flex: none !important; width: auto !important; min-width: 0 !important; padding: 14px !important; }
    body.isM3 .peSvcCard h3{ font-size: 15px !important; }
    body.isM3 .peSvcCard p{ font-size: 13px !important; }
    .m3QuoteRow{ display: grid !important; grid-template-columns: 1fr !important; overflow: visible !important; }
    .m3Quote{ flex: none !important; }
}
@media (max-width: 767px){
    body.isM3 .ctaWrap form.m3CtaForm, body.isM3 .ctaWrap form.m3CtaForm label, body.isM3 .ctaWrap form.m3CtaForm .m3QuickTitle,
    body.isM3 .ctaWrap form.m3CtaForm .m3QuickNote{ color: var(--m-ink) !important; }
    body.isM3 .ctaWrap form.m3CtaForm label{ font-size: 13px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: normal !important; }
    body.isM3 .ctaWrap form.m3CtaForm .m3QuickNote a{ color: var(--m-blue) !important; }
}

/* persona audit (03b): "More ways AI helps" / "Show global events" folds under the card grids */
.m3XMoreBox{ margin-top: 14px; }
.m3XMoreBox > summary{ display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; padding: 10px 16px; border-radius: 999px;
    border: 1.5px solid var(--m-line); background: #fff; font: 700 15px/1.2 var(--m-font); color: var(--m-blue); }
.m3XMoreBox > summary::-webkit-details-marker{ display: none; }
.m3XMoreBox > summary::after{ content: "+"; font-size: 18px; }
.m3XMoreBox[open] > summary::after{ content: "\2212"; }
.m3XMoreBox > .m3XGrid{ margin-top: 14px; }

/* user 15 Oct: the call-back promise under the main hero button (hidden where the hero form replaces the buttons) */
.m3Promise{ margin: 10px 0 0; font-size: 14px; font-weight: 600; color: var(--m-ink-2); }
.m3Lead .pgHeroBtns.m3HasForm + .m3Promise{ display: none; }


/* ---------------------------------------------------------------- D125 (user via Boss, 15 Oct): final staging batch */
/* no sideways sliders on phones: every card row stacks; long stacks show four, then "Show more" (m3.js) */
@media (max-width: 767px){
    body.isM3 .pgCards .pgGrid, body.isM3 .pgWins .pgWinGrid, body.isM3 .m3XGrid, body.isM3 .m3XGrid.cols2, body.isM3 .m3XGrid.cols3,
    body.isM3 .peVideoGrid, body.isM3 .m3QuoteRow{ display: grid !important; grid-template-columns: minmax(0, 1fr) !important; overflow: visible !important;
        scroll-snap-type: none !important; gap: 14px !important; padding-bottom: 0 !important; }
    body.isM3 .pgCards .pgGrid > *, body.isM3 .pgWins .pgWinGrid > *, body.isM3 .m3XCard, body.isM3 .peVideo, body.isM3 .m3Quote{
        flex: none !important; width: auto !important; min-width: 0 !important; grid-column: auto !important; }
    body.isM3 .pgCards .pgGrid::after, body.isM3 .pgWins .pgWinGrid::after{ content: none !important; }
    body.isM3 .peSvcGrid{ display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; overflow: visible !important; gap: 10px !important; }
    body.isM3 .peSvcGrid > .peSvcCard{ flex: none !important; width: auto !important; min-width: 0 !important; }
    body.isM3 .m3Capped > :nth-child(n+5){ display: none !important; }
}
.m3ShowMore{ display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 12px; padding: 10px 18px; border-radius: 999px;
    border: 1.5px solid var(--m-line); background: #fff; font: 700 15px/1.2 var(--m-font); color: var(--m-blue); cursor: pointer; }
.m3ShowMore::after{ content: "+"; font-size: 18px; }
.m3ShowMore[aria-expanded="true"]::after{ content: "\2212"; }
.m3XMoreBox > summary, .m3WorthBox > summary{ min-height: 44px; }

/* worry cards: stacked, each with "This is mine" */
.m3Worries .peProblem{ display: flex; flex-direction: column; }
.m3Worry{ align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: auto; padding: 10px 18px;
    border-radius: 999px; background: var(--m-blue); color: #fff !important; font: 700 15px/1.2 var(--m-font); text-decoration: none !important; }
.m3Worries .peProblem > p:last-of-type{ margin-bottom: 14px; }
.m3Worry:hover, .m3Worry:focus-visible{ filter: brightness(1.08); }

/* hub hero form: the worry the reader picked; the photo slot */
.m3WorryPick{ margin: 0; padding: 8px 12px; border-radius: 10px; background: var(--tint); color: var(--tint-ink, var(--m-ink)); font: 600 14px/1.4 var(--m-font); }
.m3HeroPhoto{ grid-column: 1 / -1; margin: 22px 0 0; }
.m3HeroPhoto img{ display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--m-r-lg); }
.m3HeroPhoto figcaption{ margin-top: 8px; font-size: 13px; color: var(--m-ink-3); }

/* proof block */
.m3WeDid{ max-width: 760px; margin: 0 0 18px; font-size: 17px; line-height: 1.6; color: var(--m-ink); }
.m3IndProof .m3LogosLabel{ margin: 6px 0 10px; }
.m3LogoList.isStill{ display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; padding: 0; margin: 0 0 6px; list-style: none; animation: none; }
.m3LogoList.isStill img{ height: 48px; width: auto; }
.m3IndProof .m3QuoteRow{ margin-top: 18px; }
.m3IndProof .m3QuoteRow.isOne{ display: block; max-width: 760px; }
.m3IndProof .m3LogosAll{ display: inline-flex; align-items: center; min-height: 44px; margin-top: 10px; }
.m3ProofQuote{ max-width: 760px; margin: 0 0 14px; }

/* "Worth knowing": one closed fold */
.m3WorthBox > summary{ display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; padding: 10px 18px; border-radius: 999px;
    border: 1.5px solid var(--m-line); background: #fff; font: 700 15px/1.3 var(--m-font); color: var(--m-blue); }
.m3WorthBox > summary::-webkit-details-marker{ display: none; }
.m3WorthBox > summary::after{ content: "+"; font-size: 18px; }
.m3WorthBox[open] > summary::after{ content: "\2212"; }
.m3WkPart{ margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--m-line); }
.m3WkHead{ margin: 0 0 12px; font: 800 20px/1.3 var(--m-font); color: var(--m-ink); }
.m3WkLead{ font-weight: 600; max-width: 760px; }
.m3WkGroup h4{ margin: 0 0 8px; font: 700 16px/1.3 var(--m-font); }
.m3WkGroup ul{ margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.m3WkGroup li{ display: flex; gap: 8px; align-items: flex-start; }
.m3WkPart .pgProse{ max-width: 760px; }

/* D133: the hub cost block ends with the user's line and the call-back form (no cost sheet) */
.m3PriceLine{ margin-top: 22px !important; font-weight: 700; }
body.isM3 .pePrice form.m3PriceForm.pgForm{ display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; justify-self: start !important;
    max-width: 520px; margin: 14px 0 6px; padding: 18px; border-radius: var(--m-r-lg); background: #fff; border: 1px solid var(--m-line); box-shadow: none !important; }
body.isM3 .pePrice .m3PriceForm .m3QuickTitle{ margin: 0; font: 700 16px/1.35 var(--m-font); color: var(--m-ink); }

/* hub closing box: the call-me-back form and the mark-up form on phones AND laptops, dark text on white (no white-on-white) */
body.isM3 .ctaWrap.isHub form.m3CtaForm.pgForm{ display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; margin-top: 18px;
    padding: 18px; border-radius: var(--m-r-lg); background: #fff; border: 1px solid var(--m-line); max-width: 520px; justify-self: start !important; }
body.isM3 .ctaWrap form.m3CtaForm, body.isM3 .ctaWrap form.m3CtaForm label, body.isM3 .ctaWrap form.m3CtaForm .m3QuickTitle,
body.isM3 .ctaWrap form.m3CtaForm .m3QuickNote{ color: var(--m-ink) !important; }
body.isM3 .ctaWrap form.m3CtaForm label{ font-size: 13px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: normal !important; }
body.isM3 .ctaWrap form.m3CtaForm .m3QuickNote a{ color: var(--m-blue) !important; }
body.isM3 .ctaWrap form.m3CtaForm .m3QuickTitle{ margin: 0; font: 700 16px/1.35 var(--m-font); }
body.isM3 .ctaWrap form.m3CtaForm .m3Opt{ font-weight: 500; color: var(--m-ink-3); }

/* growth-plan page: name + phone first, the rest folded */
.m3OptBox > summary{ display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; list-style: none; font: 700 15px/1.3 var(--m-font); color: var(--m-blue); }
.m3OptBox > summary::-webkit-details-marker{ display: none; }
.m3OptBox > summary::after{ content: "+"; font-size: 18px; }
.m3OptBox[open] > summary::after{ content: "\2212"; }
.m3OptGrid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin-top: 12px; }
.m3OptGrid .fullRow{ grid-column: 1 / -1; }
@media (max-width: 575px){ .m3OptGrid{ grid-template-columns: minmax(0, 1fr); } }
.m3FromPage{ margin: 0; padding: 10px 14px; border-radius: 10px; background: var(--tint, #eef4ff); font-weight: 600; }
.pgContactForm > .m3LinkRow{ margin-top: 16px; }
body.isM3 .pgHero.m3Short{ min-height: 0 !important; padding-bottom: 8px !important; }
body.isM3 .pgHero.m3Short .pgCircle, body.isM3 .pgHero.m3Short .pgScrollCue{ display: none !important; }
/* D125 tap targets of at least 40px on phones: bigger buttons; chips and link rows get an invisible larger hit area */
@media (max-width: 991px){
    body.isM3 .peMoreBtn, body.isM3 .m3More, body.isM3 .m3Tab{ min-height: 44px; }
    body.isM3 .m3Toc a, body.isM3 .m3LinkRow a, body.isM3 .m3XMeta a, body.isM3 .peTable th a{ position: relative; }
    body.isM3 .m3Toc a::after, body.isM3 .m3LinkRow a::after, body.isM3 .m3XMeta a::after, body.isM3 .peTable th a::after{
        content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 44px; transform: translateY(-50%); }
    body.isM3 .m3LinkRow{ row-gap: 18px; }
}
/* D131 (user): the logo file matches its background (navy + blue F on light), so no colour filter on it */
html .logoImg img.peLogoTrue, html .ftLogo img.peLogoTrue{ filter: none !important; width: auto; }
/* D132 (user): the pastel boxes slowly change colour every ~30 s (m3.js shifts the palette one step; each tint keeps its own ink,
   so text contrast stays the same). Registered colours fade in 1.5 s; paint only, no layout change. Off with reduced motion. */
@property --t-sky{ syntax: '<color>'; inherits: true; initial-value: #e5f0ff; }
@property --i-sky{ syntax: '<color>'; inherits: true; initial-value: #0b4a9e; }
@property --t-mint{ syntax: '<color>'; inherits: true; initial-value: #dcf5e9; }
@property --i-mint{ syntax: '<color>'; inherits: true; initial-value: #0e6b44; }
@property --t-peach{ syntax: '<color>'; inherits: true; initial-value: #ffe7da; }
@property --i-peach{ syntax: '<color>'; inherits: true; initial-value: #9a3b0e; }
@property --t-lavender{ syntax: '<color>'; inherits: true; initial-value: #ece7ff; }
@property --i-lavender{ syntax: '<color>'; inherits: true; initial-value: #4e35a6; }
@property --t-butter{ syntax: '<color>'; inherits: true; initial-value: #fff3c9; }
@property --i-butter{ syntax: '<color>'; inherits: true; initial-value: #765600; }
@property --t-rose{ syntax: '<color>'; inherits: true; initial-value: #ffe4ee; }
@property --i-rose{ syntax: '<color>'; inherits: true; initial-value: #9b1e4f; }
@property --t-teal{ syntax: '<color>'; inherits: true; initial-value: #d9f3f2; }
@property --i-teal{ syntax: '<color>'; inherits: true; initial-value: #0d6464; }
@media (prefers-reduced-motion: no-preference){ html.m3Shift{ transition: --t-sky 1.5s ease, --i-sky 1.5s ease, --t-mint 1.5s ease, --i-mint 1.5s ease, --t-peach 1.5s ease, --i-peach 1.5s ease, --t-lavender 1.5s ease, --i-lavender 1.5s ease, --t-butter 1.5s ease, --i-butter 1.5s ease, --t-rose 1.5s ease, --i-rose 1.5s ease, --t-teal 1.5s ease, --i-teal 1.5s ease; } }
/* D135: the speaker's face (or the client's logo) in the same circle on every quote */
.peQuoteCard figcaption.m3HasFace{ display: flex; align-items: center; gap: 12px; }
.m3QuoteWho{ display: grid; gap: 2px; min-width: 0; }
.m3Avatar.isLogo{ object-fit: contain; background: #fff; border: 1px solid var(--m-line); padding: 5px; }
/* D138 audit (16 Oct): readable everywhere. The older bright link blue (#0075ff, 3.9-4.2:1) becomes the brand blue used by the
   buttons (#0b5fd9, about 5:1); the lightest grey gets darker (4.2 -> 5+:1 on the pastels); no running text under 13px */
body.isM3{ --blue: var(--m-blue); --m-ink-3: #5a6377; }
body.isM3 .m3Chip, body.isM3 .peTable th, body.isM3 .m3QuickNote, body.isM3 .ctaEyebrow, body.isM3 .ftCtaEyebrow, body.isM3 .pePersonRole,
body.isM3 .pgForm label, body.isM3 .ftClock, body.isM3 .peCheckNote, body.isM3 main small, body.isM3 .m3XFix b, body.isM3 .ftCin, body.isM3 .m3Tag,
body.isM3 .ftFraud, body.isM3 .peDocMeta, body.isM3 .pgWinChip, body.isM3 .pgReachK{ font-size: max(13px, 1em) !important; }
body.isM3 .pgForm label{ font-size: 13px !important; }
body.isM3 .peBrandNote p, body.isM3 .m3XNote, body.isM3 .peTableNote, body.isM3 .peDocMeta, body.isM3 .m3XSrc, body.isM3 .peDeeperSrc{ max-width: 80ch; }
@media (max-width: 991px){ body.isM3 .peCheckGroup > summary, body.isM3 .peCheckPrint{ min-height: 44px; } body.isM3 .peCheckGroup > summary{ display: flex; align-items: center; } }

/* ---------------------------------------------------------------- D139 header menu, design A (user 16 Oct: "A: big and visual") */
.mxCol[data-t="lavender"], .mnPil[data-t="lavender"]{ --mxT: var(--t-lavender); --mxI: var(--i-lavender); }
.mxCol[data-t="peach"], .mnPil[data-t="peach"]{ --mxT: var(--t-peach); --mxI: var(--i-peach); }
.mxCol[data-t="sky"], .mnPil[data-t="sky"]{ --mxT: var(--t-sky); --mxI: var(--i-sky); }
.mxCol[data-t="mint"], .mnPil[data-t="mint"]{ --mxT: var(--t-mint); --mxI: var(--i-mint); }
.mxTile{ flex: none; width: 40px; height: 40px; border-radius: 12px; background: #fff; color: var(--mxI); display: inline-flex; align-items: center; justify-content: center; }
.mxTile svg{ width: 20px; height: 20px; }
.mxHeadTxt{ display: grid; gap: 2px; min-width: 0; }
.mxHeadTxt b{ font: 700 16px/1.25 var(--m-font); color: var(--mxI); }
.mxHeadTxt small{ font: 500 13px/1.35 var(--m-font); color: var(--mxI); opacity: .9; }

/* desktop panel */
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega.peMegaA{
    width: min(1200px, calc(100vw - 48px)); display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 0; padding: 0 !important;
    border-radius: 24px !important; overflow: hidden; box-shadow: 0 24px 60px rgb(27 35 51 / 14%), 0 4px 12px rgb(27 35 51 / 6%) !important; }
body.isM3 .peMegaA > li{ list-style: none; }
body.isM3 .peMegaA .mxMain{ padding: 20px 22px 22px; }
body.isM3 .peMegaA .mxPop{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--m-line); }
body.isM3 .peMegaA .mxPop > span{ font: 600 14px var(--m-font); color: var(--m-ink-2); margin-right: 4px; }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA a.mxChip{ display: inline-flex; padding: 8px 14px !important; border-radius: 999px; border: 1px solid var(--m-line);
    background: var(--m-surface); font: 600 14px/1.2 var(--m-font) !important; color: var(--m-ink) !important; }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA a.mxChip:hover{ background: var(--m-blue); border-color: var(--m-blue); color: #fff !important; }
body.isM3 .peMegaA .mxCols{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA a.mxHead, body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA span.mxHead{ display: flex !important; gap: 12px; align-items: flex-start; padding: 14px !important;
    margin-bottom: 6px; border-radius: 14px; background: var(--mxT); }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA a.mxRow{ display: block; padding: 6px 10px !important; border-radius: 12px; }
body.isM3 .peMegaA a.mxRow b{ display: block; font: 600 15px/1.3 var(--m-font); color: var(--m-ink); }
body.isM3 .peMegaA a.mxRow small{ display: block; margin-top: 2px; font: 500 13px/1.35 var(--m-font); color: var(--m-ink-3); }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA a.mxRow:hover, body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA a.mxRow:focus-visible{ background: var(--m-surface); }
body.isM3 .peMegaA a.mxRow:hover b{ color: var(--m-blue); }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA a.mxAll{ display: block; padding: 10px 12px !important; font: 700 14px var(--m-font) !important; color: var(--m-blue) !important; }
body.isM3 .peMegaA .mxRail{ background: var(--m-blue); color: #fff; padding: 26px 24px; display: flex; flex-direction: column; gap: 14px; }
body.isM3 .peMegaA .mxRailT{ margin: 0; font: 800 22px/1.2 var(--m-font); color: #fff; }
body.isM3 .peMegaA .mxRailP{ margin: 0; font: 500 15px/1.5 var(--m-font); color: rgb(255 255 255 / 92%); }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA a.mxRailBtn{ display: block; text-align: center; padding: 13px 18px !important; border-radius: 999px; background: #fff;
    color: var(--m-blue) !important; font: 700 16px var(--m-font) !important; }
body.isM3 .peMegaA .mxPair{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA .mxPair a{ display: block; text-align: center; padding: 11px 8px !important; border-radius: 999px;
    border: 1px solid rgb(255 255 255 / 50%); color: #fff !important; font: 600 15px var(--m-font) !important; }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA .mxPair a:hover{ background: rgb(255 255 255 / 12%); }
body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMegaA a.mxRailAll{ margin-top: auto; padding: 0 !important; color: #fff !important; font: 600 14px var(--m-font) !important; text-decoration: underline; }
@media (max-width: 1199px){ body.isM3 .headerWrap .headerInner .menuWrap > ul > li .subMenu.peMega.peMegaA{ grid-template-columns: 1fr; }
    body.isM3 .peMegaA .mxRail{ flex-direction: row; flex-wrap: wrap; align-items: center; padding: 16px 22px; }
    body.isM3 .peMegaA .mxRailP, body.isM3 .peMegaA a.mxRailAll{ display: none; } }

/* phone drawer */
body.isM3 .peMobileNav.peMobA{ background: #fff !important; padding: 84px 16px 120px; }
body.isM3 .peMobA .mnPair{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
body.isM3 .peMobA .mnPair a{ display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 14px; border: 1px solid var(--m-line);
    font: 700 16px var(--m-font); color: var(--m-ink) !important; text-decoration: none; }
body.isM3 .peMobA .mnPair a.isWa{ background: var(--t-mint); border-color: transparent; color: var(--i-mint) !important; }
body.isM3 .peMobA details, body.isM3 .peMobA .peMobileTop{ border-bottom: 1px solid var(--m-line) !important; }
body.isM3 .peMobA summary, body.isM3 .peMobA .peMobileTop{ display: flex; align-items: center; min-height: 56px; padding: 0 4px !important;
    font: 700 18px var(--m-font) !important; letter-spacing: normal !important; text-transform: none !important; color: var(--m-ink) !important; }
body.isM3 .peMobA summary::after{ margin-left: auto; color: var(--m-blue) !important; font-size: 22px; }
body.isM3 .peMobA .peMobPop{ padding: 4px 0 6px !important; }
body.isM3 .peMobA .peMobPop li a{ border-color: var(--m-line) !important; background: var(--m-surface); color: var(--m-ink) !important; font: 600 14px var(--m-font) !important; }
body.isM3 .peMobA details.mnPil{ border: 0 !important; margin: 8px 0 !important; border-radius: 14px; background: var(--mxT); }
body.isM3 .peMobA details.mnPil > summary{ gap: 12px; min-height: 64px; padding: 8px 12px !important; }
body.isM3 .peMobA details.mnPil > summary::after{ color: var(--mxI) !important; }
body.isM3 .peMobA details.mnPil ul{ background: #fff; margin: 0 4px 4px !important; border-radius: 12px; padding: 4px 12px !important; }
body.isM3 .peMobA details.mnPil li a{ display: flex; align-items: center; min-height: 48px; font: 600 15px var(--m-font) !important; color: var(--m-ink) !important;
    border-bottom: 1px solid var(--m-line); text-transform: none !important; letter-spacing: normal !important; }
body.isM3 .peMobA details.mnPil li:last-child a{ border-bottom: 0; color: var(--m-blue) !important; }
body.isM3 .peMobA details:not(.mnPil) > ul li a, body.isM3 .peMobA .peMobAll a{ display: flex; align-items: center; min-height: 48px; font: 600 16px var(--m-font) !important;
    text-transform: none !important; letter-spacing: normal !important; color: var(--m-ink) !important; }
body.isM3 .peMobA .peMobAll a{ color: var(--m-blue) !important; }
body.isM3 .peMobA .mnSticky{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 2; margin: 0 !important; padding: 12px 16px 16px; background: #fff; border-top: 1px solid var(--m-line); text-align: center; }
body.isM3 .peMobA .mnSticky .pgBtn{ display: flex !important; justify-content: center; width: 100%; min-height: 54px; font-size: 17px !important; }
body.isM3 .peMobA .mnSticky small{ display: block; margin-top: 8px; font: 500 13px var(--m-font); color: var(--m-ink-2); }

body.isM3 .peMegaA a.mxRow small{ margin-top: 1px; }
body.isM3 .peMobA .mnSticky{ display: block !important; }
body.isM3 .m3XFact b, body.isM3 .ftCopyBtn span{ font-size: 13px !important; }
body.isM3 .peQuoteCard figcaption.m3HasFace{ display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; text-align: left !important; gap: 12px !important; }
