:root{--color-primary: #1a1a1a;--color-secondary: #f4f4f0;--color-accent: #253b61;--color-accent-light: #4a6fa5;--color-text: #2c2c2c;--color-text-light: #666666;--color-white: #ffffff;--color-gold: #c5a059;--font-heading: "Cinzel", serif;--font-body: "Outfit", sans-serif;--spacing-container: 1280px;--spacing-section: 6rem}body{background-color:var(--color-secondary);color:var(--color-text);font-family:var(--font-body);margin:0;-webkit-font-smoothing:antialiased}html{scroll-behavior:smooth}a{text-decoration:none;color:inherit}.container{max-width:var(--spacing-container);margin:0 auto;padding:0 2rem}.section{padding:var(--spacing-section) 0}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;margin:0;line-height:1.2}img{max-width:100%;display:block}button{font-family:var(--font-body);border:none;cursor:pointer;background:none}.home{overflow-x:hidden;position:relative;width:100%}.hero{height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;background-color:#000;z-index:1}.hero:before{content:"";position:absolute;inset:-20px -20px -250px;background:url(/assets/hero-bg.png) center/cover no-repeat;filter:blur(12px) brightness(.7);z-index:-1;-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%);mask-image:linear-gradient(to bottom,black 60%,transparent 100%);pointer-events:none}.hero .container{position:relative;z-index:2}.hero-title{font-size:5.5rem;font-weight:400;margin-bottom:2rem;letter-spacing:-.02em;line-height:.9;color:#fff;opacity:0;animation:fadeUp 1s ease forwards .5s;text-shadow:0 10px 30px rgba(0,0,0,.3)}.hero-subtitle{font-family:var(--font-body);font-size:1.6rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:var(--color-gold);display:block;margin-top:1.5rem}.hero-description{font-size:1.2rem;color:#ffffffe6;line-height:1.6;opacity:0;animation:fadeUp 1s ease forwards .8s;max-width:800px;margin:0 auto}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:3rem 2rem}.project-card{display:block;opacity:0;animation:fadeUp 1s ease forwards}.project-card:nth-child(1){animation-delay:.2s}.project-card:nth-child(2){animation-delay:.3s}.project-card:nth-child(3){animation-delay:.4s}.project-card:nth-child(4){animation-delay:.5s}.project-card:nth-child(5){animation-delay:.6s}.project-image-wrapper{position:relative;overflow:hidden;margin-bottom:1.5rem;aspect-ratio:4/5}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,1,.3,1)}.project-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0003;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease}.view-project{color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;border:1px solid white;padding:.8rem 1.5rem;transform:translateY(20px);transition:transform .4s ease}.project-card:hover .project-image{transform:scale(1.05)}.project-card:hover .project-overlay{opacity:1}.project-card:hover .view-project{transform:translateY(0)}.project-info{text-align:left}.project-title{font-size:1.5rem;margin-bottom:.5rem;color:var(--color-primary)}.project-location{color:var(--color-text-light);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.section-short{padding:3rem 0}.contact{background-color:var(--color-secondary);border-top:1px solid rgba(0,0,0,.05)}.contact-compact-grid{display:flex;justify-content:center;gap:5rem;flex-wrap:wrap}.contact-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.contact-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);font-weight:600}.contact-link{font-size:1.25rem;color:var(--color-primary);font-weight:400;transition:color .3s}.contact-link:hover{color:var(--color-accent)}.contact-icon-wrapper{color:var(--color-accent);background-color:var(--color-secondary);width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%}.contact-details{text-align:left;display:flex;flex-direction:column}.contact-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:.2rem}.contact-value{font-size:1.1rem;font-weight:500;color:var(--color-primary)}.footer{text-align:center;border-top:1px solid #e0e0e0;margin-top:auto;padding:.5rem 0;color:var(--color-text-light);font-size:.8rem}.footer p{margin:0}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero-title{font-size:3rem}.catalog-grid{grid-template-columns:1fr}}.services{background:linear-gradient(to bottom,transparent 0%,var(--color-white) 30%);text-align:center;position:relative;z-index:2;padding-top:4rem}.services-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;max-width:1000px;margin:3rem auto 0}.service-item{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;transition:transform .3s ease}.service-item:hover{transform:translateY(-5px)}.service-icon-wrapper{color:var(--color-accent);background-color:var(--color-secondary);width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.service-item:hover .service-icon-wrapper{background-color:var(--color-accent);color:var(--color-white)}.service-name{font-size:.9rem;color:var(--color-text);text-transform:uppercase;letter-spacing:.1em;font-weight:500}.view-more-card{background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;transition:background-color .3s ease;text-decoration:none}.view-more-card:hover{background-color:var(--color-accent)}.view-more-content{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#fff}.view-more-text{font-size:1.5rem;text-transform:uppercase;letter-spacing:.1em;font-family:var(--font-heading)}.contact-icon-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.contact-icon-small{color:var(--color-accent)}.navbar{padding:1.5rem 0;position:absolute;top:0;width:100%;z-index:10}.navbar-container{display:flex;justify-content:space-between;align-items:center}.logo-img{height:120px;width:auto;display:block}.navbar-links{display:flex;gap:2rem}.navbar-links a{font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;font-weight:500;position:relative;transition:color .3s ease;color:var(--color-primary)}.navbar-links a:after{content:"";position:absolute;width:0;height:1px;bottom:-4px;left:0;background-color:var(--color-accent);transition:width .3s ease}.navbar-links a:hover{color:var(--color-accent)}.navbar-links a:hover:after{width:100%}.navbar-admin-btn{background:none;border:none;cursor:pointer;padding:0;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;font-weight:500;color:var(--color-primary);position:relative;font-family:inherit;transition:color .3s ease}.navbar-admin-btn:after{content:"";position:absolute;width:100%;height:2px;bottom:-4px;left:0;background-color:var(--color-accent);transform:scaleX(.5);transition:transform .3s ease}.navbar-admin-btn:hover{color:var(--color-accent)}.navbar-admin-btn:hover:after{transform:scaleX(1)}.project-detail{padding-bottom:4rem}.detail-hero-image{height:100vh;width:100%;overflow:hidden;position:relative}.detail-hero-image img{width:100%;height:100%;object-fit:cover;animation:scaleDown 1.5s cubic-bezier(.2,1,.3,1) forwards}@keyframes scaleDown{0%{transform:scale(1.1)}to{transform:scale(1)}}.detail-content-container{margin-top:-100px;background-color:var(--color-secondary);position:relative;z-index:2;padding:4rem;max-width:1100px;box-shadow:0 -20px 40px #0000000d}.back-link{display:inline-block;margin-bottom:2rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light);transition:color .3s ease}.back-link:hover{color:var(--color-primary)}.detail-header{margin-bottom:4rem;border-bottom:1px solid #e0e0e0;padding-bottom:2rem}.detail-title{font-size:4rem;color:var(--color-primary);margin-bottom:1rem}.detail-meta{font-family:var(--font-body);font-size:1.1rem;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.separator{margin:0 1rem;color:#ccc}.detail-body{display:grid;grid-template-columns:2fr 1fr;gap:4rem}.detail-description p{font-size:1.2rem;line-height:1.8;color:var(--color-text)}.section-label{font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:1.5rem;font-family:var(--font-body)}.spec-item{margin-bottom:2rem}.spec-item h3{font-family:var(--font-body);font-size:.9rem;text-transform:uppercase;color:var(--color-text-light);margin-bottom:.5rem}.spec-item p{font-size:1.1rem;color:var(--color-primary)}@media(max-width:768px){.detail-content-container{padding:2rem;margin-top:-50px}.detail-title{font-size:2.5rem}.detail-body{grid-template-columns:1fr;gap:2rem}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.admin-login-container{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-secondary)}.login-box{background:#fff;padding:3rem;box-shadow:0 10px 30px #0000001a;text-align:center}.login-box h2{margin-bottom:2rem;font-family:var(--font-heading)}.login-box input{display:block;margin:1rem 0;padding:.8rem;width:280px;border:1px solid #ddd;font-family:var(--font-body)}.login-box button{background-color:var(--color-primary);color:#fff;padding:.8rem 2rem;text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;width:100%;transition:background .3s}.login-box button:hover{background-color:var(--color-accent)}.caps-lock-warning{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#ff4d4d;font-size:.8rem;font-weight:600;margin-top:-.5rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em;animation:fadeIn .3s ease}.warning-dot{width:6px;height:6px;background-color:#ff4d4d;border-radius:50%;animation:pulse 1.5s infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}.admin-dashboard{background-color:#f4f4f7;min-height:100vh;padding-top:100px;padding-bottom:4rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4rem;border-bottom:1px solid #e0e0e0;padding-bottom:1.5rem}.header-actions{display:flex;gap:1.5rem}.add-btn{display:flex;align-items:center;gap:.6rem;background-color:var(--color-accent);color:#fff;border:none;padding:.8rem 1.5rem;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;transition:all .3s ease;box-shadow:0 4px 6px #b89e6b33}.add-btn:hover{background-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.save-btn{display:flex;align-items:center;background-color:var(--color-primary);color:#fff;border:none;padding:.8rem 2rem;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;transition:all .3s ease}.save-btn:hover{background-color:var(--color-accent);transform:translateY(-2px)}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.count{font-size:.9rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.1em}.projects-editor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.project-editor-card{background:#fff;padding:1.5rem;box-shadow:0 4px 15px #0000000d;border-radius:8px;display:flex;flex-direction:column;gap:1rem}.project-editor-header{display:flex;justify-content:space-between;align-items:center}.project-editor-header h3{font-size:1.1rem;margin:0}.delete-btn{color:#ff4d4d;padding:.5rem;transition:background .2s}.delete-btn:hover{background:#fff5f5;border-radius:4px}.project-preview-image{position:relative;width:100%;aspect-ratio:4/5;background:#eee;overflow:hidden;cursor:pointer;border-radius:4px}.project-preview-image img{width:100%;height:100%;object-fit:cover}.image-overlay{position:absolute;inset:0;background:#0006;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#fff;opacity:0;transition:opacity .3s}.project-preview-image:hover .image-overlay{opacity:1}.form-group{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);font-weight:600}.form-group input,.form-group textarea{width:100%;padding:.8rem 1rem;border:1px solid #e0e0e0;border-radius:4px;font-family:var(--font-body);font-size:.95rem;color:var(--color-primary);background-color:#fff;transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #b89e6b1a}.form-group textarea{min-height:120px;resize:vertical;line-height:1.6}.cropper-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.cropper-modal{background:#fff;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;border-radius:8px;overflow:hidden}.cropper-header{padding:1.5rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.close-btn{font-size:2rem;line-height:1}.cropper-body{flex:1;overflow-y:auto;padding:2rem;display:flex;justify-content:center;background:#fafafa}.upload-placeholder{text-align:center;padding:4rem;border:2px dashed #ddd;width:100%}.upload-btn{display:inline-block;background:var(--color-primary);color:#fff;padding:1rem 2rem;cursor:pointer;margin-bottom:1rem}.cropper-footer{padding:1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:1rem}.cancel-btn{padding:.8rem 1.5rem;color:var(--color-text-light)}.confirm-btn{background:var(--color-accent);color:#fff;padding:.8rem 2.5rem;font-weight:500}.crop-container img{max-height:50vh}.navbar-links a,.navbar-admin-btn{color:var(--color-primary);text-decoration:none;font-family:var(--font-body);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;transition:color .3s ease}.navbar-links a:hover,.navbar-admin-btn:hover{color:var(--color-accent)}
