@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.page-hero{position:relative;padding:var(--spacing-4xl)0 var(--spacing-3xl);margin-top:80px;background-color:var(--color-dark-bg);color:var(--color-white);text-align:center;min-height:400px;display:flex;align-items:center}.page-hero .hero-image{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.page-hero .hero-image img{width:100%;height:100%;object-fit:cover;opacity:.3}.page-hero .hero-content{position:relative;z-index:2}.page-title{font-size:clamp(var(--text-4xl),6vw,var(--text-6xl));font-weight:var(--weight-extrabold);margin-bottom:var(--spacing-md);letter-spacing:-.02em}.page-subtitle{font-size:var(--text-xl);font-weight:var(--weight-light);opacity:.9}.section-header{text-align:center;margin-bottom:var(--spacing-3xl)}.section-title{font-size:clamp(var(--text-3xl),5vw,var(--text-5xl));font-weight:var(--weight-bold);margin-bottom:var(--spacing-md);letter-spacing:-.01em;color:var(--color-dark)}.intro-section .lead,.section-subtitle,.service-content p{color:var(--color-gray);line-height:1.7}.section-subtitle{font-size:var(--text-lg);max-width:700px;margin:0 auto}.intro-section h2,.section-label{font-weight:var(--weight-semibold)}.section-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.intro-section{text-align:center;padding:var(--spacing-4xl)0}.intro-content{max-width:1248px;margin:0 auto}.intro-section h2{font-size:clamp(var(--text-3xl),4vw,var(--text-4xl));margin-bottom:var(--spacing-xl);line-height:1.3}.intro-section .lead{font-size:var(--text-xl);margin-bottom:var(--spacing-lg)}.services-list-section,.services-preview{padding:var(--spacing-4xl)0}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-2xl)}.service-card{background-color:var(--color-white);overflow:hidden;box-shadow:0 4px 30px rgba(0,0,0,.08);transition:transform var(--transition-normal),box-shadow var(--transition-normal);cursor:pointer}.service-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,.15)}.service-card:hover .service-image img{transform:scale(1.08)}.service-content{padding:var(--spacing-xl)}.read-more,.service-content h3{font-weight:var(--weight-semibold)}.service-content h3{font-size:var(--text-2xl);margin-bottom:var(--spacing-md);color:var(--color-dark)}.service-content p{margin-bottom:var(--spacing-lg)}.read-more{color:var(--color-primary);display:inline-flex;align-items:center;gap:var(--spacing-xs);transition:gap var(--transition-fast)}.read-more:hover{gap:var(--spacing-sm)}.service-item{display:grid;grid-template-columns:120px 1fr;gap:var(--spacing-xl);margin-bottom:var(--spacing-4xl);padding-bottom:var(--spacing-3xl);border-bottom:1px solid var(--color-light-gray)}.service-item:last-child{border-bottom:none}.service-number{font-size:var(--text-7xl);font-weight:var(--weight-extrabold);color:var(--color-accent);line-height:1}.service-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.assets-header h2,.service-details h3{font-size:var(--text-3xl);font-weight:var(--weight-bold)}.service-description{font-size:var(--text-lg);color:var(--color-gray);line-height:1.7}.assets-section{padding:var(--spacing-4xl)0;background-color:var(--color-beige)}.assets-header{text-align:center;margin-bottom:var(--spacing-3xl)}.assets-header h2{font-size:var(--text-5xl);color:var(--color-dark);text-transform:uppercase;letter-spacing:-.01em}.assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-3xl)}.asset-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-normal)}.asset-item:hover{transform:scale(1.03)}.asset-item img{width:100%;height:100%;object-fit:cover}.asset-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:var(--spacing-lg);color:var(--color-white)}.asset-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0}.team-section{padding:var(--spacing-4xl)0}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-2xl);margin-top:var(--spacing-3xl)}.team-member{text-align:center;transition:transform var(--transition-normal)}.team-member:hover{transform:translateY(-5px)}.team-photo{position:relative;border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--spacing-lg);aspect-ratio:3/4}.blog-card:hover .blog-image img,.portfolio-item:hover .portfolio-image img,.portfolio-navigation .related-portfolio-link:hover .related-portfolio-image img,.team-member:hover .team-photo img{transform:scale(1.05)}.team-info h3{font-size:var(--text-xl);margin-bottom:var(--spacing-xs);color:var(--color-dark)}.team-position{font-size:var(--text-base);color:var(--color-gray);margin-bottom:var(--spacing-md)}.team-info h3,.team-value{font-weight:var(--weight-semibold)}.team-value{font-size:var(--text-sm);color:var(--color-primary)}.value-label{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-xs)}.value-amount{font-size:var(--text-2xl);font-weight:var(--weight-bold)}.portfolio-grid-section{padding:var(--spacing-2xl)0}.portfolio-header{margin-bottom:var(--spacing-2xl)}.portfolio-page-title{font-family:var(--font-primary);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-dark);margin-bottom:var(--spacing-xl);max-width:800px;line-height:1.3}.portfolio-filters{display:flex;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--color-light-gray);padding-bottom:0}.portfolio-filters .list-filter{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.filter-btn,.form-group input,.form-group textarea{padding:var(--spacing-md)0;border:0;font-family:var(--font-primary);background-color:transparent}.filter-btn{cursor:pointer;font-size:20px;font-weight:500;color:#1f1f1f;transition:all var(--transition-fast);position:relative}.filter-btn.active,.filter-btn:hover{color:#10301c;border-bottom:1px solid #10301c;border-radius:0;font-weight:700}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);margin-top:var(--spacing-xl)}.portfolio-item{position:relative;overflow:hidden;display:flex;flex-direction:column;background-color:#ececec;border-radius:8px;padding:6px}.portfolio-image{width:100%;aspect-ratio:1/1;min-height:300px;overflow:hidden;background-color:var(--color-light-gray);display:block;text-decoration:none;border-radius:8px}.portfolio-image img,.portfolio-navigation .related-portfolio-image img,.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.portfolio-image img{cursor:pointer;border-radius:8px}.portfolio-video-wrapper{position:relative;width:100%;height:100%}.portfolio-image-small img,.portfolio-video-wrapper img{width:100%;height:100%;object-fit:cover}.portfolio-video-wrapper .play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);box-shadow:0 4px 15px rgba(0,0,0,.2)}.portfolio-video-wrapper .play-button svg{width:28px;height:28px;margin-left:4px;color:var(--color-primary, #10301c)}.portfolio-item:hover .portfolio-video-wrapper .play-button{transform:translate(-50%,-50%) scale(1.1);background:#fff}.portfolio-info{padding:2rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.portfolio-title-link{text-decoration:none;flex:1}.portfolio-title{font-family:var(--font-primary);font-size:20px;font-weight:var(--weight-medium);color:var(--color-dark);margin:0;transition:color var(--transition-fast)}.blog-title a:hover,.portfolio-title-link:hover .portfolio-title,.related-portfolio-link:hover .related-portfolio-title{color:var(--color-primary)}.portfolio-back-link,.portfolio-view-link{font-family:var(--font-primary);font-size:18px}.portfolio-view-link{color:#10301c;font-weight:400;text-decoration:underline;transition:color var(--transition-fast)}.portfolio-view-link:hover{color:var(--color-primary);text-decoration:none}.portfolio-back-link{display:inline-flex;align-items:center;color:#c7ab6c;text-decoration:none;margin-bottom:var(--spacing-lg);transition:opacity var(--transition-fast)}.portfolio-back-link:hover{opacity:.8}.portfolio-detail-title{font-size:64px;font-family:var(--font-primary);font-weight:var(--weight-semibold);color:var(--color-white);line-height:1.2;margin:0}.single-portfolio .portfolio-details{background-color:#171717;padding:var(--spacing-4xl)0}.portfolio-header-info{display:flex;justify-content:space-between;margin-bottom:var(--spacing-2xl);gap:var(--spacing-4xl)}.portfolio-excerpt{width:70%}.portfolio-excerpt p,.services-label h4{font-family:var(--font-primary);color:var(--color-white)}.portfolio-excerpt p{font-size:20px;line-height:1.6}.portfolio-services{gap:2rem;width:30%}.services-label h4{font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0;min-width:80px}.portfolio-services,.services-list{display:flex;flex-direction:column}.service-child-categories,.service-parent-categories{display:block}.service-child-tag,.service-parent-tag{display:inline-block;font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-white);opacity:.7;padding:0;margin-right:var(--spacing-sm);margin-bottom:var(--spacing-xs);background-color:transparent;border-radius:0;text-decoration:none;transition:opacity var(--transition-fast)}.service-child-tag:hover,.service-parent-tag:hover{opacity:1;text-decoration:none;color:#fff}.service-parent-tag{font-weight:var(--weight-semibold)}.service-child-tag{font-weight:var(--weight-normal)}.portfolio-main-content{max-width:100%}.portfolio-images{display:flex;flex-direction:column;gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl)}.portfolio-images-flex{display:flex;gap:var(--spacing-xl);width:100%}.portfolio-image-item{overflow:hidden;border-radius:var(--radius-md)}.portfolio-image-small{flex:1;height:380px}.portfolio-image-small img{display:block;object-position:center}.portfolio-image-large{width:100%}.portfolio-image-large img{width:100%;height:auto;display:block;object-fit:cover}.portfolio-text-content,.portfolio-text-content p{font-family:var(--font-primary);color:var(--color-white)}.portfolio-text-content{line-height:1.8}.portfolio-text-content h1,.portfolio-text-content h2,.portfolio-text-content h3,.portfolio-text-content h4{font-family:var(--font-heading);font-weight:500;color:var(--color-white);margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);font-size:48px}.portfolio-text-content p{margin-bottom:var(--spacing-md);font-size:20px}.portfolio-navigation{background-color:var(--color-white);padding:var(--spacing-3xl)0}.form-group label,.portfolio-navigation .up-next-title{font-family:var(--font-primary);font-size:20px;font-weight:var(--weight-medium);color:#10301c;margin-bottom:var(--spacing-xl)}.portfolio-navigation .related-portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.portfolio-navigation .related-portfolio-item{position:relative}.portfolio-navigation .related-portfolio-link{display:flex;gap:1rem;flex-direction:column;text-decoration:none;color:var(--color-dark)}.portfolio-navigation .related-portfolio-image{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.portfolio-navigation .related-portfolio-image img{object-position:center}.portfolio-category-label,.related-portfolio-title{font-family:var(--font-primary);font-weight:var(--weight-medium);color:var(--color-dark)}.portfolio-category-label{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background-color:var(--color-white);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--text-sm)}.related-portfolio-title{font-size:40px;margin:0;line-height:1.4;height:100px;transition:color var(--transition-fast)}.portfolio-results{margin-top:var(--spacing-xl);border-radius:var(--radius-md)}.portfolio-results .results-label{font-family:"Bricolage Grotesque",var(--font-primary);font-size:32.6px;font-weight:500;color:#fff;line-height:36.58px;letter-spacing:-.21px;margin:0 0 var(--spacing-lg)0}.portfolio-results .results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl, 2rem);width:100%}.portfolio-results .results-item{display:flex;flex-direction:column;gap:var(--spacing-md, 1rem)}.portfolio-results .results-description,.portfolio-results .results-value{font-family:"Bricolage Grotesque",var(--font-primary);font-size:80px;font-weight:500;color:#fff;line-height:1;letter-spacing:-1.78px}.portfolio-results .results-description{font-size:20px;font-weight:400;line-height:1.5;letter-spacing:-.31px}.portfolio-results .results-content{display:flex;align-items:center;gap:var(--spacing-xl);width:60%}.portfolio-results .results-percent,.portfolio-results .results-text{font-family:"Bricolage Grotesque",var(--font-primary);font-size:131.3px;font-weight:500;color:#fff;line-height:131.25px;letter-spacing:-1.78px}.portfolio-results .results-text{font-size:48px;line-height:51.01px;letter-spacing:-.31px}@media (max-width:1024px){.portfolio-results .results-grid{gap:var(--spacing-lg, 1.5rem)}.portfolio-results .results-value{font-size:64px}.portfolio-results .results-description{font-size:18px}}@media (max-width:768px){.portfolio-results .results-grid{grid-template-columns:1fr;gap:var(--spacing-xl, 2rem)}.portfolio-results .results-value{font-size:56px}.portfolio-results .results-description{font-size:16px}.portfolio-results .results-percent{font-size:80px;line-height:1}.portfolio-results .results-text{font-size:28px;line-height:1.2}.portfolio-results .results-content{width:100%;gap:var(--spacing-md)}}.portfolio-carousel-wrapper{margin:var(--spacing-3xl)0}.portfolio-carousel{position:relative;border-radius:var(--radius-md);overflow:hidden}.portfolio-carousel,.portfolio-carousel .swiper-slide{width:100%;height:616px}.portfolio-carousel .swiper-slide img{width:100%;height:616px;display:block;object-fit:cover;object-position:center;border-radius:var(--radius-md)}.portfolio-carousel .swiper-button-next,.portfolio-carousel .swiper-button-prev{color:var(--color-white);background-color:rgba(0,0,0,.5);width:50px;height:50px;border-radius:50%;transition:background-color var(--transition-fast)}.portfolio-carousel .swiper-button-next:hover,.portfolio-carousel .swiper-button-prev:hover{background-color:rgba(0,0,0,.8)}.portfolio-carousel .swiper-button-next:after,.portfolio-carousel .swiper-button-prev:after{font-size:18px;font-weight:700}.portfolio-carousel .swiper-pagination{bottom:20px}.portfolio-carousel .swiper-pagination-bullet{width:10px;height:10px;background-color:var(--color-white);opacity:.5;transition:opacity var(--transition-fast)}.portfolio-carousel .swiper-pagination-bullet-active{opacity:1;background-color:var(--color-primary)}@media (max-width:1024px){.portfolio-carousel,.portfolio-carousel .swiper-slide,.portfolio-carousel .swiper-slide img{height:450px}.portfolio-carousel .swiper-button-next,.portfolio-carousel .swiper-button-prev{width:40px;height:40px}.portfolio-carousel .swiper-button-next:after,.portfolio-carousel .swiper-button-prev:after{font-size:14px}}@media (max-width:768px){.portfolio-carousel-wrapper{margin:var(--spacing-xl)0}.portfolio-carousel,.portfolio-carousel .swiper-slide,.portfolio-carousel .swiper-slide img{height:300px}.portfolio-carousel .swiper-button-next,.portfolio-carousel .swiper-button-prev{width:36px;height:36px}.portfolio-carousel .swiper-button-next:after,.portfolio-carousel .swiper-button-prev:after{font-size:12px}.portfolio-carousel .swiper-pagination{bottom:10px}.portfolio-carousel .swiper-pagination-bullet{width:8px;height:8px}}@media (max-width:480px){.portfolio-carousel,.portfolio-carousel .swiper-slide,.portfolio-carousel .swiper-slide img{height:220px}.portfolio-carousel .swiper-button-next,.portfolio-carousel .swiper-button-prev{width:32px;height:32px}.portfolio-carousel .swiper-button-next:after,.portfolio-carousel .swiper-button-prev:after{font-size:10px}}.blog-posts{padding:var(--spacing-4xl)0}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:var(--spacing-2xl);margin-top:var(--spacing-3xl)}.blog-card{background-color:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 20px rgba(0,0,0,.06);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.blog-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.12)}.blog-image{position:relative;overflow:hidden;aspect-ratio:16/10}.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.blog-content{padding:var(--spacing-xl)}.blog-meta{font-size:var(--text-sm);color:var(--color-gray);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs)}.blog-category a,.blog-date{font-weight:var(--weight-medium)}.blog-separator{color:var(--color-light-gray)}.blog-category a{color:var(--color-primary)}.blog-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin-bottom:var(--spacing-md);line-height:1.3}.blog-title a{color:var(--color-dark)}.blog-excerpt{color:var(--color-gray);line-height:1.7;margin-bottom:var(--spacing-lg)}.partners-section{padding:var(--spacing-4xl)0;background-color:var(--color-lighter-gray)}.partners-grid,.partners-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-xl);margin-top:var(--spacing-3xl);align-items:center}.partner-logo{display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background-color:var(--color-white);border-radius:var(--radius-sm);transition:transform var(--transition-fast);min-height:100px}.partner-logo:hover{transform:scale(1.05)}.partner-logo img{max-width:140px;max-height:60px;width:auto;height:auto;filter:grayscale(100%);opacity:.6;transition:all var(--transition-fast)}.partner-logo:hover img{filter:grayscale(0%);opacity:1}.contact-form-section{padding:var(--spacing-4xl)0;background-color:var(--color-white)}.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-2xl)}.contact-intro-column{display:flex;flex-direction:column;gap:var(--spacing-3xl)}.contact-main-title{font-family:var(--font-primary);font-size:40px;font-weight:var(--weight-medium);color:#1f1f1f;line-height:1.3;margin:0}.contact-email-info{display:flex;gap:var(--spacing-sm)}.contact-email-link,.contact-label{font-family:var(--font-primary);font-size:28px;color:var(--color-dark)}.contact-label{margin:0}.contact-email-link{text-decoration:underline;transition:opacity var(--transition-fast)}.contact-email-link:hover,.contact-info-item.direction-link a:hover{opacity:.7}.contact-form-column{display:flex;flex-direction:column}.contact-form{gap:5px}.contact-form,.form-group{display:flex;flex-direction:column}.form-group label{font-size:18px;font-weight:var(--weight-normal);margin-bottom:var(--spacing-sm);color:#000}.form-group input,.form-group textarea{width:100%;border-bottom:1px solid #e0e0e0;border-radius:0;font-size:18px;color:#000;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:0;border-bottom-color:var(--color-dark)}.form-group textarea{min-height:80px;resize:vertical}.contact-submit{align-self:flex-end;padding:0;background-color:transparent;color:#10301c;border:0;text-decoration:underline;border-radius:var(--radius-sm);font-family:var(--font-primary);font-size:24px;cursor:pointer;transition:opacity var(--transition-fast)}.contact-submit:hover{opacity:.9}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-submit .btn-loading{display:inline-flex;align-items:center;justify-content:center}.contact-submit .spinner{animation:spin 1s linear infinite}.form-group.has-error input,.form-group.has-error textarea{border-bottom-color:#dc3545}.form-group .error-message{display:block;font-size:14px;color:#dc3545;margin-top:var(--spacing-xs);min-height:20px}.form-messages{margin-top:var(--spacing-md)}.form-message{padding:var(--spacing-md);border-radius:var(--radius-sm);font-size:16px;line-height:1.5}.form-message--success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.form-message--error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.map-contact-section{width:100%;background-color:var(--color-white);position:relative}.map-contact-wrapper{position:relative;width:100%;max-width:100%}.map-image-container{width:100%;height:600px}.map-image-container img,.map-image-link{width:100%;height:100%;display:block;object-fit:cover}.map-image-link{transition:opacity var(--transition-fast)}.map-image-link:hover{opacity:.9}.map-contact-info{position:absolute;top:60%;right:15vw;transform:translateY(-50%);display:flex;flex-direction:column;padding:var(--spacing-sm);background-color:var(--color-white);gap:var(--spacing-sm);max-width:500px;box-shadow:0 0 7.8px 0#00000040;z-index:5;border-radius:8px}.contact-info-logo{margin-bottom:0;padding-bottom:var(--spacing-sm);border-bottom:1px solid #e0e0e0}.contact-info-logo img{max-width:200px;height:auto;display:block}.contact-info-item{display:flex;align-items:center;gap:var(--spacing-lg)}.contact-info-icon{flex-shrink:0}.contact-info-icon svg{width:37px;height:37px}.contact-info-text{flex:1}.contact-info-text a,.contact-info-text p{font-family:var(--font-primary);color:var(--color-dark)}.contact-info-text p{font-size:20px;line-height:1.6;margin:0}.contact-info-text a{font-size:18px;text-decoration:none;transition:color var(--transition-fast)}.contact-info-text a:hover{color:#c7ab6c}.contact-info-item.direction-link a{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-primary);font-size:20px;font-weight:var(--weight-medium);color:#10301c;text-decoration:underline;transition:opacity var(--transition-fast);margin-left:4rem}.contact-info-item.direction-link svg{width:24px;height:24px}