*{box-sizing:border-box;margin:0;padding:0}:root{--primary: #C4A052;--dark: #1A1A1A;--text: #333;--light: #f5f5f5;--white: #fff}html{height:100%}body{font-family:Segoe UI,sans-serif;color:var(--text);background:var(--white);min-height:100%;display:flex;flex-direction:column}app-root{display:flex;flex-direction:column;flex:1}main{flex:1;min-height:70vh}a{text-decoration:none;color:inherit}.navbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;background:var(--white);color:var(--dark);position:sticky;top:0;z-index:100;box-shadow:0 2px 10px #00000014;border-bottom:2px solid var(--primary)}.navbar ul{list-style:none;display:flex;gap:2rem}.navbar ul a{color:var(--dark);font-weight:500;transition:color .2s}.navbar ul a:hover,.navbar ul a.active{color:var(--primary)}footer{background:var(--dark);color:#aaa;text-align:center;padding:2rem;margin-top:4rem}.btn{display:inline-block;padding:.75rem 1.75rem;background:var(--primary);color:var(--white);border-radius:4px;font-weight:600;border:2px solid var(--primary);cursor:pointer;transition:all .2s}.btn:hover{background:#a8893f}.btn-sm{padding:.4rem 1rem;font-size:.875rem;margin-top:.75rem}.btn-outline{background:transparent;color:var(--white)}.btn-outline:hover{background:var(--white);color:var(--dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.hero{background:linear-gradient(135deg,var(--dark) 0%,#111111 100%);color:var(--white);padding:6rem 2rem;text-align:center}.hero h1{font-size:2.5rem;margin-bottom:1rem}.hero p{font-size:1.2rem;margin-bottom:2rem;color:#ccc}.services{padding:4rem 2rem;text-align:center}.services h2{font-size:2rem;margin-bottom:2rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto}.card{background:var(--light);padding:2rem;border-radius:8px;border-left:4px solid var(--primary)}.card h3{margin-bottom:.75rem;font-size:1.25rem}.page-header{background:var(--dark);color:var(--white);padding:3rem 2rem;text-align:center}.page-header h1{font-size:2.25rem;margin-bottom:.5rem}.page-header p{color:#ccc}.projects-grid{padding:3rem 2rem;max-width:1200px;margin:0 auto;min-height:60vh}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.project-card{display:block;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px #0000001a;background:var(--white);cursor:pointer;transition:transform .2s,box-shadow .2s;color:inherit}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.project-card img{width:100%;height:200px;object-fit:cover}.project-card-body{padding:1.25rem}.project-card h3{margin:.5rem 0}.project-card p{color:#666;font-size:.95rem;margin-bottom:.5rem;white-space:pre-line}.project-card small{color:#999}.badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.badge-completed{background:#d4edda;color:#155724}.badge-in_progress{background:#fff3cd;color:#856404}.badge-planned{background:#cce5ff;color:#004085}.badge-sold{background:#e2d9f3;color:#4a1d96}.badge-for_sale{background:#fde8d8;color:#92400e}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:600px 100%;animation:shimmer 1.5s infinite linear;border-radius:4px}.loading,.error,.empty{text-align:center;padding:3rem;color:#666}.error{color:#dc3545}.about-content{max-width:1000px;margin:3rem auto;padding:0 2rem}.about-content h2{margin:1.5rem 0 .75rem}.about-content ul{padding-left:1.25rem;line-height:2}.contact-section{max-width:900px;margin:3rem auto;padding:0 2rem;display:grid;grid-template-columns:2fr 1fr;gap:3rem}.contact-form .form-group{margin-bottom:1.25rem}.contact-form .form-group label{display:block;font-weight:600;margin-bottom:.4rem}.contact-form .form-group input,.contact-form .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{outline:none;border-color:var(--primary)}.success-msg{color:green;margin-top:1rem}.error-msg{color:#dc3545;margin-top:1rem}.contact-info h3{margin-bottom:1rem}.contact-info p{margin-bottom:.75rem;color:#555}@media(max-width:768px){.contact-section{grid-template-columns:1fr}.hero h1{font-size:1.75rem}.navbar ul{gap:1rem}}
