html{height:100%}body{min-height:100vh;display:flex;flex-direction:column}body>section:last-of-type{flex-grow:1}body>footer{margin-top:auto}.signature-hero{--hero-text-cap: 600px;position:relative;min-height:520px;color:#fff;display:flex;align-items:center;padding:80px 0;overflow:hidden;background:linear-gradient(135deg,var(--primary-dark),var(--primary-darker))}.signature-hero .hero-backdrop{position:absolute;inset:0;max-width:2000px;margin:0 auto;overflow:hidden;z-index:0}.signature-hero .hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:var(--desktop-pos, center 25%);display:block}.signature-hero .hero-overlay{position:absolute;inset:0;max-width:2000px;margin:0 auto;background:linear-gradient(90deg,#004080d9,#0040808c,#00408000 50%);z-index:1}.signature-hero>.container{position:relative;z-index:2}.signature-hero .hero-eyebrow,.signature-hero h1,.signature-hero .positioning{max-width:var(--hero-text-cap)}.hero-eyebrow{color:#9ec1ff;font-size:clamp(.7rem,1.6vw,.9rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:clamp(.5rem,2vw,1rem)}.signature-hero h1{font-size:clamp(1.7rem,1rem + 3vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-bottom:clamp(.75rem,2vw,1rem)}.signature-hero .positioning{font-size:clamp(1rem,.9rem + .6vw,1.3rem);line-height:1.5;opacity:.95;margin-bottom:clamp(1.25rem,4vw,2.5rem)}@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:transparent}}@media(max-width:991.98px){.signature-hero{display:block;min-height:auto;padding:0 0 var(--section-pad)}.signature-hero .hero-backdrop{position:relative;inset:auto;max-width:none;margin:0;display:block;width:100%;height:clamp(220px,38vw,320px)}.signature-hero .hero-backdrop:after{content:"";position:absolute;inset:auto 0 0;height:48px;background:linear-gradient(to bottom,#fff0 40%,#fff);pointer-events:none;z-index:2}.signature-hero .hero-backdrop img{object-position:var(--mobile-pos, center 30%)}.signature-hero .hero-overlay{display:none}.signature-hero>.container{padding-top:clamp(16px,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{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:clamp(1rem,4vw,2rem) auto 0;color:#00408073;font-size:1.5rem;text-decoration:none;animation:hero-scroll-bounce 2.4s ease-in-out infinite}.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{font-weight:500;line-height:1.4;color:#212529;font-size:clamp(1.1rem,.85rem + 1.1vw,1.5rem)}.pain-divider{width:40px;height:3px;background:var(--primary-color);margin:0 auto 2rem;border:0;opacity:1}.team-portrait{width:200px;height:200px;object-fit:cover;border:4px solid #fff;box-shadow:0 6px 18px #00000014;transition:transform .2s}.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{overflow:hidden;position:relative;padding:1rem 0}.logo-marquee:before,.logo-marquee:after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}.logo-marquee:before{left:0;background:linear-gradient(90deg,#fff,transparent)}.logo-marquee:after{right:0;background:linear-gradient(-90deg,#fff,transparent)}.logo-track{display:flex;align-items:center;width:max-content;animation:logo-marquee 75s linear infinite}.logo-track:hover{animation-play-state:paused}.logo-track img{height:60px;width:auto;max-width:160px;object-fit:contain;margin-right:3rem;filter:grayscale(1);opacity:.6;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{animation:none;flex-wrap:wrap;justify-content:center;width:100%}.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{animation:none;display:grid;grid-template-columns:repeat(4,1fr);place-items:center;width:100%;column-gap:1.75rem;row-gap:2rem}.logo-track img{margin:0;width:auto;max-width:100%;height:auto;max-height:48px;object-fit:contain}.logo-track img[aria-hidden=true]{display:none}}@media(max-width:575.98px){.logo-track{grid-template-columns:repeat(2,1fr);column-gap:1.5rem;row-gap:1.75rem}.logo-track img{max-height:40px}}.services-tagline{background:#f8f9fa;padding:2rem 0;border-top:1px solid #e9ecef;border-bottom:1px solid #e9ecef}.testimonial-card{background:#fff;border:1px solid #e9ecef;border-radius:var(--card-radius);padding:var(--card-pad);padding-left:clamp(60px,8vw,80px);box-shadow:var(--card-shadow);transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column;position:relative}@media(hover:hover)and (pointer:fine){.testimonial-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}}.testimonial-card .quote-mark{position:absolute;top:clamp(16px,3vw,32px);left:clamp(16px,3vw,24px);font-size:clamp(3rem,6vw,5rem);line-height:.7;color:#ced4da;font-family:Georgia,Times New Roman,serif}.testimonial-card blockquote{font-size:1rem;line-height:1.6;color:#2d3748;margin:0 0 1.25rem;font-weight:400;font-style:italic}.testimonial-card .testimonial-author{font-size:.9rem;color:#6c757d;font-style:normal;text-align:right;margin-top:auto;padding-top:1rem}.testimonial-card .testimonial-author:before{content:"— "}.testimonial-card .testimonial-date{font-size:.85rem;color:#adb5bd;text-align:right;margin-top:.25rem}.testimonial-card .partner-mention{color:var(--primary-color);font-weight:500}.testimonial-carousel{position:relative}.testimonial-carousel:before,.testimonial-carousel:after{content:"";position:absolute;top:0;bottom:0;width:140px;pointer-events:none;z-index:1}.testimonial-carousel:before{left:0;background:linear-gradient(90deg,#fff 50%,#fff0)}.testimonial-carousel:after{right:0;background:linear-gradient(-90deg,#fff 50%,#fff0)}.testimonial-track{display:flex;gap:1.5rem;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding-inline:max(1rem,calc((100% - 720px)/2));padding-block:.5rem}.testimonial-track::-webkit-scrollbar{display:none}.testimonial-slide{flex:0 0 min(720px,86vw);scroll-snap-align:center;display:flex;align-items:stretch}.testimonial-slide>.testimonial-card{width:100%;transition:filter .35s ease,opacity .35s ease}.testimonial-slide:not(.is-active)>.testimonial-card{filter:saturate(.35);opacity:.55}.testimonial-control{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e9ecef;border-radius:50%;color:var(--primary-color);font-size:1.25rem;line-height:1;box-shadow:0 2px 8px #0000000f;transition:background .2s ease,color .2s ease,transform .15s ease}@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{border-radius:var(--card-radius)!important;box-shadow:var(--card-shadow)!important;transition:transform .2s,box-shadow .2s;overflow:hidden;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{font-size:2.5rem;line-height:1;color:var(--primary-dark);display:block}.service-tag{display:inline-block;background:#f1f4f9;color:var(--primary-color);padding:.25rem .75rem;border-radius:999px;font-size:.875rem;margin:.15rem}.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:clamp(1.5rem,1rem + 1.8vw,2.25rem);font-weight:700}.contact-band .lead,.mid-cta .lead{color:#ffffffd9;font-size:clamp(1rem,.9rem + .4vw,1.2rem)}.contact-form-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:var(--card-radius);padding:var(--card-pad);color:#fff}.contact-form-card .form-label{color:#ffffffd9}.contact-form-card .form-control,.contact-form-card .form-select{background-color:transparent;border:1px solid rgba(255,255,255,.25);color:#fff}.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{background-color:#ffffff0d;border-color:#fff;box-shadow:none;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;border-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")}.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:clamp(1.5rem,1rem + 1.8vw,2.25rem);font-weight:700;line-height:1.2}section.py-5>.container .lead{font-size:clamp(1rem,.9rem + .4vw,1.2rem)}
