@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes float1{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-8px)}}@keyframes float2{0%,to{transform:rotate(3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-10px)}}@keyframes float3{0%,to{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-6px)}}@keyframes float4{0%,to{transform:rotate(2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-5px)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}*,::after,::before{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid #7c3aed;outline-offset:3px;border-radius:3px}:root{--color-primary:#7C3AED;--color-primary-dark:#6D28D9;--color-primary-darker:#5B21B6;--color-primary-light:#8B5CF6;--color-primary-pale:#DDD6FE;--color-primary-tint:#EDE9FE;--color-primary-ghost:#F5F3FF;--color-white:#FFFFFF;--color-bg:#FFFFFF;--color-bg-alt:#F5F3FF;--color-surface:#FAFAFA;--color-border:#E5E7EB;--color-border-focus:#7C3AED;--color-text-primary:#111111;--color-text-secondary:#374151;--color-text-muted:#6B7280;--color-text-hero:#FFFFFF;--color-logo-dark:#1E3464;--color-logo-accent:#9B8EC4;--color-success:#10B981;--color-star:#F59E0B;--color-nav-accent:#7C3AED;--gradient-hero:linear-gradient(135deg, #7C3AED 0%, #A78BFA 50%, #EDE9FE 85%, #F5F3FF 100%);--gradient-cta:linear-gradient(135deg, #6D28D9 0%, #7C3AED 50%, #A78BFA 100%);--shadow-card:0 2px 16px rgba(0, 0, 0, 0.06);--shadow-card-hover:0 8px 32px rgba(124, 58, 237, 0.14);--shadow-btn:0 4px 20px rgba(109, 40, 217, 0.30);--shadow-btn-hover:0 6px 28px rgba(109, 40, 217, 0.45);--shadow-nav:0 2px 20px rgba(0, 0, 0, 0.08);--font-heading:'Plus Jakarta Sans', sans-serif;--font-body:'Inter', sans-serif;--z-nav:100;--z-overlay:90;--z-modal:200;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:40px;--space-xl:64px;--space-2xl:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:30px}html{scroll-behavior:auto}body{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--color-text-secondary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}ul{list-style:none}button{cursor:pointer;border:0;background:0 0}button,input,textarea{font:inherit}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-sm)}.eyebrow,h1,h2,h3{font-family:var(--font-heading)}h1,h2,h3{color:var(--color-text-primary);line-height:1.2}.eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-sm)}.section-title{font-size:30px;font-weight:700;margin-bottom:var(--space-lg)}[data-animate]{opacity:0;transform:translateY(24px);transition:opacity 500ms ease-out,transform 500ms ease-out}[data-animate].animate-in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-animate]{opacity:1;transform:none;transition:none}.hero__scroll-indicator svg,.trust__track{animation:none!important}}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:600;font-size:15px;padding:14px 28px;border-radius:var(--radius-pill);transition:transform 200ms ease,box-shadow 200ms ease,background-color 200ms ease}.btn--primary{background:var(--color-primary-dark);color:var(--color-white);box-shadow:var(--shadow-btn)}.btn--primary:hover{background:var(--color-primary-darker);box-shadow:var(--shadow-btn-hover);transform:translateY(-2px)}.btn--outline{background:0 0;color:var(--color-white);border:2px solid rgba(255,255,255,.4)}.btn--outline:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.1)}.btn--white{background:var(--color-white);color:var(--color-primary-dark);font-weight:700}.btn--white:hover{transform:scale(1.03);box-shadow:var(--shadow-btn)}.btn--full{width:100%;justify-content:center}.nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);transition:box-shadow 200ms ease}.nav::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);z-index:-1}.nav.scrolled{box-shadow:var(--shadow-nav)}.nav__inner,.nav__logo{display:flex;align-items:center}.nav__inner{justify-content:space-between;height:64px}.nav__logo{gap:10px}.nav__logo-text{font-family:var(--font-heading);font-weight:700;font-size:18px;color:var(--color-text-primary)}.nav__menu{display:none}.nav__list{display:flex;gap:var(--space-md)}.nav__cta,.nav__link{font-family:var(--font-heading);font-size:15px}.nav__link{font-weight:500;color:var(--color-text-secondary);padding:6px 0;position:relative;transition:color 200ms ease}.nav__link::after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:width 200ms ease}.nav__link.active,.nav__link:hover{color:var(--color-primary)}.nav__link.active::after{width:100%}.nav__cta{display:none;font-weight:600;color:var(--color-nav-accent);transition:opacity 200ms ease}.nav__cta:hover{opacity:.8}.nav__hamburger{display:flex;flex-direction:column;gap:5px;padding:4px}.nav__hamburger span{display:block;width:24px;height:2px;background:var(--color-text-primary);border-radius:2px;transition:transform 300ms ease,opacity 300ms ease}.nav__hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__hamburger.active span:nth-child(2){opacity:0}.nav__hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav__overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:var(--z-overlay)}.nav__overlay.active{display:block}.hero,.nav__menu.active{display:flex;flex-direction:column}.nav__menu.active{position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--color-white);z-index:var(--z-nav);padding:var(--space-lg) var(--space-md);animation:fadeInDown 250ms ease}.nav__menu.active .nav__list{flex-direction:column;gap:var(--space-md)}.nav__menu.active .nav__link{font-size:20px}.hero{position:relative;background:var(--gradient-hero);padding:120px 0 var(--space-xl);overflow:hidden;min-height:100vh;justify-content:center}.hero__bg-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.15) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.hero__inner{display:grid;grid-template-columns:1fr;gap:var(--space-lg);align-items:center}.hero__content{color:var(--color-text-hero)}.hero__eyebrow,.hero__title{margin-bottom:var(--space-md)}.hero__eyebrow{display:inline-block;padding:6px 16px;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-pill);font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.9)}.hero__title{font-size:38px;font-weight:800;line-height:1.1;color:var(--color-white)}.hero__title-highlight{position:relative;display:inline}.hero__title-highlight::after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:6px;background:rgba(255,255,255,.35);border-radius:3px}.hero__subtitle{font-size:16px;line-height:1.7;color:rgba(255,255,255,.85);margin-bottom:var(--space-md);max-width:520px}.hero__cta-row{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.hero__badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-white);padding:8px 16px;border-radius:var(--radius-pill);font-size:13px;color:var(--color-text-primary);text-decoration:none;cursor:pointer;transition:box-shadow 200ms ease,transform 200ms ease}.hero__badge:hover{box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-1px)}.hero__badge-icon{flex-shrink:0}.hero__badge-text{color:var(--color-text-muted)}.hero__badge-stars{font-weight:700;color:#b45309}.hero__visual{display:none}.hero__showcase{position:relative;width:100%;max-width:520px;aspect-ratio:3/4;margin-left:auto}.hero__orb{position:absolute;border-radius:50%;filter:blur(48px);pointer-events:none}.hero__orb--1{width:320px;height:320px;background:radial-gradient(circle,rgba(255,255,255,.55),transparent 70%);top:10%;right:10%}.hero__orb--2{width:260px;height:260px;background:radial-gradient(circle,rgba(167,139,250,.7),transparent 70%);bottom:5%;left:5%}.hero__showcase-card{position:absolute;display:flex;align-items:center;gap:14px;padding:16px 22px 16px 18px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.8);border-radius:18px;box-shadow:0 20px 60px -15px rgba(30,20,80,.35),0 8px 24px -8px rgba(124,58,237,.25);backdrop-filter:blur(12px);min-width:230px;transition:transform 400ms ease}.hero__showcase-card:hover{transform:translateY(-4px) rotate(0deg)!important}.hero__showcase-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--color-white);flex-shrink:0}.hero__showcase-card--web{top:2%;left:0;transform:rotate(-4deg)}.hero__showcase-card--web .hero__showcase-icon{background:linear-gradient(135deg,#7c3aed,#5b21b6)}.hero__showcase-card--design{top:28%;right:0;transform:rotate(3deg);z-index:2}.hero__showcase-card--design .hero__showcase-icon{background:linear-gradient(135deg,#ec4899,#7c3aed)}.hero__showcase-card--3d{top:54%;left:5%;transform:rotate(-2deg)}.hero__showcase-card--3d .hero__showcase-icon{background:linear-gradient(135deg,#8b5cf6,#3b82f6)}.hero__showcase-meta{display:flex;flex-direction:column;line-height:1.25;flex:1}.hero__showcase-label{font-family:var(--font-heading);font-size:15px;font-weight:700;color:var(--color-text-primary)}.hero__showcase-sub{font-family:var(--font-body);font-size:13px;color:var(--color-text-muted);margin-top:2px}.hero__showcase-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 3px rgba(16,185,129,.2);flex-shrink:0}.hero__showcase-card--audit{bottom:2%;right:5%;transform:rotate(2deg);z-index:3}.hero__showcase-card--audit .hero__showcase-icon{background:linear-gradient(135deg,#10b981,#3b82f6)}.hero__showcase-card--web{animation:float1 6s ease-in-out infinite}.hero__showcase-card--design{animation:float2 7s ease-in-out infinite .5s}.hero__showcase-card--3d{animation:float3 6.5s ease-in-out infinite 1s}.hero__showcase-card--audit{animation:float4 7s ease-in-out infinite 1.5s}.hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-top:var(--space-lg);text-align:center}.hero__stat{padding:var(--space-sm)}.hero__stat-number,.hero__stat-suffix{font-family:var(--font-heading);font-size:36px;font-weight:800;color:var(--color-white)}.hero__stat-label{display:block;font-size:13px;color:rgba(255,255,255,.7);margin-top:4px}.hero__scroll-indicator{text-align:center;margin-top:var(--space-md)}.hero__scroll-indicator svg{animation:bounce 2s ease infinite}.trust{background:var(--color-bg-alt);padding:var(--space-lg)0;overflow:hidden}.trust__heading{text-align:center;font-size:13px;color:var(--color-text-secondary);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.08em}.trust__marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.trust__track{display:flex;width:max-content;animation:marquee 40s linear infinite;will-change:transform}.trust__track:hover{animation-play-state:paused}.trust__group{display:flex;gap:var(--space-xl);padding-right:var(--space-xl);flex-shrink:0}.trust__logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;cursor:pointer;background:var(--color-bg-alt)}.trust__logo-img{height:64px;width:auto;max-width:220px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(100%) opacity(.6);transition:filter 300ms ease}.trust__logo:hover .trust__logo-img{filter:grayscale(0%) opacity(1)}.services{padding:var(--space-xl)0;background:var(--color-bg)}.services .eyebrow,.services .section-title{text-align:center}.services .eyebrow{display:block}.services__grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.service-card{position:relative;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px;overflow:hidden;transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:var(--color-primary)}.service-card__number{position:absolute;top:12px;right:20px;font-family:var(--font-heading);font-size:80px;font-weight:800;color:var(--color-primary-pale);line-height:1;opacity:.4;pointer-events:none}.service-card__icon{margin-bottom:var(--space-sm)}.service-card__title{font-family:var(--font-heading);font-size:18px;font-weight:600;line-height:1.3;margin-bottom:var(--space-xs);color:var(--color-text-primary)}.service-card__desc{font-size:15px;line-height:1.6;color:var(--color-text-muted);text-align:justify}.service-card__arrow{position:absolute;bottom:24px;right:24px;font-size:20px;color:var(--color-primary);opacity:0;transform:translateX(-8px);transition:opacity 200ms ease,transform 200ms ease}.service-card:hover .service-card__arrow{opacity:1;transform:translateX(0)}.service-card__link{display:inline-block;margin-top:12px;font-size:14px}.service-card__link,.text-link{color:var(--color-primary);text-decoration:none;border-bottom:1px solid var(--color-primary)}.projects{padding:var(--space-xl)0;background:var(--color-bg-alt)}.projects .eyebrow,.projects .section-title{text-align:center}.projects .eyebrow{display:block}.projects__grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}.projects__grid:not(.projects__grid--expanded) .project-card:nth-child(n+7){display:none}.projects__more-wrap{display:flex;justify-content:center;margin-top:var(--space-lg)}.projects__more{cursor:pointer;background:0 0;color:var(--color-primary);border:2px solid var(--color-primary);padding:14px 32px;border-radius:var(--radius-pill);font-family:var(--font-heading);font-weight:600;font-size:15px;transition:background-color 200ms ease,color 200ms ease,transform 200ms ease}.projects__more:hover{background:var(--color-primary);color:var(--color-white);transform:translateY(-2px)}.project-card{display:block;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform 200ms ease,box-shadow 200ms ease;text-decoration:none;color:inherit;cursor:pointer}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.project-card__visual{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform 300ms ease}.project-card:hover .project-card__visual{transform:scale(1.03)}.project-card__visual img{width:100%;height:100%;object-fit:cover;display:block}.project-card__visual-label{font-family:var(--font-heading);font-size:24px;font-weight:700;color:rgba(255,255,255,.9)}.project-card__tag{display:inline-block;margin:var(--space-sm) var(--space-sm)0;background:var(--color-primary-ghost);color:var(--color-primary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:4px 12px;border-radius:20px}.project-card__title{font-family:var(--font-heading);font-size:18px;font-weight:600;margin:var(--space-xs) var(--space-sm)0;color:var(--color-text-primary)}.project-card__link{display:inline-block;margin:var(--space-xs) var(--space-sm) var(--space-sm);font-size:14px;font-weight:500;color:var(--color-primary);transition:opacity 200ms ease}.project-card__link:hover{opacity:.7}.about{padding:var(--space-xl)0;background:var(--color-bg-alt)}.about .eyebrow{display:block}.about .eyebrow,.about .section-title,.testimonials .eyebrow,.testimonials .section-title{text-align:center}.about__grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg);align-items:center}.about__photo-box{width:100%;max-width:320px;aspect-ratio:1;margin:0 auto;border-radius:24px;background:var(--color-white);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);box-shadow:0 0 0 4px var(--color-primary-pale),0 20px 60px -15px rgba(124,58,237,.25)}.about__logo{width:100%;height:100%;max-width:240px;max-height:240px;object-fit:contain}.about__bio,.about__chips{margin-bottom:var(--space-md)}.about__bio{font-size:16px;line-height:1.7;color:var(--color-text-secondary)}.about__chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.about__chip{background:var(--color-white);border:1px solid var(--color-primary-pale);color:var(--color-primary);border-radius:20px;padding:6px 16px;font-size:13px;font-weight:500}.about__stats{display:flex;gap:var(--space-lg)}.about__stat-number{font-family:var(--font-heading);font-size:36px;font-weight:800;color:var(--color-primary);display:block}.about__stat-label{font-size:14px;color:var(--color-text-muted)}.testimonials{padding:var(--space-xl)0;background:var(--color-bg)}.testimonials .eyebrow{display:block}.testimonials__carousel{position:relative}.testimonials__viewport{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x mandatory}.testimonials__viewport::-webkit-scrollbar{display:none}.testimonials__grid{display:flex;gap:var(--space-md);padding-bottom:var(--space-sm);transition:transform 500ms cubic-bezier(.4,0,.2,1)}.testimonial-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-card);min-width:280px;flex:0 0 85%;scroll-snap-align:center;display:flex;flex-direction:column}.testimonial-card__quote{flex:1}.testimonials__arrow{display:none}.testimonial-card__accent{height:3px;background:var(--color-primary);border-radius:2px;margin-bottom:var(--space-sm)}.testimonial-card__stars{color:var(--color-star);font-size:18px;letter-spacing:2px;margin-bottom:var(--space-xs)}.testimonial-card__quote{font-style:italic;color:var(--color-text-secondary);font-size:15px;line-height:1.7;text-align:justify;margin-bottom:var(--space-sm)}.testimonial-card__sep{height:1px;background:var(--color-border);margin-bottom:var(--space-sm)}.testimonial-card__author{display:flex;align-items:center;gap:var(--space-sm)}.testimonial-card__avatar{width:44px;height:44px;border-radius:50%;background:var(--color-primary-tint);color:var(--color-primary);font-family:var(--font-heading);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.form-group label,.testimonial-card__name{display:block;font-size:15px;color:var(--color-text-primary)}.faq__answer p,.testimonial-card__company{font-size:13px;color:var(--color-text-muted)}.testimonials__dots{display:flex;justify-content:center;gap:8px;margin-top:var(--space-md)}.testimonials__dot,.testimonials__dot::after{border-radius:50%;transition:background-color 200ms ease}.testimonials__dot{width:44px;height:44px;background:0 0;position:relative}.testimonials__dot::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--color-primary-pale)}.testimonials__dot.active::after{background:var(--color-primary)}.process{padding:var(--space-xl)0;background:var(--color-bg)}.process .eyebrow,.process .section-title{text-align:center}.process .eyebrow{display:block}.process__steps{display:grid;grid-template-columns:1fr;gap:var(--space-lg);max-width:500px;margin:0 auto}.process__step{position:relative;text-align:center}.process__circle{width:52px;height:52px;background:var(--color-primary);color:var(--color-white);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:16px;margin-bottom:var(--space-sm)}.process__line{display:none}.process__title{font-family:var(--font-heading);font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.process__desc{font-size:14px;color:var(--color-text-muted);max-width:220px;margin:0 auto}.faq{padding:var(--space-xl)0;background:var(--color-bg-alt)}.faq .eyebrow,.faq .section-title{text-align:center}.faq .eyebrow{display:block}.faq__list{max-width:760px;margin:0 auto}.faq__item{border-bottom:1px solid var(--color-border);transition:border-color 200ms ease,padding-left 200ms ease}.faq__item.active{border-left:3px solid var(--color-primary);padding-left:var(--space-sm)}.faq__question{display:flex;justify-content:space-between;align-items:center;width:100%;padding:20px 0;font-family:var(--font-heading);font-size:16px;font-weight:600;color:var(--color-text-primary);text-align:left;transition:color 200ms ease}.faq__icon,.faq__item.active .faq__question{color:var(--color-primary)}.faq__icon{font-size:22px;line-height:1;transition:transform 300ms ease;flex-shrink:0;margin-left:var(--space-sm)}.faq__item.active .faq__icon{transform:rotate(45deg)}.faq__answer{max-height:0;overflow:hidden;transition:max-height 300ms ease}.faq__answer p{padding:0 0 20px;font-size:15px;text-align:justify;line-height:1.7}.final-cta{position:relative;background:var(--gradient-cta);padding:var(--space-2xl) var(--space-md);text-align:center;overflow:hidden}.final-cta__dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.final-cta__inner{position:relative;max-width:700px}.final-cta__title{font-size:36px;font-weight:800;color:var(--color-white);margin-bottom:var(--space-sm)}.final-cta__sub{font-size:16px;color:rgba(255,255,255,.85);margin-bottom:var(--space-md)}.contact{padding:var(--space-xl)0;background:var(--color-bg)}.contact .eyebrow,.contact .section-title{text-align:center}.contact .eyebrow{display:block}.contact__grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}.form-group{margin-bottom:var(--space-sm)}.form-group label{font-size:14px;font-weight:500;margin-bottom:6px}.form-group input,.form-group textarea{width:100%;background:var(--color-white);border:1.5px solid var(--color-border);border-radius:10px;padding:14px 16px;font-size:15px;color:var(--color-text-primary);transition:border-color 200ms ease,box-shadow 200ms ease}.form-group input:focus,.form-group textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(124,58,237,.12)}.form-group textarea{resize:vertical;min-height:120px}.form-group input.error,.form-group textarea.error{border-color:#ef4444}.form-error{display:block;font-size:13px;color:#ef4444;margin-top:4px;min-height:18px}.form-success{display:none;align-items:center;gap:var(--space-xs);margin-top:var(--space-sm);padding:var(--space-sm);background:#ecfdf5;border-radius:var(--radius-sm);color:var(--color-success);font-weight:500}.form-success.show{display:flex}.contact__info{display:flex;flex-direction:column;gap:var(--space-md)}.contact__info-item{align-items:flex-start}.contact__info-item strong,.contact__info-socials strong{display:block;font-size:14px;color:var(--color-text-primary)}.contact__info-item p{font-size:15px;color:var(--color-text-secondary)}.contact__info-socials strong{margin-bottom:var(--space-xs)}.contact__info-item,.contact__socials{display:flex;gap:var(--space-sm)}.contact__social{width:40px;height:40px;border-radius:50%;background:var(--color-primary-ghost);color:var(--color-primary);display:flex;align-items:center;justify-content:center;transition:background-color 200ms ease,color 200ms ease}.contact__social:hover{background:var(--color-primary);color:var(--color-white)}.footer{background:#1e1b4b;color:var(--color-primary-pale);padding:var(--space-xl)0 var(--space-md)}.footer__grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg);padding-bottom:var(--space-lg)}.footer__logo{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-sm)}.footer__logo span{font-family:var(--font-heading);font-weight:700;font-size:18px}.footer__desc,.footer__nav a{font-size:14px;color:rgba(221,214,254,.85)}.footer__desc{line-height:1.7;max-width:300px}.footer__contact strong,.footer__nav strong{display:block;color:var(--color-white);font-size:15px;margin-bottom:var(--space-sm)}.footer__nav li{margin-bottom:var(--space-xs)}.footer__nav a{transition:color 200ms ease}.footer__contact a:hover,.footer__logo span,.footer__nav a:hover,.footer__privacy:hover,.footer__socials a:hover{color:var(--color-white)}.footer__contact a,.footer__contact p{display:block;font-size:14px;color:rgba(221,214,254,.85);margin-bottom:4px;text-decoration:none}.footer__socials{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.footer__socials a{color:rgba(221,214,254,.5);transition:color 200ms ease}.footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:var(--space-md);text-align:center}.footer__bottom p,.footer__privacy{font-size:13px;color:rgba(221,214,254,.75)}.footer__privacy{display:inline-block;margin-top:8px;text-decoration:none;transition:color 200ms ease}@media (min-width:768px){.section-title{font-size:40px}.eyebrow{font-size:12px}.nav__cta,.nav__menu{display:block}.nav__hamburger{display:none}.hero__title{font-size:52px}.hero__subtitle{font-size:18px}.hero__stat-number,.hero__stat-suffix{font-size:42px}.projects__grid,.services__grid{grid-template-columns:repeat(2,1fr)}.about__grid{grid-template-columns:2fr 3fr}.about .eyebrow,.about .section-title{text-align:left}.testimonial-card{flex:0 0 45%}.process__steps{grid-template-columns:repeat(4,1fr);max-width:100%;gap:var(--space-sm)}.process__line{display:block;position:absolute;top:26px;left:calc(50% + 30px);width:calc(100% - 56px);height:2px;background:var(--color-primary-pale)}.process__step:last-child .process__line{display:none}.contact__grid{grid-template-columns:3fr 2fr}.footer__grid{grid-template-columns:2fr 1fr 1fr}.final-cta__title{font-size:44px}}@media (min-width:1024px){.section-title{font-size:48px}.about,.contact,.faq,.process,.projects,.services,.testimonials{padding:var(--space-2xl)0}.hero__inner{grid-template-columns:55% 45%}.hero__visual{display:flex;justify-content:flex-end}.hero__title{font-size:64px}.service-card__title{font-size:22px}.services__grid{grid-template-columns:repeat(2,1fr)}.projects__grid{grid-template-columns:repeat(3,1fr)}.testimonials__carousel{display:flex;align-items:center;gap:var(--space-md)}.testimonials__viewport{flex:1;overflow:hidden;min-width:0}.testimonials__grid{scroll-snap-type:none;padding-bottom:0}.testimonial-card{flex:0 0 calc((100% - var(--space-md)*2)/3);min-width:0;scroll-snap-align:none}.testimonials__arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--color-white);color:var(--color-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-card);cursor:pointer;flex-shrink:0;transition:background-color 200ms ease,color 200ms ease,transform 200ms ease,opacity 200ms ease}.testimonials__arrow:hover{background:var(--color-primary);color:var(--color-white);transform:scale(1.05)}.testimonials__arrow:disabled{opacity:.35;cursor:not-allowed;transform:none}.testimonials__dots{display:none}.final-cta__title{font-size:52px}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--color-white);border-top:1px solid var(--color-border);box-shadow:0-4px 24px rgba(0,0,0,.1);transform:translateY(110%);transition:transform 420ms cubic-bezier(.16,1,.3,1);padding:20px var(--space-sm, 16px)}.cookie-banner--visible{transform:translateY(0)}.cookie-banner__inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.cookie-banner__text{flex:1;font-size:14px;color:var(--color-text-secondary);line-height:1.65;min-width:220px}.cookie-banner__link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.cookie-banner__link:hover{color:var(--color-primary-dark)}.cookie-banner__actions{display:flex;gap:10px;flex-shrink:0}.cookie-banner__btn--accept,.cookie-banner__btn--reject{padding:10px 20px;font-size:14px;font-weight:600;font-family:var(--font-heading);border-radius:8px;cursor:pointer;white-space:nowrap}.cookie-banner__btn--reject{border:1.5px solid var(--color-border);background:0 0;color:var(--color-text-secondary);transition:border-color 200ms ease,color 200ms ease,background 200ms ease}.cookie-banner__btn--reject:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-ghost)}.cookie-banner__btn--accept{border:0;background:var(--color-primary);color:var(--color-white);transition:background 200ms ease,box-shadow 200ms ease}.cookie-banner__btn--accept:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-btn)}.skip-to-content{position:absolute;top:-100%;left:1rem;background:var(--color-primary);color:#fff;padding:.75rem 1.25rem;border-radius:4px;font-weight:600;text-decoration:none;z-index:9999;transition:top .2s}.skip-to-content:focus{top:1rem}
