:root{--clr-white:#f8f6f2;--clr-ivory:#f3efe8;--clr-charcoal:#1f1f1f;--clr-gold:#c6a46c;--clr-muted:#7a7875;--font-sans:"Inter", sans-serif;--font-serif:"Playfair Display", serif;--transition-smooth:cubic-bezier(.25, 1, .5, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--clr-white);color:var(--clr-charcoal);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:16px}body{line-height:1.625;overflow-x:hidden}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 2rem}.section-padding{padding:8rem 0}.bg-alt{background-color:var(--clr-ivory)}.italic-serif{font-family:var(--font-serif);font-style:italic;font-weight:400}.gold-dot{color:var(--clr-gold)}.subtitle{letter-spacing:.25em;text-transform:uppercase;color:var(--clr-gold);margin-bottom:1.25rem;font-size:.75rem;font-weight:500;display:inline-block}.section-title{font-family:var(--font-serif);letter-spacing:-.01em;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.2}.section-header{max-width:600px;margin-bottom:5rem}.grid-2{grid-template-columns:repeat(2,1fr);gap:4rem;display:grid}.btn{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.15em;transition:all .4s var(--transition-smooth);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:1.125rem 2.25rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--clr-charcoal);color:var(--clr-white);border:1px solid var(--clr-charcoal)}.btn-primary:hover{color:var(--clr-charcoal);background-color:#0000;transform:translateY(-2px)}.btn-secondary{color:var(--clr-charcoal);background-color:#0000;border:1px solid #1f1f1f33}.btn-secondary:hover{border-color:var(--clr-charcoal);background-color:#1f1f1f05}.btn-large{padding:1.25rem 3rem;font-size:.85rem}.navbar{z-index:1000;width:100%;transition:padding .4s var(--transition-smooth), background-color .4s var(--transition-smooth), border-bottom .4s var(--transition-smooth);padding:1.75rem 0;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);background-color:#f8f6f2f2;border-bottom:1px solid #1f1f1f0d;padding:1.1rem 0}.nav-container{justify-content:space-between;align-items:center;width:100%;max-width:1280px;margin:0 auto;padding:0 2rem;display:flex}.logo{font-family:var(--font-sans);letter-spacing:.3em;color:var(--clr-charcoal);font-size:1.125rem;font-weight:500;text-decoration:none;transition:opacity .3s}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-item{text-transform:uppercase;letter-spacing:.15em;color:var(--clr-charcoal);padding:.25rem 0;font-size:.8125rem;font-weight:400;text-decoration:none;transition:color .3s;position:relative}.nav-item:after{content:"";background-color:var(--clr-gold);transform-origin:100%;width:100%;height:1px;transition:transform .4s var(--transition-smooth);position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-item:hover:after{transform-origin:0;transform:scaleX(1)}.btn-nav{border:1px solid var(--clr-charcoal);border-radius:2px;padding:.8rem 1.8rem;transition:background-color .3s,color .3s}.btn-nav:hover{background-color:var(--clr-charcoal);color:var(--clr-white)}.btn-nav:after{display:none}.menu-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:6px;padding:.5rem;display:none}.menu-toggle .bar{background-color:var(--clr-charcoal);width:22px;height:1px;transition:transform .3s var(--transition-smooth), opacity .3s ease}.hero{align-items:center;min-height:100vh;padding-top:8rem;padding-bottom:4rem;display:flex}.hero-container{grid-template-columns:1.2fr .8fr;align-items:center;gap:4rem;display:grid}.hero-title{font-family:var(--font-serif);letter-spacing:-.02em;margin-bottom:2rem;font-size:clamp(2.75rem,6vw,4.75rem);font-weight:400;line-height:1.1}.hero-subtitle{color:var(--clr-muted);max-width:540px;margin-bottom:3.5rem;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:300}.hero-actions{gap:1.5rem;display:flex}.hero-visual{justify-content:center;align-items:center;width:100%;height:520px;display:flex;position:relative}.visual-bg{background-color:var(--clr-ivory);border:1px solid #c6a46c26;width:85%;height:90%;position:absolute;top:5%;left:5%}.visual-accent{border:1px solid var(--clr-charcoal);opacity:.08;width:70%;height:70%;position:absolute;top:20%;left:25%}.visual-text{font-family:var(--font-serif);color:#0000;-webkit-text-stroke:1px #1f1f1f0f;-webkit-user-select:none;user-select:none;z-index:2;font-size:clamp(4rem,8vw,6rem);transform:rotate(-90deg)}.about-text p{color:var(--clr-muted);margin-bottom:2rem;font-size:1.125rem;font-weight:300}.about-text p:last-child{margin-bottom:0}.services-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;display:grid}.service-card{background-color:var(--clr-white);transition:transform .4s var(--transition-smooth), border-color .4s var(--transition-smooth), box-shadow .4s var(--transition-smooth);border:1px solid #1f1f1f08;padding:3rem 2.5rem}.service-card:hover{border-color:#c6a46c4d;transform:translateY(-5px);box-shadow:0 20px 40px #1f1f1f05}.service-num{font-family:var(--font-serif);color:var(--clr-gold);margin-bottom:2rem;font-size:1.25rem;display:block}.service-name{font-family:var(--font-sans);letter-spacing:-.01em;margin-bottom:1rem;font-size:1.25rem;font-weight:500}.service-desc{color:var(--clr-muted);font-size:.9375rem;font-weight:300;line-height:1.6}.projects-container{flex-direction:column;gap:7rem;display:flex}.project-card{grid-template-columns:1.1fr .9fr;align-items:center;gap:4rem;display:grid}.project-card:nth-child(2n){direction:rtl}.project-card:nth-child(2n) .project-info{direction:ltr}.project-img-wrapper{width:100%;position:relative;overflow:hidden}.project-placeholder{width:100%;height:480px;transition:transform .7s var(--transition-smooth);justify-content:center;align-items:center;display:flex}.bg-p1{background:radial-gradient(circle at 30% 30%,#eae5dc 0%,#d8d2c4 100%)}.bg-p2{background:linear-gradient(135deg,#efece6 0%,#d3cbbf 100%)}.bg-p3{background:radial-gradient(circle at 70% 60%,#f1ede4 0%,#dbd4c7 100%)}.project-overlay-text{font-family:var(--font-serif);letter-spacing:.05em;color:#1f1f1f59;transition:transform .6s var(--transition-smooth), color .6s var(--transition-smooth);font-size:2.25rem;font-weight:400}.project-card:hover .project-placeholder{transform:scale(1.03)}.project-card:hover .project-overlay-text{color:var(--clr-charcoal);transform:scale(1.05)}.project-category{letter-spacing:.2em;color:var(--clr-gold);margin-bottom:1.25rem;font-size:.75rem;font-weight:500;display:inline-block}.project-title{font-family:var(--font-serif);color:var(--clr-charcoal);max-width:480px;font-size:1.75rem;font-weight:400;line-height:1.4}.process-timeline{grid-template-columns:repeat(4,1fr);gap:2.5rem;display:grid;position:relative}.process-step{position:relative}.process-meta{border-top:1px solid #1f1f1f1a;margin-bottom:1.25rem;padding-top:2rem}.process-num{font-family:var(--font-sans);color:var(--clr-gold);margin-bottom:1rem;font-size:.75rem;font-weight:500;display:block}.process-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:400}.process-desc{color:var(--clr-muted);font-size:.875rem;font-weight:300;line-height:1.6}.cta{background-color:var(--clr-ivory);text-align:center;border-top:1px solid #1f1f1f08}.cta-container{flex-direction:column;align-items:center;max-width:800px;display:flex}.cta-title{font-family:var(--font-serif);margin-bottom:3.5rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:400;line-height:1.15}.footer{background-color:var(--clr-charcoal);color:var(--clr-white);padding:6rem 0 3rem}.footer-grid{grid-template-columns:2fr repeat(3,1fr);gap:4rem;margin-bottom:5rem;display:grid}.footer-brand .logo{color:var(--clr-white);margin-bottom:1.5rem;display:inline-block}.footer-tagline{color:#f8f6f299;max-width:320px;font-size:.9375rem;font-weight:300}.footer-links-group h4{text-transform:uppercase;letter-spacing:.2em;color:var(--clr-gold);margin-bottom:1.75rem;font-size:.75rem;font-weight:500}.footer-links-group a,.footer-links-group .contact-info{color:#f8f6f2b3;margin-bottom:1rem;font-size:.875rem;font-weight:300;text-decoration:none;transition:color .3s;display:block}.footer-links-group a:hover{color:var(--clr-white)}.footer-links-group .contact-info{cursor:default;margin-bottom:.75rem}.footer-bottom{color:#f8f6f266;text-align:center;border-top:1px solid #f8f6f214;padding-top:2.5rem;font-size:.8125rem;font-weight:300}.cursor-ambient{pointer-events:none;z-index:9999;opacity:0;will-change:transform, opacity;background:radial-gradient(circle,#c6a46c21 0%,#c6a46c0a 45%,#0000 70%);border-radius:50%;width:420px;height:420px;transition:opacity .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-ambient.visible{opacity:1}.reveal{opacity:0;transition:opacity 1s var(--transition-smooth), transform 1s var(--transition-smooth);transform:translateY(30px)}.reveal.active{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.2s}.delay-2{transition-delay:.4s}@media (width<=1024px){.services-grid{grid-template-columns:repeat(2,1fr)}.process-timeline{grid-template-columns:repeat(2,1fr);gap:3.5rem}.hero-container{text-align:center;grid-template-columns:1fr;gap:3rem}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-visual{order:-1;height:380px}.project-card,.project-card:nth-child(2n){direction:ltr;grid-template-columns:1fr;gap:2rem}.project-card:nth-child(2n) .project-info{direction:ltr}.footer-grid{grid-template-columns:repeat(2,1fr);gap:3rem}}@media (width<=768px){.section-padding{padding:5rem 0}.grid-2{grid-template-columns:1fr;gap:2rem}.services-grid,.process-timeline{grid-template-columns:1fr}.menu-toggle{display:flex}.nav-links{background-color:var(--clr-white);width:80%;max-width:320px;height:100vh;transition:right .5s var(--transition-smooth);flex-direction:column;justify-content:center;align-items:flex-start;gap:2rem;padding:3rem;position:fixed;top:0;right:-100%;box-shadow:-10px 0 30px #1f1f1f0d}.nav-links.active{right:0}.menu-toggle.active .bar:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.active .bar:nth-child(2){transform:translateY(0)rotate(-45deg)}.footer-grid{grid-template-columns:1fr;gap:2.5rem}}
