*{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#1a1a1a;--color-secondary:#4a4a4a;--color-accent:#2c5f4f;--color-bg:#fff;--color-bg-alt:#f8f8f8;--color-border:#e0e0e0;--color-text:#1a1a1a;--color-text-light:#6a6a6a;--font-heading:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs:8px;--spacing-sm:16px;--spacing-md:24px;--spacing-lg:32px;--spacing-xl:48px;--spacing-2xl:64px}html,body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.6}a{color:inherit}button{font-family:inherit}.header{background:var(--color-primary);color:#fff;padding:var(--spacing-sm) 0;z-index:100;position:sticky;top:0;box-shadow:0 2px 8px #0000001a}.header-content{max-width:1400px;padding:0 var(--spacing-md);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header-title{letter-spacing:.5px;text-transform:uppercase;font-size:14px;font-weight:600}.header-cta{gap:var(--spacing-sm);display:flex}.btn-header{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:4px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-header:hover{background:#ffffff1a;border-color:#ffffff80}.btn-header.primary{color:var(--color-primary);background:#fff;border-color:#fff}.btn-header.primary:hover{background:#f0f0f0}.gallery-container{background:#000;position:relative;overflow:hidden}.gallery-grid{grid-template-rows:400px;grid-template-columns:2fr 1fr;gap:8px;max-width:1400px;margin:0 auto;padding:0;display:grid}.gallery-item{cursor:pointer;background:#f0f0f0;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.gallery-item.hero{grid-row:1/2}.gallery-right{grid-template-rows:1fr 1fr;gap:8px;display:grid}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.gallery-item:hover img{transform:scale(1.05)}.gallery-open{cursor:pointer;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;display:block}.gallery-floorplan-btn{z-index:5;color:#1a1a1a;cursor:pointer;background:#ffffffeb;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex;position:absolute;bottom:16px;right:16px;box-shadow:0 2px 10px #0000004d}.gallery-floorplan-btn:hover{background:#fff;transform:translateY(-1px)}.more-overlay{color:#fff;cursor:pointer;background:#0009;justify-content:center;align-items:center;font-size:48px;font-weight:600;transition:background .3s;display:flex;position:absolute;inset:0}.more-overlay:hover{background:#000000b3}.lightbox{z-index:1000;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-content{max-width:90%;max-height:90%;position:relative}.lightbox-image{object-fit:contain;max-width:100%;max-height:90vh}.lightbox-close{color:#fff;cursor:pointer;z-index:1001;background:#fff3;border:none;border-radius:50%;width:50px;height:50px;font-size:24px;transition:all .3s;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:#ffffff4d}.lightbox-arrow{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:28px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{background:#ffffff4d}.lightbox-arrow.prev{left:40px}.lightbox-arrow.next{right:40px}.lightbox-counter{color:#fff;background:#000000b3;border-radius:20px;padding:8px 16px;font-size:14px;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.container{max-width:1400px;padding:0 var(--spacing-md);margin:0 auto}.main-content{gap:var(--spacing-xl);padding:var(--spacing-xl) 0;grid-template-columns:1fr 400px;display:grid}.property-header{padding:var(--spacing-lg) 0;border-bottom:1px solid var(--color-border)}.property-type{color:var(--color-accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-xs);font-size:14px;font-weight:600}.property-title{font-family:var(--font-heading);margin-bottom:var(--spacing-sm);color:var(--color-primary);font-size:42px;font-weight:700;line-height:1.2}.property-address{color:var(--color-text-light);align-items:center;gap:8px;font-size:18px;display:flex}.key-details{gap:var(--spacing-md);padding:var(--spacing-lg) 0;border-bottom:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.detail-item{gap:var(--spacing-xs);flex-direction:column;display:flex}.detail-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-light);font-size:13px;font-weight:500}.detail-value{color:var(--color-primary);font-size:24px;font-weight:600}.listings-section{padding:var(--spacing-lg) 0}.section-title{font-family:var(--font-heading);margin-bottom:var(--spacing-md);color:var(--color-primary);font-size:32px;font-weight:700}.listing-card{background:var(--color-bg-alt);border:1px solid var(--color-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);border-radius:8px;transition:all .3s}.listing-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.listing-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;display:flex}.listing-name{color:var(--color-primary);margin-bottom:4px;font-size:20px;font-weight:600}.listing-size{color:var(--color-text-light);font-size:14px}.listing-price{text-align:right}.price-amount{color:var(--color-accent);font-size:28px;font-weight:700;line-height:1}.price-period{color:var(--color-text-light);text-transform:uppercase;font-size:13px}.listing-description{color:var(--color-secondary);margin-bottom:var(--spacing-md);line-height:1.7}.listing-footer{gap:var(--spacing-md);grid-template-columns:1fr auto;align-items:start;display:grid}.ideal-for{flex:1}.ideal-for-title{margin-bottom:var(--spacing-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary);font-size:14px;font-weight:600}.ideal-for-list{flex-wrap:wrap;gap:8px;display:flex}.ideal-tag{border:1px solid var(--color-border);color:var(--color-secondary);background:#fff;border-radius:20px;padding:6px 12px;font-size:13px}.listing-thumbnails{gap:6px;display:flex}.listing-thumbnail{cursor:pointer;border:2px solid var(--color-border);background:0 0;border-radius:6px;width:120px;height:90px;padding:0;transition:all .2s;position:relative;overflow:hidden}.listing-thumbnail:hover{border-color:var(--color-accent);transform:scale(1.02)}.listing-thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.thumbnail-overlay{color:#fff;text-shadow:0 2px 4px #00000080;background:#00000040;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex;position:absolute;inset:0}.features-section{padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border)}.features-grid{gap:var(--spacing-md);margin-top:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.feature-item{align-items:flex-start;gap:var(--spacing-sm);display:flex}.feature-icon{width:24px;height:24px;color:var(--color-accent);flex-shrink:0;margin-top:2px}.feature-text{color:var(--color-secondary);font-size:15px;line-height:1.6}.sidebar{height:fit-content;position:sticky;top:100px}.contact-card{background:var(--color-bg-alt);border:1px solid var(--color-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);border-radius:8px}.contact-title{margin-bottom:var(--spacing-md);color:var(--color-primary);font-size:18px;font-weight:600}.contact-info{margin-bottom:var(--spacing-lg)}.contact-agent{align-items:center;gap:16px;margin-bottom:16px;display:flex}.contact-agent img{object-fit:cover;border-radius:50%;width:80px;height:80px}.agent-name{margin-bottom:var(--spacing-xs);color:var(--color-primary);font-size:20px;font-weight:600}.contact-detail{align-items:center;gap:var(--spacing-xs);color:var(--color-secondary);margin-bottom:8px;font-size:14px;display:flex}.contact-detail a{color:var(--color-accent);text-decoration:none}.contact-detail a:hover{text-decoration:underline}.quick-actions{gap:var(--spacing-sm);flex-direction:column;display:flex}.btn{cursor:pointer;text-align:center;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:#333}.btn-secondary{color:var(--color-primary);border:1px solid var(--color-border);background:#fff}.btn-secondary:hover{background:var(--color-bg-alt)}.btn-block{width:100%}.enquiry-form{border:1px solid var(--color-border);padding:var(--spacing-lg);background:#fff;border-radius:8px}.form-title{margin-bottom:var(--spacing-md);color:var(--color-primary);font-size:18px;font-weight:600}.form-group{margin-bottom:var(--spacing-md)}.form-label{color:var(--color-secondary);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-input,.form-textarea,.form-select{border:1px solid var(--color-border);width:100%;font-family:var(--font-sans);color:var(--color-text);background:#fff;border-radius:4px;padding:12px;font-size:14px;transition:all .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #2c5f4f1a}.form-textarea{resize:vertical;min-height:100px}.form-success{color:#155724;padding:var(--spacing-md);text-align:center;margin-bottom:var(--spacing-md);background:#d4edda;border-radius:6px}.form-error{color:#721c24;padding:var(--spacing-md);text-align:center;margin-bottom:var(--spacing-md);background:#f8d7da;border-radius:6px}.btn:disabled{opacity:.6;cursor:not-allowed}.footer{background:var(--color-primary);color:#fff;padding:var(--spacing-lg) 0;margin-top:var(--spacing-2xl);text-align:center}.footer-text{opacity:.8;font-size:14px}@media (max-width:1024px){.main-content{grid-template-columns:1fr}.sidebar{position:static}.property-title{font-size:32px}}@media (max-width:768px){.header-cta{gap:8px}.btn-header span.btn-header-label{display:none}.gallery-grid{grid-template-rows:350px;grid-template-columns:1fr}.gallery-right{display:none}.lightbox-arrow{width:45px;height:45px;font-size:22px}.lightbox-arrow.prev{left:10px}.lightbox-arrow.next{right:10px}.property-title{font-size:28px}.key-details{grid-template-columns:1fr 1fr}.section-title{font-size:26px}}
