@charset "utf-8";
/* CSS Document */

:root{--primary:#2400A1;--teal:#1a8984;--green:#27BB66;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--white:#fff;--gradient:linear-gradient(135deg,var(--primary) 0%,var(--teal) 60%,var(--green) 100%);--gradient-h:linear-gradient(90deg,var(--primary) 0%,var(--teal) 100%);--radius-lg:1.5rem;--radius-xl:2rem;--shadow-sm:0 1px 3px #0000000f 0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000d 0 2px 4px #0000000a;--shadow-lg:0 10px 15px #0000000f 0 4px 6px #0000000a;--shadow-xl:0 20px 25px #00000012 0 10px 10px #0000000a;--shadow-2xl:0 25px 50px #0000001a}
body{font-size:16px;line-height:1.6;color:var(--gray-800);background:var(--white);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.book-meeting:hover{color:#fff}
button{cursor:pointer;border:none}
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:2}
.section{position:relative;padding:50px 0;overflow:hidden}
.bg-white{background:var(--white)}
.bg-gray-50{background:var(--gray-50)}
.blob{position:absolute;width:24rem;height:24rem;border-radius:50%;filter:blur(80px);opacity:.1;pointer-events:none;z-index:0}
.blob--purple-green{background:linear-gradient(135deg,var(--primary) 0%,var(--green) 100%)}
.blob--green-teal{background:linear-gradient(135deg,var(--green) 0%,var(--teal) 100%)}
.gradient-text{background-image:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:1.15;margin-bottom:1.5rem}
.section-subtitle{font-size:clamp(1.25rem,3vw,1.875rem);font-weight:800}
.text-center{text-align:center}
.text-lg{font-size:1.125rem;line-height:1.7}
.text-base{font-size:1rem;line-height:1.7}
.text-gray{color:var(--gray-600)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.25rem;border-radius:9999px;font-size:1.0625rem;font-weight:700;transition:transform .2s,box-shadow .2s}
.btn--primary{background:var(--gradient-h);color:var(--white);box-shadow:0 8px 24px #2400a140}
.btn--primary:hover{transform:scale(1.05);box-shadow:0 16px 36px #2400a159}
.btn--outline{border:2px solid var(--primary);color:var(--primary);background:var(--white);box-shadow:0 4px 12px #2400a11f}
.btn--outline:hover{transform:scale(1.05);box-shadow:0 10px 28px #2400a133}
.btn--white{background:var(--white);color:var(--primary);box-shadow:0 8px 24px #ffffff40}
.btn--white:hover{transform:scale(1.05);box-shadow:0 16px 36px #ffffff59}
.btn--full{width:100%;justify-content:center}
.hero{min-height:100vh;display:flex;align-items:center;padding:140px 24px 0;background:var(--white)}
.hero__blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.1;pointer-events:none}
.hero__blob--1{width:24rem;height:24rem;top:5rem;right:2.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--green) 100%)}
.hero__blob--2{width:20rem;height:20rem;bottom:5rem;left:2.5rem;background:linear-gradient(135deg,var(--teal) 0%,var(--green) 100%)}
.hero__inner{display:flex;flex-direction:column;align-items:center;gap:4rem}
.hero__content{text-align:center;max-width:60rem}
.hero__title{font-size:clamp(2.25rem,6vw,4.5rem);font-weight:900;line-height:1.1;margin-bottom:1.25rem}
.hero__subtitle{font-size:1.375rem;font-weight:600;color:var(--teal);margin-bottom:1.25rem}
.hero__desc{font-size:1.0625rem;color:var(--gray-600);max-width:50rem;margin:0 auto .75rem;line-height:1.75}
.hero__cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:25px 0 -25px}
.awards{width:100%;max-width:48rem}
.awards__label{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem}
.awards__label span{font-size:1.25rem;font-weight:600;color:var(--primary)}
.awards__cards{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}
.award-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:1.5rem;flex:1;min-width:200px;max-width:315px;box-shadow:var(--shadow-md);transition:transform .25s,box-shadow .25s;text-align:center}
.award-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #2400a11f}
.award-logo-placeholder{background:#19242D;border-radius:16px;width:235px;text-align:center;padding:20px;display:inline-block;margin-bottom:20px}
.award-logo-placeholder img{width:auto;height:120px;display:inline-block}
.award-card__title{font-size:1.0625rem;font-weight:700;margin-bottom:.4rem}
.award-card__desc{font-size:.875rem;color:var(--gray-600)}
.problem__intro{max-width:50rem;margin:0 auto 3rem;display:flex;flex-direction:column;gap:1.25rem}
.challenge-table{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);overflow:hidden;margin-bottom:50px}
.challenge-table__header{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--gray-300)}
.challenge-table__col{padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1.125rem;font-weight:700;color:var(--gray-900)}
.challenge-table__col--red{background:#ef444414;border-right:1px solid var(--gray-300)}
.challenge-table__col--green{background:#27bb6614}
.challenge-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--gray-200);transition:background .2s}
.challenge-row:last-child{border-bottom:none}
.challenge-row:hover{background:var(--gray-50)}
.challenge-cell{padding:1.125rem 1.5rem;display:flex;align-items:flex-start;gap:.75rem}
.challenge-cell--left{border-right:1px solid var(--gray-200)}
.challenge-cell svg{flex-shrink:0;margin-top:.15rem}
.challenge-cell span{font-size:.9375rem;font-weight:500;color:var(--gray-800);line-height:1.5}
.cta-box{background:var(--gradient);border-radius:var(--radius-xl);padding:3rem 2.5rem;text-align:center;box-shadow:var(--shadow-2xl)}
.cta-box__title{font-size:clamp(1.5rem,4vw,2.25rem);font-weight:900;color:var(--white);margin-bottom:1rem}
.cta-box__desc{font-size:1.0625rem;color:#ffffffe6;max-width:60rem;margin:0 auto 2rem;line-height:1.7}
.capabilities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin:0 auto}
.cap-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:var(--shadow-md);position:relative;overflow:hidden;transition:box-shadow .3s,border-color .3s,transform .25s}
.cap-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient);opacity:0;transition:opacity .3s}
.cap-card:hover{box-shadow:0 12px 28px #2400a126;border-color:transparent;transform:translateY(-3px)}
.cap-card:hover::before{opacity:1}
.cap-card__icon{flex-shrink:0;width:3rem;height:3rem;border-radius:.875rem;background:linear-gradient(135deg,#2400a11a 0%,#27bb661a 100%);display:flex;align-items:center;justify-content:center}
.cap-card__icon svg{width:1.5rem;height:1.5rem;color:var(--primary)}
.cap-card__text{font-size:.9375rem;color:var(--gray-700);line-height:1.6;padding-top:.5rem}
.italic-statement{text-align:center;padding:2rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,#2400a10d 0%,#27bb660d 100%);font-size:1.1875rem;font-weight:600;font-style:italic;color:var(--teal);margin-top:3rem}
.capabilities-detailed{display:flex;flex-direction:column;gap:3rem}
.cap-detail{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--gray-100);overflow:hidden;transition:box-shadow .4s}
.cap-detail:hover{box-shadow:var(--shadow-2xl)}
.cap-detail__inner{display:grid;grid-template-columns:2fr 3fr}
.cap-detail--reverse .cap-detail__inner{grid-template-columns:3fr 2fr}
.cap-detail__img-wrap{position:relative;overflow:hidden;min-height:16rem}
.cap-detail--reverse .cap-detail__img-wrap{order:2}
.cap-detail--reverse .cap-detail__content{order:1}
.cap-detail__img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.cap-detail:hover .cap-detail__img-wrap img{transform:scale(1.08)}
.cap-detail__img-overlay{position:absolute;inset:0;opacity:.18}
.cap-detail__content{padding:2.5rem}
.cap-detail__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:900;line-height:1.2;margin-bottom:.5rem}
.cap-detail__sub{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-600);margin-bottom:1.25rem}
.cap-detail__desc{color:var(--gray-700);line-height:1.75;margin-bottom:1.25rem;font-size:.9375rem}
.cap-detail__impacts{background:var(--gray-50);border-radius:.875rem;padding:1rem 1.25rem;margin-bottom:1.25rem;list-style:none}
.cap-detail__impacts li{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;color:var(--gray-700);font-weight:500;padding:.25rem 0}
.cap-detail__impacts li span.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-top:.45rem;flex-shrink:0}
.cap-detail__divider{height:1px;margin:1.25rem 0}
.usecases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(550px,1fr));gap:1.5rem}
.usecase-card{background:var(--white);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.usecase-card__top-bar{position:absolute;top:0;left:0;right:0;height:4px}
.usecase-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-2xl)}
.usecase-card__icon{width:4rem;height:4rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}
.usecase-card__icon svg{width:2rem;height:2rem;color:var(--white)}
.usecase-card__title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;line-height:1.3}
.usecase-card__desc{font-size:.9375rem;color:var(--gray-700);line-height:1.65}
.visibility-card{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--gray-200);padding:3rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.visibility-card__heading{font-size:1.375rem;font-weight:900;margin-bottom:1.5rem}
.visibility-list{list-style:none;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}
.visibility-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:1.0625rem;color:var(--gray-700)}
.visibility-list li svg{flex-shrink:0;margin-top:.15rem}
.visibility-img-wrap{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-2xl);position:relative}
.visibility-img-wrap img{width:100%;height:20rem;object-fit:cover}
.visibility-img-overlay{position:absolute;inset:0;background:linear-gradient(135deg,var(--primary) 0%,var(--green) 100%);opacity:.1}
.timeline{position:relative;max-width:60rem;margin:3rem auto 0;padding-top:1rem}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:4px;transform:translateX(-50%);background:var(--gradient);border-radius:2px}
.timeline-step{display:grid;grid-template-columns:1fr 4rem 1fr;align-items:center;margin-bottom:1rem;gap:1.5rem}
.timeline-step--right .timeline-step__card{order:3}
.timeline-step--right .timeline-step__empty{order:1}
.timeline-step--left .timeline-step__card{order:1}
.timeline-step--left .timeline-step__empty{order:3}
.timeline-step__dot{order:2;width:4rem;height:4rem;border-radius:50%;border:4px solid var(--white);box-shadow:var(--shadow-xl);display:flex;align-items:center;justify-content:center;z-index:3;position:relative}
.timeline-step__dot svg{width:2rem;height:2rem;color:var(--white)}
.timeline-step__card{background:var(--white);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.timeline-step__card:hover{transform:scale(1.03) translateY(-4px);box-shadow:var(--shadow-2xl)}
.timeline-step__card-bar{position:absolute;top:0;left:0;right:0;height:4px}
.timeline-step__badge{display:inline-block;font-size:.75rem;font-weight:700;color:var(--white);padding:.2rem .75rem;border-radius:9999px;margin-bottom:.75rem}
.timeline-step__title{font-size:1.125rem;font-weight:900;margin-bottom:.6rem;line-height:1.3}
.timeline-step__desc{font-size:.875rem;color:var(--gray-700);line-height:1.65}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem 2rem}
.benefit-card{background:var(--white);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.benefit-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-2xl)}
.benefit-card__num{position:absolute;top:1.25rem;right:1.5rem;font-size:3.5rem;font-weight:900;opacity:.1;line-height:1}
.benefit-card__icon{width:4rem;height:4rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:transform .4s}
.benefit-card:hover .benefit-card__icon{transform:rotate(360deg) scale(1.1)}
.benefit-card__icon svg{width:2rem;height:2rem;color:var(--white)}
.benefit-card__title{font-size:1.25rem;font-weight:900;margin-bottom:.75rem;line-height:1.25}
.benefit-card__desc{font-size:.9375rem;color:var(--gray-700);line-height:1.65}
.benefit-card__bar{position:absolute;bottom:0;left:0;right:0;height:3px;opacity:0;transition:opacity .3s}
.benefit-card:hover .benefit-card__bar{opacity:1}
@media (max-width: 900px) {
.cap-detail__inner,.cap-detail--reverse .cap-detail__inner{grid-template-columns:1fr}
.cap-detail--reverse .cap-detail__img-wrap,.cap-detail--reverse .cap-detail__content{order:unset}
.visibility-card{grid-template-columns:1fr}
.timeline::before{left:2rem}
.timeline-step{grid-template-columns:4rem 1fr}
.timeline-step__empty{display:none}
.timeline-step--right .timeline-step__dot,.timeline-step--left .timeline-step__dot{order:1}
.timeline-step--right .timeline-step__card,.timeline-step--left .timeline-step__card{order:2}
.contact-card{grid-template-columns:1fr}
.challenge-table__header,.challenge-row{grid-template-columns:1fr}
.challenge-table__col--red{border-right:none;border-bottom:1px solid var(--gray-300)}
.challenge-cell--left{border-right:none;border-bottom:1px solid var(--gray-200)}
}
@media (max-width: 640px) {
.form-row{grid-template-columns:1fr}
.hero__cta{flex-direction:column;align-items:center}
.awards__cards{flex-direction:column;align-items:center}
.cap-detail__content{padding:1.5rem}
.challenge-table{margin-bottom:30px}
}