body{margin:0}#root{width:100%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--bg-light:#111;--bg-card:#161616;--text:#999;--text-light:#666;--text-heading:#fff;--accent:#c8a96e;--accent-dark:#a8894e;--border:#222;--radius:4px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,sans-serif;line-height:1.7}.container{max-width:1200px;margin:0 auto;padding:0 24px}.center{text-align:center}.section{padding:120px 0}.section-tag{letter-spacing:4px;color:var(--accent);margin-bottom:16px;font-size:12px;font-weight:600}.section-title{color:var(--text-heading);margin-bottom:60px;font-family:Playfair Display,serif;font-size:48px}.section-subtitle{color:var(--text-light);max-width:600px;margin:-40px auto 60px}h2{color:var(--text-heading);margin-bottom:24px;font-family:Playfair Display,serif;font-size:48px;line-height:1.2}h3{color:var(--text-heading);margin-bottom:12px;font-family:Inter,sans-serif;font-size:20px;font-weight:600}h4{letter-spacing:2px;text-transform:uppercase;color:var(--text-heading);margin-bottom:16px;font-size:14px}p{margin-bottom:16px}a{color:var(--text);cursor:pointer;text-decoration:none;transition:color .3s}a:hover{color:var(--accent)}.btn-primary{background:var(--accent);color:#0a0a0a;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;padding:16px 40px;font-size:14px;font-weight:600;transition:all .3s;display:inline-block}.btn-primary:hover{background:var(--accent-dark)}.btn-outline{color:var(--text-heading);letter-spacing:1px;text-transform:uppercase;border:1px solid var(--border);cursor:pointer;background:0 0;padding:16px 40px;font-size:14px;font-weight:600;transition:all .3s;display:inline-block}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.full-width{width:100%}.nav{z-index:100;padding:24px 0;transition:all .3s;position:fixed;top:0;left:0;right:0}.nav-scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#0a0a0af2;padding:16px 0}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.nav-logo{cursor:pointer}.nav-logo-img{width:auto;height:120px}.nav-scrolled .nav-logo-img{height:80px}.nav-links{align-items:center;gap:36px;display:flex}.nav-links a{letter-spacing:1px;text-transform:uppercase;color:var(--text);font-size:13px;font-weight:500}.nav-links a:hover{color:var(--text-heading)}.nav-cta{border:1px solid var(--accent)!important;color:var(--accent)!important;padding:10px 24px!important}.nav-cta:hover{background:var(--accent)!important;color:#0a0a0a!important}.hamburger{cursor:pointer;background:0 0;border:none;width:30px;height:24px;display:none;position:relative}.hamburger span,.hamburger span:before,.hamburger span:after{background:var(--text-heading);width:30px;height:2px;transition:all .3s;display:block;position:absolute}.hamburger span{top:11px}.hamburger span:before{content:"";top:-8px}.hamburger span:after{content:"";top:8px}.hamburger span.open{background:0 0}.hamburger span.open:before{top:0;transform:rotate(45deg)}.hamburger span.open:after{top:0;transform:rotate(-45deg)}.hero{background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 50%,#0a0a0a 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-overlay{background:radial-gradient(at 30%,#c8a96e0f 0%,#0000 60%);position:absolute;inset:0}.hero-content{text-align:center;max-width:800px;padding:0 24px;position:relative}.hero h1{color:var(--text-heading);margin-bottom:16px;font-family:Playfair Display,serif;font-size:72px;line-height:1.1}.hero-location{letter-spacing:6px;color:var(--accent);margin-bottom:24px;font-size:13px;font-weight:500}.hero-sub{color:var(--text);max-width:560px;margin:0 auto 48px;font-size:18px;line-height:1.8}.hero-btns{justify-content:center;gap:16px;display:flex}.hero-scroll{cursor:pointer;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(to bottom, var(--accent), transparent);width:1px;height:60px;animation:2s infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3}50%{opacity:1}}.about{background:var(--bg)}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.about-text h2{margin-bottom:32px}.about-stats{border-top:1px solid var(--border);gap:40px;margin-top:40px;padding-top:40px;display:flex}.stat{flex-direction:column;display:flex}.stat-num{color:var(--accent);font-family:Playfair Display,serif;font-size:28px;font-weight:800}.stat-label{color:var(--text-light);letter-spacing:1px;font-size:13px}.about-img-placeholder{aspect-ratio:4/5;background:var(--bg-card);border:1px solid var(--border);justify-content:center;align-items:center;width:100%;display:flex}.about-img-placeholder span{color:var(--text-light);letter-spacing:2px;font-size:14px}.services{background:var(--bg-light)}.services-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.service-card{background:var(--bg-card);border:1px solid var(--border);padding:48px 36px;transition:all .4s}.service-card:hover{border-color:var(--accent);transform:translateY(-4px)}.service-num{color:var(--border);margin-bottom:24px;font-family:Playfair Display,serif;font-size:48px;font-weight:900;display:block}.service-card:hover .service-num{color:var(--accent)}.service-card h3{margin-bottom:16px;font-size:22px}.service-card p{color:var(--text-light);margin-bottom:0}.process{background:var(--bg)}.process-grid{grid-template-columns:repeat(4,1fr);gap:32px;display:grid}.process-step{text-align:center;padding:40px 24px;position:relative}.process-num{color:#c8a96e1a;margin-bottom:16px;font-family:Playfair Display,serif;font-size:64px;font-weight:900;line-height:1}.process-step h3{margin-bottom:12px}.process-step p{color:var(--text-light);margin-bottom:0;font-size:14px}.projects{background:var(--bg-light)}.projects-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.project-card{overflow:hidden}.project-placeholder{aspect-ratio:4/3;background:var(--bg-card);border:1px solid var(--border);justify-content:center;align-items:center;width:100%;margin-bottom:20px;transition:all .4s;display:flex}.project-card:hover .project-placeholder{border-color:var(--accent)}.project-placeholder span{color:var(--text-light);letter-spacing:2px;text-transform:uppercase;font-size:13px}.project-card h3{margin-bottom:4px;font-size:18px}.project-type{color:var(--accent);letter-spacing:1px;margin-bottom:0;font-size:13px}.cta-banner{text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(135deg,#1a1510 0%,#0a0a0a 100%);padding:100px 0}.cta-banner h2{margin-bottom:16px;font-size:56px}.cta-banner p{margin-bottom:40px;font-size:18px}.contact{background:var(--bg)}.contact-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid}.contact-info h2{margin-bottom:24px}.contact-details{flex-direction:column;gap:24px;margin-top:40px;display:flex}.contact-item{flex-direction:column;display:flex}.contact-label{letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-bottom:4px;font-size:12px}.contact-item a,.contact-item span{color:var(--text-heading);font-size:18px}.contact-form{flex-direction:column;gap:16px;display:flex}.contact-form input,.contact-form select,.contact-form textarea{background:var(--bg-card);border:1px solid var(--border);color:var(--text-heading);outline:none;padding:16px 20px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .3s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-light)}.contact-form select{appearance:none;cursor:pointer}.contact-form textarea{resize:vertical;min-height:120px}.form-success{border:1px solid var(--accent);color:var(--accent);text-align:center;background:#c8a96e1a;padding:16px;font-size:14px}.footer{background:var(--bg-light);border-top:1px solid var(--border);padding:80px 0 40px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px;display:grid}.footer-logo-img{width:auto;height:80px;margin-bottom:16px}.footer-brand p{color:var(--text-light);max-width:280px;font-size:14px}.footer-col{flex-direction:column;gap:10px;display:flex}.footer-col a,.footer-col span{color:var(--text-light);font-size:14px}.footer-col a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--border);padding-top:40px}.footer-bottom p{color:var(--text-light);margin-bottom:0;font-size:13px}@media (width<=1024px){.section{padding:80px 0}h2,.section-title{font-size:36px}.hero h1{font-size:48px}.services-grid,.process-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr);gap:40px}}@media (width<=768px){.nav-links{background:#0a0a0afa;flex-direction:column;justify-content:center;align-items:center;gap:32px;display:none;position:fixed;inset:0}.nav-links.open{display:flex}.nav-links a{font-size:18px}.hamburger{z-index:101;display:block}.hero h1{font-size:36px}.hero-sub{font-size:16px}.hero-btns{flex-direction:column;align-items:center}.about-grid{grid-template-columns:1fr;gap:40px}.about-image{order:-1}.about-stats{flex-wrap:wrap;gap:24px}.services-grid,.process-grid,.projects-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:40px}.footer-grid{grid-template-columns:1fr;gap:32px}.cta-banner h2{font-size:36px}.cta-banner{padding:60px 0}}.password-gate{background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.gate-logo{width:320px;max-width:80%;margin-bottom:2rem}.password-gate h2{color:#fff;margin-bottom:.5rem;font-family:Playfair Display,Georgia,serif;font-size:1.8rem}.password-gate>p{color:#999;margin-bottom:2rem;font-size:.95rem}.password-gate form{gap:.75rem;width:100%;max-width:400px;display:flex}.password-gate input{color:#fff;background:#1a1a1a;border:1px solid #333;border-radius:4px;outline:none;flex:1;padding:.85rem 1rem;font-size:1rem;transition:border .2s}.password-gate input:focus{border-color:#b8960c}.password-gate input.error{border-color:#c0392b;animation:.3s shake}.pass-error{color:#c0392b;margin-top:1rem;font-size:.9rem}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.service-img{border-radius:4px;width:100%;height:200px;margin-bottom:1rem;overflow:hidden}.service-img img{object-fit:cover;width:100%;height:100%}
