:root{--color-primary:#80BF6F;--color-secondary:#A9D9D4;--color-accent:#80BF6F;--color-dark-background:#1E2615;--color-neutral-dark:#0C0D0A;--color-background:#FFFFFF;--color-neutral-light:#EAEAEA;--color-error:#D9695F;--font-body:'Libre Franklin',sans-serif;--font-headings:'Cuprum',sans-serif;--font-special:'Martel',serif;--font-size-sm:0.875rem;--font-size-base:1.125rem;--font-size-md:1.25rem;--font-size-lg:1.5rem;--font-size-xl:2.25rem;--font-size-xxl:3rem;--line-height-base:1.75rem;--line-height-headings:1.2;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:4rem;--border-radius:4px;--transition-speed:0.3s;--container-width:1140px;--shadow-sm:0 4px 15px rgba(0,0,0,0.05),0 1px 3px rgba(0,0,0,0.04)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-neutral-dark);background-color:var(--color-background);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-headings);font-weight:700;line-height:var(--line-height-headings);margin-bottom:var(--space-md);margin-top:var(--space-lg)}h1{font-size:var(--font-size-xxl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{max-width:75ch;font-weight:300}a{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color var(--transition-speed) ease}a:hover,a:focus{color:var(--color-neutral-dark);text-decoration:underline}a:visited{color:#555}a:visited:hover{color:var(--color-primary)}.project-card__summary,.service-card__description,.sidebar-box p{font-weight:400}.section-subtitle{margin-top:calc(-1 * var(--space-md));margin-bottom:var(--space-lg);max-width:65ch;margin-left:auto;margin-right:auto;opacity:0.8}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);font-family:var(--font-headings);font-size:var(--font-size-base);font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:1px;border-radius:var(--border-radius);border:2px solid transparent;cursor:pointer;line-height:1.5;transition:all var(--transition-speed) ease}.btn--primary{background-color:var(--color-accent);color:var(--color-background)}.btn--primary:hover,.btn--primary:focus{background-color:var(--color-background);color:var(--color-accent);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 4px 6px rgba(0,0,0,0.07)}.btn--secondary{background-color:transparent;color:var(--color-neutral-dark);border-color:var(--color-neutral-light)}.btn--secondary:hover,.btn--secondary:focus{background-color:var(--color-neutral-dark);color:var(--color-background);border-color:var(--color-neutral-dark)}.btn--disabled,.btn--disabled:hover,.btn--disabled:focus{background-color:#E0E0E0;border-color:#E0E0E0;color:#999;opacity:0.7;cursor:not-allowed;transform:none;box-shadow:none}.container{width:100%;max-width:var(--container-width);margin-left:auto;margin-right:auto;padding-left:var(--space-md);padding-right:var(--space-md)}.text-center{text-align:center}.text-accent{color:var(--color-accent)}.site-header-material{position:sticky;top:0;width:100%;z-index:1000;padding:var(--space-sm) 0;background-color:var(--color-dark-background);box-shadow:0 2px 8px rgba(0,0,0,0.2)}.header-container{display:flex;justify-content:space-between;align-items:center}.site-logo img{height:32px;width:auto;display:block}.header-actions{display:flex;align-items:center;gap:var(--space-md)}.main-navigation-desktop .nav-menu{display:flex;align-items:center;gap:var(--space-lg);list-style:none}.main-navigation-desktop .nav-menu a{font-weight:500;font-size:1rem;color:var(--color-background);padding:var(--space-xs) 0;text-decoration:none;opacity:0.9}.main-navigation-desktop .nav-menu a:hover{color:var(--color-background);opacity:1}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;width:30px;height:24px;flex-direction:column;justify-content:space-between;z-index:2001}.mobile-menu-toggle .line{display:block;width:100%;height:3px;background-color:var(--color-background);transition:transform 0.3s ease,background-color 0.3s ease}.mobile-nav-drawer{position:fixed;top:0;left:0;width:300px;height:100%;background-color:var(--color-background);z-index:2000;box-shadow:4px 0 15px rgba(0,0,0,0.1);transform:translateX(-105%);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1)}.mobile-nav-header{padding:var(--space-md);border-bottom:1px solid var(--color-neutral-light)}.mobile-nav-header img{height:28px;width:auto}.mobile-nav-menu{list-style:none;padding:var(--space-sm) 0}.mobile-nav-menu li a{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-size-base);font-weight:500;color:var(--color-neutral-dark);text-decoration:none;padding:var(--space-sm) var(--space-md)}.mobile-nav-menu li a:hover{background-color:rgba(0,0,0,0.04);text-decoration:none}.mobile-nav-menu svg{opacity:0.7}.scrim{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);z-index:1999;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease}.nav-is-open .mobile-nav-drawer{transform:translateX(0)}.nav-is-open .scrim{opacity:1;visibility:visible}.nav-is-open .mobile-menu-toggle .line{background-color:var(--color-neutral-dark)}.nav-is-open .mobile-menu-toggle .line:nth-child(1){transform:translateY(10px) rotate(45deg)}.nav-is-open .mobile-menu-toggle .line:nth-child(2){opacity:0}.nav-is-open .mobile-menu-toggle .line:nth-child(3){transform:translateY(-11px) rotate(-45deg)}.material-ripple{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background-color:rgba(255,255,255,0.3);transform:scale(0);animation:ripple-effect 0.6s linear}@keyframes ripple-effect{to{transform:scale(4);opacity:0}}.hero-section{display:flex;align-items:center;min-height:80vh;padding:var(--space-xl) 0}.hero-section h1{font-size:var(--font-size-xxl);max-width:25ch;margin:0 auto var(--space-md) auto}.hero-section .hero-subtitle{font-size:var(--font-size-md);max-width:65ch;margin:0 auto var(--space-lg) auto;opacity:0.9}.hero-section .hero-cta-buttons{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.availability-status{margin-top:var(--space-lg);font-size:0.9rem;opacity:0.8;display:inline-flex;align-items:center;gap:var(--space-xs);background-color:#f0f0f0;padding:var(--space-xs) var(--space-sm);border-radius:20px;border:1px solid #e0e0e0}.availability-dot{width:10px;height:10px;background-color:var(--color-primary);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(128,191,111,0.7)}70%{box-shadow:0 0 0 10px rgba(128,191,111,0)}100%{box-shadow:0 0 0 0 rgba(128,191,111,0)}}.philosophy-section{padding:var(--space-xl) 0;background-color:#FDFDFD;border-top:1px solid #EAEAEA;border-bottom:1px solid #EAEAEA}.philosophy-section .section-header{max-width:80ch;margin:0 auto var(--space-xl) auto}.philosophy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.philosophy-card{padding:var(--space-md);position:relative;border-left:3px solid var(--color-primary);background-color:var(--color-background);box-shadow:0 4px 20px rgba(0,0,0,0.03);border-radius:0 8px 8px 0}.philosophy-card__number{position:absolute;top:-0.2em;left:0.3em;font-size:4rem;font-weight:700;font-family:var(--font-headings);color:var(--color-primary);opacity:0.1;z-index:0;line-height:1}.philosophy-card__title{margin-top:0;margin-bottom:var(--space-sm);font-size:var(--font-size-lg);position:relative;z-index:1}.philosophy-card__description{margin-bottom:0;position:relative;z-index:1}.projects-section-modern{padding:var(--space-xl) 0;background-color:#F8F9FA}.project-grid-modern{margin-top:var(--space-lg);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.project-card-modern{position:relative;display:block;overflow:hidden;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,0.05);aspect-ratio:4 / 3}.project-card-modern img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94)}.project-card-modern__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(12,13,10,0) 0%,rgba(12,13,10,0.85) 100%);opacity:0;transition:opacity 0.4s ease;display:flex;align-items:flex-end}.project-card-modern__content{padding:var(--space-md);color:var(--color-background);transform:translateY(20px);transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);display:flex;flex-direction:column;justify-content:flex-end;height:100%}.project-card-modern__title{flex-grow:1;display:flex;align-items:flex-end;color:var(--color-background);margin:0 0 var(--space-sm) 0;font-size:var(--font-size-lg)}.project-card-modern__tags{margin-bottom:var(--space-md);display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag{display:inline-block;padding:4px 10px;font-size:0.75rem;font-weight:500;color:var(--color-background);background-color:rgba(255,255,255,0.15);border-radius:15px;backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,0.2)}.project-card-modern__cta{display:inline-block;font-weight:600;color:var(--color-background);text-decoration:none;border-bottom:2px solid var(--color-primary);padding-bottom:4px}.project-card-modern:hover .project-card-modern__overlay{opacity:1}.project-card-modern:hover .project-card-modern__content{transform:translateY(0)}.project-card-modern:hover img{transform:scale(1.05)}.testimonials-section{padding:var(--space-xl) 0;background-color:#FDFDFD}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-lg);margin-top:var(--space-lg)}.testimonial-card-md3{background-color:var(--color-background);padding:var(--space-lg);border-radius:16px;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.07)}.testimonial-card-md3>*{position:relative;z-index:1}.testimonial-card__icon{color:var(--color-primary);opacity:0.2;margin-bottom:var(--space-sm);line-height:1}.testimonial-card__text{font-family:var(--font-body);font-size:1.1rem;font-style:italic;font-weight:300;line-height:1.7;flex-grow:1;margin:0 0 var(--space-lg) 0}.testimonial-card__author{display:flex;align-items:center;gap:var(--space-sm);margin-top:auto}.testimonial-card__author img{width:50px;height:50px;border-radius:50%;object-fit:cover}.author__info{display:flex;flex-direction:column}.author__name{font-weight:700;font-style:normal;color:var(--color-neutral-dark)}.author__title{font-size:0.9rem;opacity:0.8;font-style:normal}.contact-section-form{padding:var(--space-xl) 0;background-color:var(--color-dark-background);color:var(--color-background)}.form-container{max-width:768px;margin:0 auto;background-color:var(--color-background);color:var(--color-neutral-dark);padding:var(--space-xl);border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,0.2)}.form-header{text-align:center;margin-bottom:var(--space-lg)}.form-header h2{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.form-group{display:flex;flex-direction:column}.form-group--full{grid-column:1 / -1}.form-group label{font-weight:500;margin-bottom:var(--space-xs)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-sm);border:1px solid #E0E0E0;border-radius:var(--border-radius);font-family:var(--font-body);font-size:1rem;font-weight:300;background-color:#fdfdfd;transition:border-color 0.3s ease,box-shadow 0.3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(128,191,111,0.2)}.case-study-hero{background-color:var(--color-dark-background);color:var(--color-background);padding:var(--space-xl) var(--space-md);text-align:center}.case-study-hero__client{text-transform:uppercase;letter-spacing:1px;opacity:0.8;margin-bottom:var(--space-sm)}.case-study-hero__title{font-size:var(--font-size-xl);line-height:1.3;color:var(--color-background);max-width:30ch;margin:0 auto}.case-study-main{padding-bottom:var(--space-xl)}.section-overview,.section-process,.section-solution,.section-results{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.case-study-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-xl)}.case-study-article h2{margin-top:0;padding-bottom:var(--space-xs);border-bottom:2px solid var(--color-neutral-light);margin-bottom:var(--space-md)}.case-study-article h2:not(:first-child){margin-top:var(--space-xl)}.case-study-sidebar .sidebar-box{position:sticky;top:120px;background-color:#F8F9FA;padding:var(--space-md);border-radius:8px}.sidebar-box h3{margin-top:0;border-bottom:2px solid var(--color-neutral-light);padding-bottom:var(--space-xs)}.section-process{border-top:1px solid var(--color-neutral-light);border-bottom:1px solid var(--color-neutral-light);background-color:#FDFDFD}.process-list{list-style:none;padding:0;margin-top:var(--space-lg);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.process-list li{padding:var(--space-md)}.process-list span{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary);opacity:0.5}.process-list h3{margin-top:var(--space-xs);margin-bottom:var(--space-xs);font-size:var(--font-size-lg)}.section-solution{background-color:#F8F9FA;border-top:1px solid var(--color-neutral-light);border-bottom:1px solid var(--color-neutral-light)}.visual-showcase{margin-top:var(--space-xl);margin-bottom:var(--space-xl)}.visual-showcase__caption{max-width:65ch;margin:var(--space-md) auto 0 auto;text-align:center}.visual-showcase__caption h3{margin-top:0}.device-mockup{border-radius:12px;background-color:var(--color-background);box-shadow:0 10px 30px rgba(0,0,0,0.07);border:1px solid #E0E0E0}.device-mockup__header{padding:var(--space-xs);background-color:var(--color-neutral-light);border-bottom:1px solid #D1D1D1;border-top-left-radius:11px;border-top-right-radius:11px}.device-mockup__header .dot{display:inline-block;width:12px;height:12px;border-radius:50%;background-color:#D9D9D9;margin-right:6px}.device-mockup__header .dot:first-child{background-color:#FF5F56}.device-mockup__header .dot:nth-child(2){background-color:#FFBD2E}.device-mockup__header .dot:nth-child(3){background-color:#27C93F}.device-mockup__screen{height:500px;overflow-y:scroll;scrollbar-width:thin;scrollbar-color:var(--color-neutral-light) transparent}.device-mockup__screen::-webkit-scrollbar{width:8px}.device-mockup__screen::-webkit-scrollbar-track{background:transparent}.device-mockup__screen::-webkit-scrollbar-thumb{background-color:#D1D1D1;border-radius:20px;border:3px solid var(--color-background)}.device-mockup__screen img{width:100%}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg);margin-top:var(--space-lg);text-align:center}.result-card h3{font-size:var(--font-size-xxl);color:var(--color-accent);margin-bottom:0}.result-card p{font-size:var(--font-size-md);margin-top:var(--space-xs);max-width:25ch;margin-left:auto;margin-right:auto}@media (min-width:992px){.results-grid--3-items{grid-template-columns:repeat(3,1fr)}}.final-cta{background-color:var(--color-dark-background);color:var(--color-background);padding:var(--space-xl) 0;text-align:center}.final-cta h2,.final-cta p{color:var(--color-background)}@media (max-width:992px){.main-navigation-desktop{display:none}.mobile-menu-toggle{display:flex}.case-study-layout,.about-grid{grid-template-columns:1fr}}@media (max-width:768px){.header-cta{display:none}.hero-section{min-height:70vh;text-align:left}.hero-section .container{text-align:left}.hero-section h1{font-size:var(--font-size-xl)}.hero-section .hero-cta-buttons{justify-content:flex-start}.about-content{text-align:center}.form-grid{grid-template-columns:1fr}}