:root{--primary-color: #1a1a1a;--accent-color: #8c7851;--bg-color: #fdfdfd;--text-color: #333333;--text-light: #666666;--earth-light: #e5e0d8;--earth-dark: #4a443a;--transition: all .6s cubic-bezier(.16, 1, .3, 1);--container-width: 1200px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Outfit,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;overflow-x:hidden}.custom-cursor{width:20px;height:20px;background:var(--accent-color);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;mix-blend-mode:difference;transition:transform .2s ease;display:none}@media(pointer:fine){.custom-cursor{display:block}}h1,h2,h3{font-family:Playfair Display,serif;font-weight:400;color:var(--primary-color)}a{text-decoration:none;color:inherit;transition:var(--transition)}ul{list-style:none}.container{max-width:var(--container-width);margin:0 auto;padding:0 40px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.text-center{text-align:center}.section-tag{display:inline-block;text-transform:uppercase;letter-spacing:3px;font-size:.75rem;font-weight:600;color:var(--accent-color);margin-bottom:20px}.section-tag.light{color:var(--earth-light)}.navbar{position:fixed;top:0;width:100%;z-index:1000;padding:30px 0;transition:var(--transition);color:#fff}.navbar.scrolled{padding:15px 0;background:#fdfdfde6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px #0000000d;color:var(--primary-color)}.navbar .container{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:15px}.logo-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-svg{width:100%;height:100%;display:block;transition:var(--transition)}.logo-text{font-family:Playfair Display,serif;font-size:1.5rem;letter-spacing:2px;font-weight:600}nav ul{display:flex;gap:40px;align-items:center}nav ul li a{font-size:.9rem;letter-spacing:1px;text-transform:uppercase}nav ul li a:hover{color:var(--accent-color)}.navbar.scrolled .logo-svg{color:var(--primary-color)}.navbar.scrolled nav ul li a:hover{color:var(--accent-color)}.btn-contact{background:var(--primary-color);color:#fff!important;padding:12px 25px;border-radius:0;transition:var(--transition)}.btn-contact:hover{background:var(--accent-color)}.hero{height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;color:#fff}.hero-bg{position:absolute;top:0;left:0;width:100%;height:120%;background-size:cover;background-position:center;will-change:transform}.hero:hover .hero-bg{transform:scale(1.05)}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,#000000b3,#0003)}.hero-content{position:relative;z-index:10;max-width:800px}.hero-content h1{font-size:4rem;line-height:1.1;color:#fff;margin-bottom:25px}.hero-content p{font-size:1.25rem;letter-spacing:1px;opacity:.9}.scroll-indicator{position:absolute;bottom:50px;right:40px;display:none;flex-direction:column;align-items:center;gap:15px}.scroll-indicator span{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;writing-mode:vertical-lr}.scroll-indicator .line{width:1px;height:60px;background:#ffffff4d;position:relative;overflow:hidden}.scroll-indicator .line:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;animation:scroll-line 2s infinite ease-in-out}@keyframes scroll-line{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.about{padding:80px 0}.about-image img{width:100%;height:auto;filter:grayscale(10%);box-shadow:40px 40px 0 var(--earth-light)}.about-text h2{font-size:3rem;margin-bottom:30px;line-height:1.2}.about-text p{font-size:1.1rem;color:var(--text-light);max-width:500px}.philosophy{padding:160px 0;background:linear-gradient(135deg,var(--earth-dark) 0%,#2a2620 100%);color:#fff;position:relative;overflow:hidden;background-size:400% 400%;animation:gradientFlow 15s ease infinite}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.philosophy h2{color:#fff;font-size:3.5rem;max-width:900px;margin:0 auto 40px}.philosophy p{font-size:1.2rem;max-width:700px;margin:0 auto 80px;opacity:.8}.pattern-overlay{position:absolute;top:0;left:0;width:200%;height:200%;opacity:.08;background-repeat:repeat;background-size:200px;animation:patternMove 60s linear infinite;pointer-events:none}@keyframes patternMove{0%{transform:translate(0)}to{transform:translate(-50px,-50px)}}.philosophy-pillars{margin-top:40px}.pillar{padding:40px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);transition:var(--transition);position:relative;overflow:hidden}.pillar:before{content:"";position:absolute;top:0;left:0;width:2px;height:0;background:var(--accent-color);transition:var(--transition)}.pillar:hover{background:#ffffff12;transform:translateY(-10px);border-color:#ffffff1a}.pillar:hover:before{height:100%}.pillar h3{color:var(--earth-light);font-size:1.5rem;margin-bottom:15px;font-weight:600;transition:var(--transition)}.pillar:hover h3{color:#fff;letter-spacing:1px}.pillar p{font-size:1rem;opacity:.85;margin-bottom:0}.portfolio{padding:160px 0;background-color:#f9f9f9}.section-header{margin-bottom:80px}.section-header h2{font-size:3rem}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.gallery-item{position:relative;overflow:hidden;aspect-ratio:16/10;cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.16,1,.3,1)}.item-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#8c7851cc;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition);z-index:2}.item-overlay span{color:#fff;text-transform:uppercase;letter-spacing:3px;font-size:.9rem;border-bottom:1px solid white;padding-bottom:5px}.gallery-item:hover img{transform:scale(1.1)}.gallery-item:hover .item-overlay{opacity:1}footer{padding:100px 0 40px;background-color:var(--primary-color);color:#fff}.footer-grid{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:60px;margin-bottom:40px}.footer-info h3{color:#fff;font-size:2rem;margin-bottom:15px}.location{margin-top:20px;color:var(--accent-color);font-weight:600}.footer-social p{margin-bottom:25px;opacity:.6}.footer-social .contact-link{display:flex;align-items:center;gap:15px;font-size:1.1rem;color:var(--accent-color);margin-bottom:20px;font-weight:500;transition:var(--transition)}.footer-social .contact-link:hover{color:#fff;transform:translate(5px)}.footer-social .contact-link svg{width:24px;height:24px;fill:currentColor;flex-shrink:0}.footer-bottom{text-align:center;font-size:.8rem;opacity:.4}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:var(--transition)}.lightbox.active{opacity:1;pointer-events:all}.lightbox img{max-width:90%;max-height:80vh;box-shadow:0 0 50px #00000080;transform:scale(.9);transition:var(--transition)}.lightbox.active img{transform:scale(1)}.lightbox-close{position:absolute;top:40px;right:40px;color:#fff;font-size:1.5rem;cursor:pointer;letter-spacing:2px;text-transform:uppercase}.reveal{opacity:0;transform:translateY(30px);transition:all 1s cubic-bezier(.16,1,.3,1)}.reveal.active{opacity:1;transform:translateY(0)}.fade-in{opacity:0;animation:fadeIn 1.2s forwards cubic-bezier(.16,1,.3,1)}.delay-1{animation-delay:.3s}.delay-2{animation-delay:.6s}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:992px){.grid-2,.grid-3{grid-template-columns:1fr;gap:40px}.hero-content h1{font-size:3rem}.philosophy h2{font-size:2.5rem}.about-image img{box-shadow:20px 20px 0 var(--earth-light)}}@media(max-width:768px){.navbar{padding:20px 0}nav{display:none}.container{padding:0 25px}.hero-content h1{font-size:2.5rem}.about,.philosophy,.portfolio{padding:100px 0}.gallery-grid{grid-template-columns:1fr}.scroll-indicator{display:flex;right:10px;left:auto}}
