:root{--color-primary: #0D3B2E;--color-primary-deep: #082620;--color-primary-light: #145C47;--color-secondary: #1C1C1C;--color-accent: #1A4D3E;--color-highlight: #C9A227;--color-highlight-dark: #A68620;--color-brass: #C9A227;--color-brass-light: #D4B84A;--color-copper: #B87333;--color-cream: #F8F4E8;--color-cream-dark: #EDE6D6;--color-parchment: #FBF9F3;--color-white: #FFFFFF;--color-text: #1C1C1C;--color-text-light: #4A4A4A;--color-text-muted: #6B6B6B;--color-racing-green: #0D3B2E;--color-hunter-green: #1A4D3E;--color-charcoal: #1C1C1C;--color-warm-black: #0F0F0F;--font-primary: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Libre Baskerville", Georgia, "Times New Roman", serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--border-radius: 12px;--border-radius-sm: 8px;--border-radius-lg: 16px;--transition: all .4s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .2s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .2);--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-primary);font-weight:400;line-height:1.7;color:var(--color-text);background-color:var(--color-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;font-size-adjust:.5}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-sm);letter-spacing:-.01em;color:var(--color-primary);font-size-adjust:.52}h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.15}h2{font-size:clamp(2rem,4vw,3rem);font-weight:700}h3{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700}.nav{position:absolute;top:0;left:0;right:0;background:linear-gradient(to bottom,#0d3b2efa,#0d3b2ef2);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 2px 20px #0003;z-index:1000;padding:1.25rem 0;border-bottom:1px solid rgba(201,162,39,.2)}.nav-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.nav-logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--color-cream);letter-spacing:.05em;text-transform:uppercase}.nav-cta{background:transparent;color:var(--color-brass);padding:.75rem 2rem;border:1px solid var(--color-brass);border-radius:0;transition:var(--transition);font-weight:400;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;position:relative;overflow:hidden}.nav-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.nav-cta:hover:before{left:100%}.nav-cta:hover{background:var(--color-brass);color:var(--color-primary);transform:none;box-shadow:none}.cv-auto{content-visibility:auto;contain-intrinsic-size:auto 600px}.feature-card{contain:layout style paint}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;background-color:var(--color-racing-green);color:var(--color-cream);padding:0;margin-top:0;position:relative;overflow:hidden}.hero-picture{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-bg-img{width:100%;height:100%;object-fit:cover;object-position:center right;mix-blend-mode:soft-light}.hero-content{padding:var(--spacing-xl);padding-left:8%;max-width:700px;position:relative;z-index:2}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0d3b2ed9,#0d3b2e99,#0d3b2e4d);pointer-events:none;z-index:1}.hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to bottom,transparent,var(--color-cream));opacity:.6;pointer-events:none;z-index:1}.hero h1{font-size:clamp(3rem,7vw,5rem);margin-bottom:var(--spacing-md);max-width:600px;font-weight:700;line-height:.95;letter-spacing:-.02em;color:var(--color-cream);text-shadow:none}.hero h1:after{content:"";display:block;position:relative;bottom:auto;left:auto;transform:none;width:80px;height:2px;background:var(--color-brass);margin-top:var(--spacing-md)}.hero-subtitle{font-size:clamp(1.125rem,2vw,1.5rem);margin-bottom:var(--spacing-lg);color:#f8f4e8d9;max-width:500px;font-weight:300;line-height:1.7;letter-spacing:.02em;font-style:italic}.cta-button{display:inline-block;background:var(--color-brass);color:var(--color-racing-green);padding:1.25rem 3rem;border-radius:0;font-size:.875rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:var(--transition);min-width:200px;min-height:56px;box-shadow:none;position:relative;overflow:hidden}.cta-button:before{display:none}.cta-button:hover{background:var(--color-cream);color:var(--color-racing-green)}.features{padding:calc(var(--spacing-xl) * 1.5) 0 calc(var(--spacing-xl) * 2);max-width:none;margin:0;text-align:center;position:relative;background:var(--color-cream)}.features>h2,.features>.feature-intro{padding:0 var(--spacing-md);max-width:1200px;margin-left:auto;margin-right:auto}.features:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23C9A227' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.features h2{color:var(--color-racing-green);margin-bottom:var(--spacing-lg);position:relative;display:inline-block}.features h2:after{content:"";display:block;position:relative;bottom:auto;left:auto;transform:none;width:60px;height:2px;background:var(--color-brass);margin:var(--spacing-sm) auto 0}.feature-intro{max-width:700px;margin:0 auto;font-size:1.25rem;color:var(--color-text-light);line-height:1.9;font-weight:300;letter-spacing:.01em;font-style:italic}.feature-grid{display:flex;gap:0;margin-top:calc(var(--spacing-xl) + var(--spacing-md));width:100%;max-width:none;position:relative}.feature-card{background:var(--color-parchment);border-radius:0;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:flex .6s cubic-bezier(.23,1,.32,1),box-shadow .6s cubic-bezier(.23,1,.32,1);border:1px solid rgba(13,59,46,.08);position:relative;flex:1;min-width:0;height:480px;cursor:pointer}.feature-card:hover{flex:2.5;box-shadow:0 12px 40px #0d3b2e26;z-index:10}.feature-card-image{position:relative;overflow:hidden}.feature-card-image img{width:100%;height:280px;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.23,1,.32,1),filter .6s ease;filter:brightness(.95)}.feature-card:hover .feature-card-image img{transform:scale(1.03);filter:brightness(1)}.feature-card-content{padding:var(--spacing-md);position:relative;background:var(--color-parchment);height:200px;overflow:hidden}.feature-card h3{color:var(--color-racing-green);font-size:1.1rem;font-weight:700;margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .5s cubic-bezier(.23,1,.32,1)}.feature-card:hover h3{font-size:1.2rem;white-space:normal}.feature-card-brief{color:var(--color-text-muted);line-height:1.5;font-size:.9rem;font-weight:400;margin:0;opacity:0;max-height:0;overflow:hidden;transition:opacity .5s cubic-bezier(.23,1,.32,1) .1s,max-height .6s cubic-bezier(.23,1,.32,1),margin .5s cubic-bezier(.23,1,.32,1)}.feature-card:hover .feature-card-brief{opacity:1;max-height:60px;margin-bottom:var(--spacing-xs)}.feature-card-details{max-height:0;overflow:hidden;transition:max-height .6s cubic-bezier(.23,1,.32,1) .15s,opacity .5s cubic-bezier(.23,1,.32,1) .2s;opacity:0}.feature-card-details p{color:var(--color-text-light);font-size:.85rem;line-height:1.6;padding-top:var(--spacing-sm);border-top:1px solid rgba(13,59,46,.08);margin:0}.feature-card:hover .feature-card-details{max-height:120px;opacity:1}.showcase{padding:var(--spacing-xl) var(--spacing-md);background:var(--color-racing-green);text-align:center;position:relative}.showcase:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.05;pointer-events:none}.showcase h2{text-align:center;color:var(--color-cream);margin-bottom:var(--spacing-lg);position:relative;display:inline-block}.showcase h2:after{content:"";display:block;position:relative;bottom:auto;left:auto;transform:none;width:60px;height:2px;background:var(--color-brass);margin:var(--spacing-sm) auto 0}.showcase-cta{display:inline-block;background:var(--color-brass);color:var(--color-racing-green);padding:1rem 2.5rem;border-radius:0;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.875rem;margin-top:var(--spacing-lg);transition:var(--transition);min-height:52px;box-shadow:none;position:relative;overflow:hidden}.showcase-cta:hover{background:var(--color-cream);color:var(--color-racing-green)}.floorplan-container{max-width:1100px;margin:0 auto;position:relative;padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + 80px);overflow:visible}.floorplan{width:100%;min-height:600px;background-color:var(--color-cream);border-radius:0;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 25px 50px #00000040;border:4px solid var(--color-brass);overflow:visible}.floorplan:before{display:none}.floorplan-image{width:100%;height:auto;max-height:100%;object-fit:contain}.feature-panel{position:fixed;top:0;left:0;right:0;bottom:0;background:#0d3b2ef2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:2000;display:none;align-items:center;justify-content:center;padding:var(--spacing-md);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feature-panel[aria-hidden=false]{display:flex}.feature-panel-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:48px;height:48px;background:var(--color-brass);color:var(--color-racing-green);border-radius:0;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:none;font-weight:300;cursor:pointer}.feature-panel-close:hover{background:var(--color-cream);transform:none;box-shadow:none}.feature-panel-content{background:var(--color-cream);border-radius:0;padding:calc(var(--spacing-lg) * 1.5);max-width:700px;max-height:85vh;overflow-y:auto;box-shadow:0 25px 50px #0000004d;border:2px solid var(--color-brass);border:1px solid rgba(212,175,55,.2);animation:slideUp .4s cubic-bezier(.4,0,.2,1);position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.feature-panel-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-gold),var(--color-bronze),var(--color-gold));border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0}.contact{padding:var(--spacing-xl) var(--spacing-md) calc(var(--spacing-xl) * 1.5);max-width:800px;margin:0 auto;text-align:center;background:var(--color-cream);position:relative}.contact:before{display:none}.contact h2{color:var(--color-racing-green);margin-bottom:var(--spacing-md);position:relative;display:inline-block}.contact h2:after{content:"";display:block;position:relative;bottom:auto;left:auto;transform:none;width:60px;height:2px;background:var(--color-brass);margin:var(--spacing-sm) auto 0}.contact>p{color:var(--color-text-light);margin-bottom:var(--spacing-lg);margin-top:var(--spacing-md);font-size:1.125rem;font-weight:300;line-height:1.8;font-style:italic}.contact-form{text-align:left;background:var(--color-parchment);padding:var(--spacing-lg);border-radius:0;box-shadow:none;border:1px solid rgba(13,59,46,.15);position:relative}.contact-form:before{display:none}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--color-racing-green);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.form-group input,.form-group textarea{width:100%;padding:1rem;border:1px solid rgba(13,59,46,.2);border-radius:0;font-family:inherit;font-size:1rem;transition:var(--transition);min-height:52px;background:var(--color-cream);color:var(--color-text)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-racing-green);box-shadow:none;background:var(--color-cream)}.form-group textarea{resize:vertical;min-height:120px}.submit-button{width:100%;background:var(--color-racing-green);color:var(--color-cream);padding:1.25rem var(--spacing-md);border-radius:0;font-size:.875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:var(--transition);min-height:58px;box-shadow:none;cursor:pointer;position:relative;overflow:hidden;border:none}.submit-button:before{display:none}.submit-button:hover{background:var(--color-primary-deep);transform:none;box-shadow:none}.form-success{margin-top:var(--spacing-md);padding:var(--spacing-md);background:#0d3b2e1a;border:1px solid var(--color-racing-green);border-radius:0;color:var(--color-racing-green);font-weight:400;text-align:center}.testimonials{padding:var(--spacing-xl) var(--spacing-md);background:var(--color-parchment);position:relative}.testimonials-container{max-width:1200px;margin:0 auto}.testimonials-header{text-align:center;margin-bottom:var(--spacing-xl)}.testimonials h2{color:var(--color-racing-green);margin-bottom:var(--spacing-lg);position:relative;display:inline-block}.testimonials h2:after{content:"";display:block;width:60px;height:2px;background:var(--color-brass);margin:var(--spacing-sm) auto 0}.testimonials-stats{display:flex;justify-content:center;gap:var(--spacing-xl);flex-wrap:wrap}.stat{text-align:center}.stat-number{display:block;font-family:var(--font-heading);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:700;color:var(--color-racing-green);line-height:1;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.testimonial{background:var(--color-cream);padding:var(--spacing-lg);border:1px solid rgba(13,59,46,.08);position:relative;margin:0}.testimonial:before{content:'"';position:absolute;top:var(--spacing-md);left:var(--spacing-md);font-family:var(--font-heading);font-size:4rem;color:var(--color-brass);opacity:.3;line-height:1}.testimonial-content{position:relative;z-index:1}.testimonial-content p{font-size:1.05rem;line-height:1.8;color:var(--color-text);font-style:italic;margin:0}.testimonial-author{display:flex;align-items:center;gap:1rem;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(13,59,46,.08)}.testimonial-avatar{width:48px;height:48px;background:var(--color-racing-green);color:var(--color-cream);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:.875rem}.testimonial-info{display:flex;flex-direction:column}.testimonial-info cite{font-style:normal;font-weight:600;color:var(--color-racing-green)}.testimonial-info span{font-size:.875rem;color:var(--color-text-muted)}.trust-bar{background:var(--color-racing-green);padding:var(--spacing-lg) var(--spacing-md);border-top:1px solid rgba(201,162,39,.2);border-bottom:1px solid rgba(201,162,39,.2)}.trust-container{max-width:1200px;margin:0 auto;text-align:center}.trust-logos{display:flex;justify-content:center;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.trust-logo{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.9;transition:opacity .3s ease}.trust-logo:hover{opacity:1}.trust-logo-img{height:32px;width:auto;filter:brightness(0) invert(1) sepia(1) saturate(.3) hue-rotate(10deg);opacity:.7;transition:all .3s ease}.trust-logo:hover .trust-logo-img{opacity:1;filter:brightness(0) invert(1) sepia(1) saturate(.5) hue-rotate(10deg)}.process{padding:var(--spacing-xl) var(--spacing-md);background:var(--color-cream);position:relative}.process-container{max-width:1200px;margin:0 auto;text-align:center}.process h2{color:var(--color-racing-green);margin-bottom:var(--spacing-sm);position:relative;display:inline-block}.process h2:after{content:"";display:block;width:60px;height:2px;background:var(--color-brass);margin:var(--spacing-sm) auto 0}.process-intro{max-width:600px;margin:var(--spacing-md) auto var(--spacing-xl);font-size:1.125rem;color:var(--color-text-light);font-style:italic;line-height:1.8}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);position:relative}.process-steps:before{content:"";position:absolute;top:40px;left:12.5%;right:12.5%;height:2px;background:linear-gradient(90deg,var(--color-brass) 0%,var(--color-brass) 100%);opacity:.3}.process-step{text-align:center;position:relative;padding:0 var(--spacing-sm)}.process-step-number{width:80px;height:80px;background:var(--color-parchment);border:2px solid var(--color-brass);margin:0 auto var(--spacing-md);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-racing-green);position:relative;z-index:1}.process-step h3{color:var(--color-racing-green);font-size:1.25rem;margin-bottom:var(--spacing-xs)}.process-step p{font-size:.95rem;color:var(--color-text-light);line-height:1.7}.faq{padding:var(--spacing-xl) var(--spacing-md);background:var(--color-parchment)}.faq-container{max-width:900px;margin:0 auto}.faq h2{text-align:center;color:var(--color-racing-green);margin-bottom:var(--spacing-lg);position:relative;display:inline-block;width:100%}.faq h2:after{content:"";display:block;width:60px;height:2px;background:var(--color-brass);margin:var(--spacing-sm) auto 0}.faq-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.faq-item{background:var(--color-cream);border:1px solid rgba(13,59,46,.1);transition:all .3s ease}.faq-item[open]{border-color:var(--color-brass)}.faq-item summary{padding:var(--spacing-md);cursor:pointer;font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--color-racing-green);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.5rem;font-weight:300;color:var(--color-brass);transition:transform .3s ease;flex-shrink:0}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-answer{padding:0 var(--spacing-md) var(--spacing-md)}.faq-answer p{font-size:1rem;line-height:1.8;color:var(--color-text-light);margin:0;padding-top:var(--spacing-sm);border-top:1px solid rgba(13,59,46,.08)}.floating-cta{position:fixed;bottom:var(--spacing-md);right:var(--spacing-md);background:var(--color-brass);color:var(--color-racing-green);padding:1rem 1.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 4px 20px #0003;z-index:900;transition:all .3s cubic-bezier(.23,1,.32,1);opacity:0;transform:translateY(20px);animation:floatIn .5s ease 2s forwards}@keyframes floatIn{to{opacity:1;transform:translateY(0)}}.floating-cta:hover{background:var(--color-cream);transform:translateY(-2px);box-shadow:0 8px 30px #00000040}.exit-popup{position:fixed;top:0;left:0;right:0;bottom:0;background:#0d3b2ef2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:3000;display:none;align-items:center;justify-content:center;padding:var(--spacing-md)}.exit-popup[aria-hidden=false]{display:flex}.exit-popup-content{background:var(--color-cream);padding:var(--spacing-xl);max-width:480px;text-align:center;position:relative;border:1px solid var(--color-brass);animation:slideUp .4s cubic-bezier(.23,1,.32,1)}.exit-popup-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:40px;height:40px;background:transparent;border:1px solid rgba(13,59,46,.2);color:var(--color-racing-green);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.exit-popup-close:hover{background:var(--color-racing-green);color:var(--color-cream);border-color:var(--color-racing-green)}.exit-popup h3{font-family:var(--font-heading);font-size:1.75rem;color:var(--color-racing-green);margin-bottom:var(--spacing-sm)}.exit-popup p{color:var(--color-text-light);line-height:1.7;margin-bottom:var(--spacing-md)}.exit-popup-form{display:flex;gap:0}.exit-popup-form input{flex:1;padding:1rem;border:1px solid rgba(13,59,46,.2);border-right:none;font-size:1rem;font-family:inherit;background:var(--color-parchment)}.exit-popup-form input:focus{outline:none;border-color:var(--color-racing-green)}.exit-popup-form button{background:var(--color-racing-green);color:var(--color-cream);padding:1rem 1.5rem;border:none;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background .3s ease;white-space:nowrap}.exit-popup-form button:hover{background:var(--color-primary-deep)}.exit-popup-note{display:block;margin-top:var(--spacing-sm);font-size:.8rem;color:var(--color-text-muted)}.footer{background:var(--color-racing-green);color:var(--color-cream);text-align:center;padding:var(--spacing-lg);font-size:.875rem;letter-spacing:.05em;border-top:2px solid var(--color-brass)}.fade-in-up{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.fade-in-up.visible{opacity:1;transform:translateY(0)}.img-loading{background:linear-gradient(135deg,var(--color-stone-light) 0%,var(--color-heritage-cream) 100%)}@media (prefers-reduced-motion: reduce){.fade-in-up{opacity:1;transform:none;transition:none}}@media (max-width: 768px){h1{font-size:clamp(2rem,8vw,3rem)}h2{font-size:clamp(1.75rem,6vw,2.5rem)}.nav{padding:1rem 0}.nav-logo{font-size:1.35rem}.nav-cta{padding:.6rem 1.25rem;font-size:.875rem}.hero{grid-template-columns:1fr;min-height:90vh;text-align:center}.hero-content{padding:calc(var(--spacing-xl) + 60px) var(--spacing-md) var(--spacing-lg);max-width:100%}.hero h1:after{margin:var(--spacing-sm) auto 0}.cta-button{padding:1rem 2rem;font-size:1rem;min-width:200px}.feature-grid{flex-direction:column;gap:var(--spacing-md)}.feature-card,.feature-card:hover{flex:none}.feature-card-brief{opacity:1;max-height:none}.feature-card-image img{height:200px}.features,.showcase,.contact{padding:var(--spacing-lg) var(--spacing-md)}.contact-form{padding:var(--spacing-lg)}.floorplan{min-height:450px}.testimonials-grid{grid-template-columns:1fr}.testimonials-stats{gap:var(--spacing-lg)}.trust-logos{gap:var(--spacing-md)}.process-steps{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.process-steps:before{display:none}.floating-cta{bottom:var(--spacing-sm);right:var(--spacing-sm);padding:.875rem 1.25rem;font-size:.75rem}}@media (max-width: 576px){:root{--spacing-lg: 2.5rem;--spacing-xl: 3.5rem}.nav-container{padding:0 var(--spacing-sm)}.nav-cta{font-size:.8rem;padding:.5rem 1rem}.hero{padding:var(--spacing-xl) var(--spacing-sm) var(--spacing-lg)}.cta-button{padding:.9rem 1.75rem;font-size:.95rem;min-width:180px}.contact-form{padding:var(--spacing-md)}.form-group input,.form-group textarea{font-size:1rem}.floorplan{min-height:350px}.process-steps{grid-template-columns:1fr}.exit-popup-form{flex-direction:column}.exit-popup-form input{border-right:1px solid rgba(13,59,46,.2);border-bottom:none}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.hotspot{background:linear-gradient(135deg,#c9a227,#d4b84a,#c9a227);background-size:200% 100%;border:none;border-radius:50%;cursor:pointer;transform:translate(-50%,-50%);transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1),background .3s ease;min-width:36px;min-height:36px;box-shadow:0 2px 8px #00000026,0 0 0 3px #ffffffe6,0 0 0 5px #0d3b2e33;position:relative;animation:shimmer 3s ease-in-out infinite}.hotspot:before{content:"+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:300;color:var(--color-racing-green);line-height:1}.hotspot:hover{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 4px 16px #0003,0 0 0 3px #fff,0 0 0 6px var(--color-brass);animation:none;background:var(--color-cream)}.hotspot:hover:before{content:"×";font-size:20px}.hotspot:focus{outline:none;box-shadow:0 4px 16px #00000040,0 0 0 3px #fff,0 0 0 6px var(--color-racing-green)}.hotspot-tooltip{position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%) translateY(8px);background:var(--color-cream);border:1px solid var(--color-brass);padding:1rem 1.25rem;min-width:200px;max-width:260px;box-shadow:0 8px 30px #00000026;opacity:0;visibility:hidden;transition:opacity .3s cubic-bezier(.23,1,.32,1),transform .3s cubic-bezier(.23,1,.32,1),visibility .3s;z-index:1000;pointer-events:none}.hotspot-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:var(--color-cream)}.hotspot-tooltip:before{content:"";position:absolute;top:calc(100% + 1px);left:50%;transform:translate(-50%);border:9px solid transparent;border-top-color:var(--color-brass)}.hotspot:hover,.hotspot:focus{z-index:100}.hotspot:hover .hotspot-tooltip,.hotspot:focus .hotspot-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);pointer-events:auto}.hotspot-tooltip h4{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--color-racing-green);margin:0 0 .5rem}.hotspot-tooltip p{font-size:.85rem;color:var(--color-text-light);margin:0;line-height:1.5}.hotspot-tooltip .tooltip-cta{display:inline-block;margin-top:.75rem;font-size:.75rem;color:var(--color-brass);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.feature-panel{position:fixed;top:0;left:0;right:0;bottom:0;background:#0d3b2ee6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2000;display:none;align-items:center;justify-content:center;padding:var(--spacing-md)}.feature-category{display:inline-block;background:var(--color-racing-green);color:var(--color-cream);padding:.4rem 1rem;border-radius:0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.5rem}.feature-description{font-size:1.125rem;line-height:1.8;margin-bottom:2rem;color:var(--color-text-light);font-weight:400}.feature-benefits{list-style:none;margin-bottom:2rem;background:#0d3b2e08;padding:1.5rem;border-radius:0;border-left:2px solid var(--color-brass)}.feature-benefits li{padding-left:1.5rem;margin-bottom:.75rem;position:relative;font-size:.95rem;line-height:1.6;font-weight:400}.feature-benefits li:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;background:var(--color-brass);border-radius:50%}.feature-cta{display:inline-block;background:var(--color-racing-green);color:var(--color-cream);padding:1rem 2rem;border-radius:0;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;transition:all .3s ease;text-align:center;min-height:48px}.feature-cta:hover{background:var(--color-primary-deep)}.feature-panel-content h2{font-size:2rem;margin-bottom:1rem;color:var(--color-racing-green);font-weight:700}.feature-panel-content h3{font-size:1rem;margin-top:1.5rem;margin-bottom:.75rem;color:var(--color-racing-green);font-weight:700;letter-spacing:.05em;text-transform:uppercase}@media (prefers-reduced-motion: reduce){.hotspot{animation:none}}@media (max-width: 768px){.hotspot{min-width:40px;min-height:40px}.hotspot-tooltip{display:none}.feature-panel-content{padding:var(--spacing-md)}.feature-panel-content h2{font-size:1.75rem}}.error-message{color:#c93850;font-size:.875rem;margin-top:.5rem;display:block;font-weight:500;letter-spacing:.01em}.form-group input[aria-invalid=true],.form-group textarea[aria-invalid=true]{border-color:#c93850;background:#c9385005}.form-group input[aria-invalid=true]:focus,.form-group textarea[aria-invalid=true]:focus{box-shadow:0 0 0 4px #c938501a;border-color:#c93850}
