:root{--color-primary: #1a1a1a;--color-secondary: #f8f9fa;--color-accent: #d4af37;--color-text: #333333;--color-text-light: #666666;--color-text-lighter: #999999;--color-white: #ffffff;--color-border: #e5e5e5;--color-shadow: rgba(0, 0, 0, .1);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Playfair Display", Georgia, serif;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--container-max: 1400px;--header-height: 100px;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s ease;--transition-slow: all .6s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;scroll-padding-top:var(--header-height);height:-webkit-fill-available}a,button{transition:all .2s ease;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-primary);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-white);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block;filter:saturate(.75);content-visibility:auto}.logo,.footer-logo{height:auto;width:auto;max-height:100%}video{filter:saturate(.75)}@media (hover: none) and (pointer: coarse){.hero-image-container:hover{transform:none;-webkit-transform:none}.gallery-grid,.projects-grid,.services-grid{-webkit-overflow-scrolling:touch}}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);z-index:1000;transition:var(--transition);padding-top:12px}.nav-container{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg)}.logo{height:64px;width:auto;object-fit:contain}.nav-menu{display:flex;list-style:none;align-items:center;gap:var(--space-xl)}.nav-social{display:flex;align-items:center;gap:var(--space-md)}.nav-social .social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--color-text);transition:var(--transition);text-decoration:none}.nav-social .social-link:hover{background-color:var(--color-light);color:var(--color-primary);transform:translateY(-2px)}.nav-link{text-decoration:none;color:var(--color-text);font-weight:500;font-size:.95rem;transition:var(--transition-fast);position:relative}.nav-link:hover{color:var(--color-accent)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-accent);transition:var(--transition)}.nav-link:hover:after{width:100%}.nav-toggle{display:none;flex-direction:column;cursor:pointer;gap:4px;padding:8px;z-index:1001}.nav-toggle span{width:25px;height:2px;background:var(--color-primary);transition:var(--transition);transform-origin:center}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media (max-width: 768px){.nav-menu{position:fixed;top:80px;left:0;right:0;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;padding:var(--space-lg);transform:translateY(-120%);opacity:0;transition:transform .3s ease,opacity .3s ease;box-shadow:0 5px 20px #0000001a;z-index:999;display:flex;gap:var(--space-md)}.nav-menu.active{transform:translateY(0);opacity:1}.nav-menu .nav-link{font-size:1.1rem;padding:var(--space-sm) 0}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding-top:var(--header-height);background:linear-gradient(135deg,#f8f9fa,#e9ecef);overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(212,175,55,.05) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(26,26,26,.03) 0%,transparent 50%);pointer-events:none}.hero-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-lg);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;margin-bottom:var(--space-md)}.hero-title-main{display:block;color:var(--color-primary);font-weight:600}.hero-title-sub{display:block;color:var(--color-text-light);font-weight:400;font-size:.8em;margin-top:var(--space-xs)}.hero-description{font-size:1.2rem;color:var(--color-text-light);line-height:1.7;margin-bottom:var(--space-xl);max-width:500px}.hero-actions{display:flex;gap:var(--space-md);align-items:center}.btn{display:inline-flex;align-items:center;padding:1rem 2rem;font-size:1rem;font-weight:500;text-decoration:none;border-radius:0;transition:var(--transition);cursor:pointer;border:2px solid transparent;font-family:var(--font-primary)}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:var(--color-accent);transform:translateY(-2px);box-shadow:0 10px 30px #d4af374d}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--color-white)}.btn-full{width:100%;justify-content:center}.hero-image-container{position:relative;height:650px;border-radius:0;overflow:hidden;will-change:opacity,transform;transform:perspective(1000px) rotateY(-5deg) rotateX(2deg);transition:transform .6s cubic-bezier(.4,0,.2,1);box-shadow:0 20px 60px #00000026;-webkit-transform:perspective(1000px) rotateY(-5deg) rotateX(2deg);-webkit-backface-visibility:hidden;backface-visibility:hidden}.hero-image-container.carousel-active{opacity:1;transition:opacity .6s ease-in-out,transform .6s cubic-bezier(.4,0,.2,1)}.hero-image-container.carousel-active.fading{opacity:0}.hero-image-container:hover{transform:perspective(1000px) rotateY(-2deg) rotateX(1deg);-webkit-transform:perspective(1000px) rotateY(-2deg) rotateX(1deg)}.hero-img{width:100%;height:100%;object-fit:cover;object-position:center center;border-radius:0;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.projects-intro{padding:0}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}@media (max-width: 1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}}.project-item{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;cursor:pointer;transition:var(--transition);box-shadow:0 4px 15px #00000014}.project-item:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #00000026;z-index:10}.project-item img{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.project-item:hover img{transform:scale(1.05)}.project-item:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,#d4af371a,#1a1a1a1a);opacity:0;transition:var(--transition)}.project-item:hover:after{opacity:1}.projects{padding:var(--space-3xl) 0;background:var(--color-white)}.section-header{text-align:center;margin-bottom:var(--space-3xl);max-width:600px;margin-left:auto;margin-right:auto}.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--color-primary);margin-bottom:var(--space-md)}.section-description{font-size:1.1rem;color:var(--color-text-light);line-height:1.6}.projects-featured{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-xl)}.project-card{position:relative;overflow:hidden;cursor:pointer;transition:var(--transition);background:var(--color-white);border-radius:0}.project-card-large{height:500px}.projects-secondary{display:flex;flex-direction:column;gap:var(--space-xl)}.projects-secondary .project-card{height:235px;flex:1}.project-card:hover{transform:translateY(-5px);box-shadow:0 20px 60px #0000001a}.project-image{width:100%;height:100%;position:relative;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:var(--transition-slow)}.project-image video{width:100%;height:100%;object-fit:contain;background-color:var(--color-dark);transition:var(--transition-slow)}.project-card:hover .project-image img{transform:scale(1.05)}.project-card:hover .project-image video{transform:scale(1.02)}.project-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:var(--space-xl);transform:translateY(10px);opacity:0;transition:var(--transition)}.project-card:hover .project-overlay{transform:translateY(0);opacity:1}.project-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-white);margin-bottom:var(--space-xs)}.project-category{color:var(--color-accent);font-weight:500;text-transform:uppercase;font-size:.9rem;letter-spacing:.5px;margin-bottom:var(--space-xs)}.project-description{color:#ffffffe6;font-size:.95rem;line-height:1.5}.about{padding:var(--space-3xl) 0;background:var(--color-secondary)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}.about-description{margin-bottom:var(--space-xl)}.about-description p{font-size:1.1rem;color:var(--color-text-light);line-height:1.7;margin-bottom:var(--space-md)}.about-stats{display:flex;gap:var(--space-xl);margin-top:var(--space-xl)}.stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-lg);background:#fff9;border-radius:12px;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);flex:1}.stat:hover{transform:translateY(-5px);background:#fffc;box-shadow:0 10px 30px #0000001a}.stat-number{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--color-accent);line-height:1;margin-bottom:var(--space-xs)}.stat-label{color:var(--color-text-light);font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.about-image{border-radius:0;overflow:hidden;height:600px;display:flex;align-items:center;justify-content:center;background-color:var(--color-light)}.about-image img{width:100%;height:100%;object-fit:contain;filter:grayscale(100%) saturate(.75)}.services{padding:var(--space-3xl) 0;background:var(--color-white)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);max-width:1200px;margin:0 auto}@media (max-width: 1024px){.services-grid{grid-template-columns:repeat(2,1fr);max-width:none}}@media (max-width: 768px){.services-grid{grid-template-columns:1fr;max-width:none}}.service-card{text-align:center;padding:var(--space-xl);background:var(--color-white);border-radius:0;transition:var(--transition);border:1px solid var(--color-border)}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 60px #0000001a;border-color:var(--color-accent)}.service-icon{width:60px;height:60px;margin:0 auto var(--space-md);color:var(--color-accent);display:flex;align-items:center;justify-content:center}.service-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-primary);margin-bottom:var(--space-sm)}.service-description{color:var(--color-text-light);line-height:1.6;margin-bottom:var(--space-md)}.service-details{margin-top:var(--space-md);text-align:left}.service-details ul{list-style:none;padding:0;margin:0}.service-details li{color:var(--color-text-light);font-size:.9rem;line-height:1.5;margin-bottom:var(--space-xs);padding-left:var(--space-md);position:relative}.service-details li:before{content:"•";color:var(--color-accent);position:absolute;left:0;font-weight:700}.service-details strong{color:var(--color-text);font-weight:600}.service-contact{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border);text-align:left}.service-contact p{color:var(--color-text-light);font-size:.9rem;line-height:1.5}.service-contact strong{color:var(--color-text);font-weight:600}.contact{padding:var(--space-3xl) 0;background:var(--color-secondary)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:start}.contact-description{font-size:1.1rem;color:var(--color-text-light);line-height:1.7;margin-bottom:var(--space-xl)}.contact-details{display:flex;flex-direction:column;gap:var(--space-lg)}.contact-item{display:flex;gap:var(--space-md);align-items:flex-start}.contact-icon{width:24px;height:24px;color:var(--color-accent);flex-shrink:0;margin-top:2px}.contact-label{font-weight:600;color:var(--color-primary);display:block;margin-bottom:var(--space-xs);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.contact-value{color:var(--color-text-light);text-decoration:none;line-height:1.5}.contact-value:hover{color:var(--color-accent)}.form{background:var(--color-white);padding:var(--space-xl);border-radius:0;box-shadow:0 10px 40px #0000001a}.form-group{position:relative;margin-bottom:var(--space-md)}.form input,.form textarea{width:100%;padding:1rem;border:2px solid var(--color-border);border-radius:8px;font-family:var(--font-primary);font-size:1rem;transition:var(--transition);background:var(--color-white)}.form input:focus,.form textarea:focus,.form input.has-value,.form textarea.has-value{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #d4af371a}.form input.error,.form textarea.error{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.form textarea{resize:vertical;min-height:120px}.btn.loading{pointer-events:none;background:var(--color-text-lighter);cursor:not-allowed}.btn.success{background:#27ae60!important;color:#fff!important;border-color:#27ae60!important}.btn.success:hover{background:#27ae60!important}.footer{background:var(--color-primary);color:var(--color-white);padding:var(--space-md) 0 var(--space-xs)}.footer-content{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-md);align-items:start;margin-bottom:0}.footer-logo{height:64px;width:auto;margin-bottom:var(--space-sm);filter:brightness(0) invert(1)}.footer-description{color:var(--color-text-lighter);max-width:300px;margin-bottom:var(--space-xs);font-size:.9rem;line-height:1.4}.footer-social{display:flex;gap:var(--space-sm)}.social-link{color:var(--color-text-lighter);transition:var(--transition-fast)}.social-link:hover{color:var(--color-accent)}.footer-contact h4,.footer-links h4{color:var(--color-accent);margin-bottom:var(--space-sm);font-weight:600;font-size:.95rem}.footer-contact{display:grid;grid-template-columns:auto;gap:0}.footer-contact h4{grid-column:1 / -1}.footer-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm) var(--space-lg);grid-column:1 / -1}.footer-contact p{color:var(--color-text-lighter);line-height:1.4;margin-bottom:.25rem;font-size:.875rem}.footer-contact a{color:var(--color-text-lighter);text-decoration:none;transition:var(--transition-fast)}.footer-contact a:hover{color:var(--color-accent)}.contact-info-item{margin-bottom:.5rem}.contact-info-item:last-child{margin-bottom:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-xs);margin-top:var(--space-sm);text-align:center}.footer-bottom p{color:var(--color-text-lighter);font-size:.85rem;margin:0}@media (max-width: 1024px){.hero-container,.about-content,.contact-content{grid-template-columns:1fr;gap:var(--space-xl)}.projects-featured{grid-template-columns:1fr}.projects-secondary{flex-direction:row}.projects-secondary .project-card{height:300px}.hero-image-container{height:450px;transform:perspective(800px) rotateY(-3deg) rotateX(1deg);-webkit-transform:perspective(800px) rotateY(-3deg) rotateX(1deg);box-shadow:0 15px 45px #0000001f}.hero-image-container:hover{transform:perspective(800px) rotateY(-1deg) rotateX(.5deg);-webkit-transform:perspective(800px) rotateY(-1deg) rotateX(.5deg)}.footer-content{grid-template-columns:1fr 1fr}.footer-contact-grid{grid-template-columns:1fr}}@media (max-width: 768px){.header{height:80px;padding-top:8px}.logo{height:52px}.nav-menu{position:fixed;top:80px;left:0;right:0;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;padding:var(--space-lg);transform:translateY(-120%);opacity:0;transition:transform .3s ease,opacity .3s ease;box-shadow:0 5px 20px #0000001a;z-index:999;display:flex;gap:var(--space-md)}.nav-menu.active{transform:translateY(0);opacity:1}.nav-social{display:none}.nav-toggle{display:flex}.hero{padding:var(--space-xl) 0 var(--space-lg) 0}.hero-image-container{height:350px;transform:none;-webkit-transform:none;box-shadow:0 10px 30px #0000001f;border-radius:8px;overflow:hidden}.hero-image-container:hover{transform:none;-webkit-transform:none}.hero-image-container.carousel-active{transition:opacity .5s ease-in-out}.hero-container{gap:var(--space-xl);text-align:center}.hero-content{order:2}.hero-image{order:1}.hero-description{font-size:1.1rem;max-width:100%}.hero-actions{flex-direction:column;align-items:stretch;max-width:300px;margin:0 auto}.about-stats{justify-content:space-around}.projects-secondary{flex-direction:column}.services-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;text-align:center}.footer-contact-grid{grid-template-columns:1fr}.footer-logo{height:52px}.container,.nav-container{padding:0 var(--space-md)}.section,.about,.services,.contact{padding:var(--space-2xl) 0}}@media (max-width: 480px){.hero{padding:var(--space-lg) 0}.hero-image-container{height:280px;border-radius:4px}.hero-title{font-size:1.8rem;line-height:1.2}.hero-description{font-size:1rem;line-height:1.6}.section-title{font-size:1.6rem}.container,.nav-container{padding:0 var(--space-sm)}.btn{padding:.8rem 1.5rem;font-size:.9rem}.hero-description{font-size:1rem}.about-stats{flex-direction:column;gap:var(--space-lg)}.contact-details{gap:var(--space-md)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-on-scroll{animation:fadeInUp .6s ease forwards}.loading{opacity:.7;pointer-events:none}*:focus{outline:2px solid var(--color-accent);outline-offset:2px}.quick-contact{background:var(--color-white);border-bottom:1px solid var(--color-border);padding:var(--space-md) 0;position:sticky;bottom:0;z-index:100;box-shadow:0 -2px 20px #0000001a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.contact-info-bar{display:flex;justify-content:center;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.contact-item{color:var(--color-text);font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:var(--space-xs);transition:var(--transition);white-space:nowrap}.contact-item:hover{color:var(--color-accent)}.contact-item strong{font-weight:600;color:var(--color-text-light)}@media (max-width: 1024px){.quick-contact{padding:var(--space-sm) 0}.contact-info-bar{gap:var(--space-md)}.contact-item{font-size:.8rem}}@media (max-width: 768px){.quick-contact{position:relative;padding:var(--space-lg) 0;background:var(--color-light)}.contact-info-bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);text-align:center;max-width:400px;margin:0 auto}.contact-item{font-size:.8rem;flex-direction:column;gap:var(--space-xs);white-space:normal;line-height:1.3}.contact-item strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}}@media (max-width: 480px){.contact-info-bar{grid-template-columns:1fr;gap:var(--space-sm);max-width:280px}.contact-item{font-size:.75rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-image-container{transition:none}.hero-image-container.carousel-active{transition:opacity .1s ease-in-out}}@media print{.header,.nav-toggle,.quick-contact,.footer-social{display:none!important}body{font-size:12pt;color:#000;background:#fff}.hero{min-height:auto;padding:2cm 0}}.video-thumbnail-container{position:relative;width:100%;height:100%;cursor:pointer}.play-button-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#00000080;border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.video-thumbnail-container:hover .play-button-overlay{background:#000000b3}.play-button-overlay svg{width:32px;height:32px}
