.hero-section{background:linear-gradient(330deg,#f9fafd 0%,#105c92 60%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-visual-wrapper{opacity:.15;position:absolute;inset:0}.hero-visual-image{object-fit:cover;width:100%;height:100%}.hero-visual-overlay{background:linear-gradient(330deg,#f9fafdcc 0%,#105c9299 60%);position:absolute;inset:0}.hero-container{z-index:10;width:100%;max-width:1300px;margin:0 auto;padding:2rem 1rem;position:relative}.hero-content-wrapper{grid-template-columns:1fr;align-items:center;gap:2rem;display:grid}.hero-text-area{flex-direction:column;gap:1.5rem;display:flex}.hero-headline{color:#fff;opacity:0;font-size:2.5rem;font-weight:700;line-height:1.2;transition:all 1s ease-out;transform:translateY(2rem)}.hero-headline.visible{opacity:1;transform:translateY(0)}.hero-headline-accent{color:#fbbc04}.hero-subtext{color:#ffffffe6;opacity:0;font-size:1.25rem;line-height:1.6;transition:all 1s ease-out .2s;transform:translateY(2rem)}.hero-subtext.visible{opacity:1;transform:translateY(0)}.hero-cta-buttons{opacity:0;flex-direction:column;gap:1rem;transition:all 1s ease-out .4s;display:flex;transform:translateY(2rem)}.hero-cta-buttons.visible{opacity:1;transform:translateY(0)}.hero-btn-primary{color:#fff;cursor:pointer;background-color:#105c92;border:none;border-radius:.5rem;padding:1.5rem 2rem;font-size:1.125rem;transition:all .3s}.hero-btn-primary:hover{background-color:#0d4a75;transform:translateY(-2px);box-shadow:0 10px 25px #105c924d}.hero-btn-icon{width:1.25rem;height:1.25rem;margin-left:.5rem;transition:transform .3s}.hero-btn-primary:hover .hero-btn-icon{transform:translate(.25rem)}.hero-btn-secondary{color:#fff;background-color:#0000;border:2px solid #fff;border-radius:.5rem;padding:1.5rem 2rem;font-size:1.125rem;transition:all .3s}.hero-btn-secondary:hover{color:#fff;background-color:#ffffff1a}.hero-visual-area{opacity:0;transition:all 1s ease-out .6s;position:relative;transform:translate(2rem)}.hero-visual-area.visible{opacity:1;transform:translate(0)}.hero-dashboard-mockup{background:#fff;border-radius:1rem;position:relative;overflow:hidden;box-shadow:0 25px 50px #0000004d}.hero-dashboard-image{width:100%;height:auto;display:block}.hero-data-flow-animation{pointer-events:none;position:absolute;inset:0}.hero-data-dot{background:#4285f4;border-radius:50%;width:12px;height:12px;animation:3s ease-in-out infinite data-flow;position:absolute;box-shadow:0 0 20px #4285f4}.hero-data-dot:first-child{top:20%;left:10%}.hero-data-dot:nth-child(2){background:#fbbc04;top:50%;left:30%;box-shadow:0 0 20px #fbbc04}.hero-data-dot:nth-child(3){background:#34a853;top:70%;left:60%;box-shadow:0 0 20px #34a853}@keyframes data-flow{0%,to{opacity:.8;transform:translate(0)scale(1)}50%{opacity:1;transform:translate(20px,-20px)scale(1.5)}}@media (max-width:767px){.hero-section{min-height:100vh;padding:0}.hero-container{height:100vh;padding:0}.hero-content-wrapper{grid-template-rows:1fr;grid-template-columns:1fr;gap:0;height:100%}.hero-visual-area{order:-1;height:60%;position:absolute;top:0;left:0;right:0}.hero-text-area{background:#105c92f2;border-radius:1.5rem 1.5rem 0 0;justify-content:center;gap:1rem;height:40%;padding:2rem 1.5rem;position:absolute;bottom:0;left:0;right:0}.hero-headline{font-size:1.75rem;line-height:1.3}.hero-subtext{font-size:.95rem;line-height:1.5}.hero-cta-buttons{flex-direction:column;gap:.75rem}.hero-btn-primary,.hero-btn-secondary{width:100%;padding:1rem 1.5rem;font-size:1rem}.hero-dashboard-mockup{height:100%}.hero-dashboard-image{object-fit:cover;height:100%}}@media (min-width:768px){.hero-content-wrapper{grid-template-columns:1fr 1fr;gap:3rem}.hero-headline{font-size:3.5rem}.hero-subtext{font-size:1.5rem}.hero-cta-buttons{flex-direction:row}}@media (min-width:1024px){.hero-headline{font-size:4rem}}
.solutions-section{background:linear-gradient(135deg,#f5f8fb 0%,#fff 100%);padding:100px 24px;position:relative}.solutions-container{max-width:1300px;margin:0 auto}.solutions-header{text-align:center;opacity:0;margin-bottom:80px;transition:all .8s ease-out;transform:translateY(20px)}.solutions-header.visible{opacity:1;transform:translateY(0)}.solutions-title{background:linear-gradient(135deg,#105c92,#1d6fd7);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:48px;font-weight:800;line-height:1.3}.solutions-grid{opacity:0;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:80px;transition:all .8s ease-out;display:grid}.solutions-grid.visible{opacity:1}.solution-card{background:#fff;border:1px solid #105c921a;border-radius:12px;flex-direction:column;padding:48px 32px;text-decoration:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #105c920f}.solution-card:before{content:"";background:linear-gradient(90deg,#105c92,#1d6fd7);height:6px;position:absolute;top:0;left:0;right:0}.solution-card:after{content:"";background:linear-gradient(135deg,#1d6fd70d 0%,#0000 100%);border-radius:50% 0 0;width:120px;height:120px;position:absolute;bottom:0;right:0}.solution-card:hover{border-color:#105c9233;transform:translateY(-8px);box-shadow:0 16px 48px #105c9226}.solution-card__number{color:#105c921a;margin-bottom:12px;font-size:64px;font-weight:800;line-height:1}.solution-card__header{color:#1b1b1b;margin-top:0;margin-bottom:24px;font-size:20px;font-weight:700}.solution-card__list{z-index:1;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex;position:relative}.solution-card__list li{color:#555;padding-left:20px;font-size:16px;font-weight:500;line-height:1.7;position:relative}.solution-card__list li:before{content:"→";color:#105c92;font-weight:700;position:absolute;left:0}.solutions-footer{color:#fff;text-align:center;background:linear-gradient(135deg,#1b2d45 0%,#2a3d52 100%);border-radius:12px;margin-bottom:60px;padding:40px 32px;font-size:20px;font-weight:700;line-height:1.8;box-shadow:0 8px 24px #105c921a}.solutions-cta{justify-content:center;display:flex}.solutions-cta__button{color:#fff;letter-spacing:.3px;background:linear-gradient(135deg,#105c92,#1d6fd7);border-radius:8px;padding:16px 40px;font-size:16px;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:inline-block;box-shadow:0 8px 24px #105c9240}.solutions-cta__button:hover{background:linear-gradient(135deg,#0d4770,#1557b0);transform:translateY(-4px);box-shadow:0 12px 36px #105c9259}@media (max-width:768px){.solutions-section{padding:80px 24px}.solutions-title{font-size:32px}.solutions-grid{grid-template-columns:1fr;gap:24px}.solution-card{padding:40px 24px}.solution-card__number{font-size:48px}.solution-card__header{font-size:18px}.solutions-footer{padding:32px 24px;font-size:16px}.solutions-cta__button{padding:14px 32px;font-size:16px}}@media (min-width:769px) and (max-width:1024px){.solutions-grid{grid-template-columns:repeat(2,1fr)}.solutions-title{font-size:40px}}
.projects-section{background-color:hsl(var(--background));padding:4rem 0}.projects-container{max-width:1300px;margin:0 auto;padding:0 1rem}.projects-header{opacity:0;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;transition:all 1s;display:flex;transform:translateY(2rem)}.projects-header.visible{opacity:1;transform:translateY(0)}.projects-title{color:hsl(var(--foreground));text-wrap:balance;margin-bottom:.75rem;font-size:1.875rem;font-weight:700}.projects-subtitle{color:hsl(var(--muted-foreground));text-wrap:balance;max-width:42rem;font-size:1.125rem}.projects-nav-buttons{align-items:center;gap:1rem;display:none}.projects-nav-button{border-radius:9999px;transition:all .3s}.projects-nav-button:hover{background-color:hsl(var(--primary)/.1);border-color:hsl(var(--primary)/.5)}.projects-nav-icon{width:1.25rem;height:1.25rem}.projects-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;opacity:0;gap:.75rem;margin:0 -1rem;padding-bottom:1.5rem;padding-left:1rem;padding-right:1rem;transition:all 1s .2s;display:flex;overflow-x:auto;transform:translateY(2rem)}.projects-carousel.visible{opacity:1;transform:translateY(0)}.projects-carousel::-webkit-scrollbar{display:none}.project-card-link{scroll-snap-align:start;flex:none;width:80vw;text-decoration:none}.project-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;height:100%;transition:all .3s;position:relative;overflow:hidden}.project-card:hover{border-color:hsl(var(--primary)/.5);transform:translateY(-.5rem);box-shadow:0 20px 25px -5px #0000001a}.project-image-wrapper{aspect-ratio:16/10;overflow:hidden}.project-image{object-fit:cover;width:100%;height:100%;transition:transform .7s}.project-card:hover .project-image{transform:scale(1.1)}.project-content{background:linear-gradient(#0000,#0006,#000000e6);flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:all .5s;display:flex;position:absolute;inset:0}.project-card:hover .project-content{background:linear-gradient(#0000,#0006,#000000f2)}.project-title{color:#fff;margin-bottom:.5rem;font-size:1.25rem;font-weight:700;transition:transform .3s}.project-card:hover .project-title{transform:scale(1.05)}.project-description{color:#ffffffe6;font-size:.875rem;line-height:1.6}.projects-view-all{text-align:center;opacity:0;margin-top:3rem;transition:all 1s .7s;transform:translateY(2rem)}.projects-view-all.visible{opacity:1;transform:translateY(0)}.projects-view-all-button{color:#fff;letter-spacing:.3px;white-space:nowrap;background:linear-gradient(135deg,#105c92,#1d6fd7);border-radius:8px;padding:16px 40px;font-size:16px;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:inline-block;box-shadow:0 8px 24px #105c9240}.projects-view-all-button:hover{background:linear-gradient(135deg,#0d4770,#1557b0);transform:translateY(-4px);box-shadow:0 12px 36px #105c9259}@media (min-width:768px){.projects-title{font-size:2.25rem}.projects-nav-buttons{display:flex}.project-card-link{width:380px}}
.about-section{background:#f3f3f34d;padding:4rem 0 6rem}.about-container{max-width:1300px;margin:0 auto;padding:0 1rem}.about-content{max-width:80rem;margin:0 auto}.about-header{text-align:center;opacity:0;margin-bottom:3rem;transition:all 1s;transform:translateY(2rem)}.about-header--visible{opacity:1;transform:translateY(0)}.about-title{color:#1b1b1b;text-wrap:balance;margin-bottom:.75rem;font-size:3rem;font-weight:700}.about-subtitle{color:#6b7280;text-wrap:balance;font-size:1.25rem}.timeline{position:relative}.timeline__line{background:#e5e7eb;width:2px;position:absolute;top:0;bottom:0;left:2rem}.timeline__items{flex-direction:column;gap:2rem;display:flex}.timeline__item{opacity:0;align-items:flex-start;gap:1rem;transition:all .7s;display:flex;transform:translateY(2rem)}.timeline__item--visible{opacity:1;transform:translateY(0)}.timeline__dot-mobile{z-index:10;background:#105c92;border:4px solid #fff;border-radius:50%;flex-shrink:0;width:1rem;height:1rem}.timeline__dot-desktop{display:none}.timeline__content{flex:1}.timeline__year{color:#fff;background:#105c92;border-radius:9999px;margin-bottom:.5rem;padding:.25rem .75rem;font-size:.875rem;font-weight:700;transition:transform .3s;display:inline-block}.timeline__year:hover{transform:scale(1.1)}.timeline__title{color:#1b1b1b;margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.timeline__description{color:#6b7280;font-size:.875rem}.timeline__spacer{display:none}@media (min-width:768px){.about-section{padding:6rem 0}.about-header{margin-bottom:4rem}.about-title{margin-bottom:1rem;font-size:3.75rem}.about-subtitle{font-size:1.5rem}.timeline__line{left:50%;transform:translate(-50%)}.timeline__items{gap:3rem}.timeline__item{align-items:center;gap:2rem}.timeline__item--left{flex-direction:row}.timeline__item--right{flex-direction:row-reverse}.timeline__dot-mobile{display:none}.timeline__dot-desktop{z-index:10;background:#105c92;border:4px solid #fff;border-radius:50%;width:1rem;height:1rem;transition:transform .3s;display:block}.timeline__dot-desktop:hover{transform:scale(1.5)}.timeline__content{flex:1}.timeline__content--left{text-align:right}.timeline__content--right{text-align:left}.timeline__year{padding:.5rem 1rem;font-size:1rem}.timeline__title{margin-bottom:.5rem;font-size:1.5rem}.timeline__description{font-size:1rem}.timeline__spacer{flex:1;display:block}}@media (max-width:767px){.about-section{padding:3rem 0 4rem}.about-title{font-size:2rem}.about-subtitle{font-size:1rem}.timeline__line{left:.5rem}.timeline__dot-mobile{margin-left:-.5rem}}
.contact-section{background:#fff;padding:6rem 0}.contact-container{max-width:1300px;margin:0 auto;padding:0 1rem}.contact-content{max-width:80rem;margin:0 auto}.contact-header{text-align:center;opacity:0;margin-bottom:4rem;transition:all 1s;transform:translateY(2rem)}.contact-header--visible{opacity:1;transform:translateY(0)}.contact-title{color:#1b1b1b;text-wrap:balance;margin-bottom:1rem;font-size:3rem;font-weight:700}.contact-subtitle{color:#6b7280;text-wrap:balance;font-size:1.25rem}.contact-grid{grid-template-columns:1fr;gap:2rem;display:grid}.contact-info{flex-direction:column;gap:1.5rem;display:flex}.contact-card{opacity:0;border:1px solid #e5e7eb;transition:all .5s,box-shadow .3s;transform:translate(-2rem)}.contact-card:hover{box-shadow:0 10px 25px #0000001a}.contact-card--visible{opacity:1;transform:translate(0)}.contact-card__content{padding:1.5rem}.contact-card__inner{align-items:flex-start;gap:1rem;display:flex}.contact-card__icon{border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.contact-card__icon--blue{background:#4285f41a}.contact-card__icon--green{background:#34a8531a}.contact-card__icon--red{background:#ea43351a}.contact-card__icon-svg{width:1.25rem;height:1.25rem}.contact-card__icon--blue .contact-card__icon-svg{color:#4285f4}.contact-card__icon--green .contact-card__icon-svg{color:#34a853}.contact-card__icon--red .contact-card__icon-svg{color:#ea4335}.contact-card__title{color:#1b1b1b;margin-bottom:.25rem;font-weight:600}.contact-card__text{color:#6b7280;font-size:.875rem}.contact-form-card{opacity:0;border:1px solid #e5e7eb;transition:all .7s,box-shadow .3s;transform:translate(2rem)}.contact-form-card:hover{box-shadow:0 20px 40px #00000026}.contact-form-card--visible{opacity:1;transform:translate(0)}.contact-form{flex-direction:column;gap:1.5rem;display:flex}@media (min-width:1024px){.contact-grid{grid-template-columns:1fr 2fr}}@media (min-width:768px){.contact-title{font-size:3.75rem}.contact-subtitle{font-size:1.5rem}}@media (max-width:767px){.contact-section{padding:4rem 0}.contact-header{margin-bottom:2rem}.contact-title{font-size:2rem}.contact-subtitle{font-size:1rem}}
