html{height:100%}body{flex-direction:column;min-height:100vh;display:flex}body>section:last-of-type{flex-grow:1}body>footer{margin-top:auto}.signature-hero{--hero-text-cap:600px;color:#fff;background:linear-gradient(135deg,var(--primary-dark),var(--primary-darker));align-items:center;min-height:520px;padding:80px 0;display:flex;position:relative;overflow:hidden}.signature-hero .hero-backdrop{z-index:0;max-width:2000px;margin:0 auto;position:absolute;inset:0;overflow:hidden}.signature-hero .hero-backdrop img{object-fit:cover;object-position:var(--desktop-pos,center 25%);width:100%;height:100%;display:block}.signature-hero .hero-overlay{z-index:1;background:linear-gradient(90deg,#004080d9,#0040808c,#00408000 50%);max-width:2000px;margin:0 auto;position:absolute;inset:0}.signature-hero>.container{z-index:2;position:relative}.signature-hero .hero-eyebrow,.signature-hero h1,.signature-hero .positioning{max-width:var(--hero-text-cap)}.hero-eyebrow{color:#9ec1ff;letter-spacing:.12em;text-transform:uppercase;margin-bottom:max(.5rem,min(2vw,1rem));font-size:max(.7rem,min(1.6vw,.9rem));font-weight:600}.signature-hero h1{letter-spacing:-.02em;margin-bottom:max(.75rem,min(2vw,1rem));font-size:max(1.7rem,min(1rem + 3vw,3rem));font-weight:700;line-height:1.15}.signature-hero .positioning{opacity:.95;margin-bottom:max(1.25rem,min(4vw,2.5rem));font-size:max(1rem,min(.9rem + .6vw,1.3rem));line-height:1.5}@media(min-width:992px){.signature-hero{padding:0}.signature-hero .hero-backdrop img{object-position:center 0}.signature-hero .hero-eyebrow{color:#c6d9fb;font-size:.7rem}.signature-hero h1{font-size:2.7rem}.signature-hero .positioning{max-width:365px;font-size:1rem}}@media(min-width:1200px){.signature-hero .hero-backdrop img{object-position:var(--desktop-pos,center 25%)}}@media(min-width:1400px){.signature-hero{background:0 0}}@media(max-width:991.98px){.signature-hero{min-height:auto;padding:0 0 var(--section-pad);display:block}.signature-hero .hero-backdrop{width:100%;max-width:none;height:max(220px,min(38vw,320px));margin:0;display:block;position:relative;inset:auto}.signature-hero .hero-backdrop:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(#fff0 40%,#fff);height:48px;position:absolute;inset:auto 0 0}.signature-hero .hero-backdrop img{object-position:var(--mobile-pos,center 30%)}.signature-hero .hero-overlay{display:none}.signature-hero>.container{padding-top:max(16px,min(4vw,32px))}.signature-hero .hero-eyebrow,.signature-hero h1,.signature-hero .positioning{max-width:100%}}.hero-scroll-cue{display:none}@media(max-width:991.98px){.hero-scroll-cue{color:#00408073;justify-content:center;align-items:center;width:44px;height:44px;margin:max(1rem,min(4vw,2rem)) auto 0;font-size:1.5rem;text-decoration:none;animation:2.4s ease-in-out infinite hero-scroll-bounce;display:inline-flex}.hero-scroll-cue:hover,.hero-scroll-cue:focus{color:var(--primary-color)}}@keyframes hero-scroll-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.hero-scroll-cue{animation:none}}.pain-point{color:#212529;font-size:max(1.1rem,min(.85rem + 1.1vw,1.5rem));font-weight:500;line-height:1.4}.pain-divider{background:var(--primary-color);opacity:1;border:0;width:40px;height:3px;margin:0 auto 2rem}.team-portrait{object-fit:cover;border:4px solid #fff;width:200px;height:200px;transition:transform .2s;box-shadow:0 6px 18px #00000014}.team-item>a{color:inherit;text-decoration:none;display:inline-block}@media(hover:hover)and (pointer:fine){.team-item>a:hover .team-portrait{transform:scale(1.05)}}.logo-marquee{padding:1rem 0;position:relative;overflow:hidden}.logo-marquee:before,.logo-marquee:after{content:"";z-index:2;pointer-events:none;width:80px;position:absolute;top:0;bottom:0}.logo-marquee:before{background:linear-gradient(90deg,#fff,#0000);left:0}.logo-marquee:after{background:linear-gradient(-90deg,#fff,#0000);right:0}.logo-track{align-items:center;width:max-content;animation:75s linear infinite logo-marquee;display:flex}.logo-track:hover{animation-play-state:paused}.logo-track img{object-fit:contain;filter:grayscale();opacity:.6;width:auto;max-width:160px;height:60px;margin-right:3rem;transition:filter .25s,opacity .25s}@media(hover:hover)and (pointer:fine){.logo-track img:hover{filter:grayscale(0);opacity:1}}@keyframes logo-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.logo-track{flex-wrap:wrap;justify-content:center;width:100%;animation:none}.logo-track img[aria-hidden=true]{display:none}}@media(max-width:991.98px){.logo-marquee{padding:.5rem 1rem}.logo-marquee:before,.logo-marquee:after{display:none}.logo-track{grid-template-columns:repeat(4,1fr);place-items:center;gap:2rem 1.75rem;width:100%;animation:none;display:grid}.logo-track img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:48px;margin:0}.logo-track img[aria-hidden=true]{display:none}}@media(max-width:575.98px){.logo-track{grid-template-columns:repeat(2,1fr);gap:1.75rem 1.5rem}.logo-track img{max-height:40px}}.services-tagline{background:#f8f9fa;border-top:1px solid #e9ecef;border-bottom:1px solid #e9ecef;padding:2rem 0}.testimonial-card{border-radius:var(--card-radius);padding:var(--card-pad);box-shadow:var(--card-shadow);background:#fff;border:1px solid #e9ecef;flex-direction:column;padding-left:max(60px,min(8vw,80px));transition:transform .25s,box-shadow .25s;display:flex;position:relative}@media(hover:hover)and (pointer:fine){.testimonial-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-4px)}}.testimonial-card .quote-mark{color:#ced4da;font-family:Georgia,Times New Roman,serif;font-size:max(3rem,min(6vw,5rem));line-height:.7;position:absolute;top:max(16px,min(3vw,32px));left:max(16px,min(3vw,24px))}.testimonial-card blockquote{color:#2d3748;margin:0 0 1.25rem;font-size:1rem;font-style:italic;font-weight:400;line-height:1.6}.testimonial-card .testimonial-author{color:#6c757d;text-align:right;margin-top:auto;padding-top:1rem;font-size:.9rem;font-style:normal}.testimonial-card .testimonial-author:before{content:"— "}.testimonial-card .testimonial-date{color:#adb5bd;text-align:right;margin-top:.25rem;font-size:.85rem}.testimonial-card .partner-mention{color:var(--primary-color);font-weight:500}.testimonial-carousel{position:relative}.testimonial-carousel:before,.testimonial-carousel:after{content:"";pointer-events:none;z-index:1;width:140px;position:absolute;top:0;bottom:0}.testimonial-carousel:before{background:linear-gradient(90deg,#fff 50%,#fff0);left:0}.testimonial-carousel:after{background:linear-gradient(-90deg,#fff 50%,#fff0);right:0}.testimonial-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;align-items:stretch;gap:1.5rem;padding-block-start:.5rem;padding-block-end:.5rem;padding-inline-start:max(1rem,50% - 360px);padding-inline-end:max(1rem,50% - 360px);display:flex;overflow-x:auto}.testimonial-track::-webkit-scrollbar{display:none}.testimonial-slide{scroll-snap-align:center;flex:0 0 min(720px,86vw);align-items:stretch;display:flex}.testimonial-slide>.testimonial-card{width:100%;transition:filter .35s,opacity .35s}.testimonial-slide:not(.is-active)>.testimonial-card{filter:saturate(.35);opacity:.55}.testimonial-control{width:44px;height:44px;color:var(--primary-color);background:#fff;border:1px solid #e9ecef;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;transition:background .2s,color .2s,transform .15s;display:inline-flex;box-shadow:0 2px 8px #0000000f}@media(hover:hover)and (pointer:fine){.testimonial-control:hover:not(:disabled){background:var(--primary-color);color:#fff}}.testimonial-control:active:not(:disabled){transform:scale(.95)}.testimonial-control:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}@media(max-width:991.98px){.testimonial-carousel:before,.testimonial-carousel:after{display:none}}.service-card{transition:transform .2s,box-shadow .2s;overflow:hidden;border-radius:var(--card-radius)!important;box-shadow:var(--card-shadow)!important;border-top:4px solid var(--primary-color)!important}@media(hover:hover)and (pointer:fine){.service-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)!important}}.service-card .card-body{padding:var(--card-pad)!important}.service-icon{color:var(--primary-dark);font-size:2.5rem;line-height:1;display:block}.service-tag{color:var(--primary-color);background:#f1f4f9;border-radius:999px;margin:.15rem;padding:.25rem .75rem;font-size:.875rem;display:inline-block}.contact-band,.mid-cta{background:linear-gradient(135deg,var(--primary-dark),var(--primary-darker));padding:var(--section-pad) 0;color:#fff}.contact-band h2,.mid-cta h2{font-size:max(1.5rem,min(1rem + 1.8vw,2.25rem));font-weight:700}.contact-band .lead,.mid-cta .lead{color:#ffffffd9;font-size:max(1rem,min(.9rem + .4vw,1.2rem))}.contact-form-card{border-radius:var(--card-radius);padding:var(--card-pad);color:#fff;background:#ffffff0f;border:1px solid #ffffff1f}.contact-form-card .form-label{color:#ffffffd9}.contact-form-card .form-control,.contact-form-card .form-select{color:#fff;background-color:#0000;border:1px solid #ffffff40}.contact-form-card .form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.contact-form-card .form-control::placeholder{color:#ffffff8c}.contact-form-card .form-control:focus,.contact-form-card .form-select:focus{box-shadow:none;color:#fff;background-color:#ffffff0d;border-color:#fff}.contact-form-card .form-select option{background:var(--primary-dark);color:#fff}.contact-form-card .form-text{color:#ffffff8c}.contact-form-card .form-check-label{color:#ffffffd9}.contact-form-card .form-check-input{background-color:#ffffff1a;border-color:#fff6}.contact-form-card .form-check-input:checked{background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23004080' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");border-color:#fff}.contact-form-card a{color:#fff}.contact-form-card .text-muted{color:#fff9!important}.contact-form-card .text-danger{color:#ffb4b4}section.py-5>.container h2,.contact-band h2,.mid-cta h2{font-size:max(1.5rem,min(1rem + 1.8vw,2.25rem));font-weight:700;line-height:1.2}section.py-5>.container .lead{font-size:max(1rem,min(.9rem + .4vw,1.2rem))}
