@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:wght@300;400;500;600&display=swap";:root{--navy:#0d1117;--navy-light:#161c26;--gold:#c9a84c;--gold-light:#e2c97e;--cream:#f5f0e8;--overlay-dark:#0a0e168c;--overlay-darker:#05080fb8;--font-head:"Playfair Display", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--transition:cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--navy)}body{font-family:var(--font-body);color:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}.text-gold{color:var(--gold)}.text-cream{color:var(--cream)}.sequence-section{position:relative}.canvas-sticky{justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.canvas-sticky canvas{object-fit:cover;width:100%;height:100%;display:block}.overlay{text-align:center;pointer-events:none;background:linear-gradient(#0a0e164d 0%,#0a0e161a 40% 60%,#0a0e168c 100%);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.overlay.left-align{text-align:left;align-items:flex-start;padding:2rem 6vw}.overlay h1,.overlay h2{font-family:var(--font-head);letter-spacing:-.01em;text-shadow:0 4px 24px #000000b3;line-height:1.15}.overlay h1{color:var(--cream);margin-bottom:.6rem;font-size:clamp(2.4rem,6vw,5.5rem);font-weight:600}.overlay h2{color:var(--gold-light);margin-bottom:.8rem;font-size:clamp(1.8rem,4vw,3.5rem);font-weight:500}.overlay p{color:#f5f0e8e0;letter-spacing:.04em;text-shadow:0 2px 12px #0009;max-width:560px;font-size:clamp(.95rem,1.8vw,1.25rem);font-weight:300;line-height:1.7}.overlay .tagline-bar{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;font-size:clamp(.75rem,1.4vw,.95rem);font-weight:500}@keyframes fadeInUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp 1.1s var(--transition) both}.fade-in-delay-1{animation-delay:.3s}.fade-in-delay-2{animation-delay:.6s}.fade-in-delay-3{animation-delay:.9s}.scroll-indicator{pointer-events:none;flex-direction:column;align-items:center;gap:.35rem;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-indicator span{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:.65rem;font-weight:500}.scroll-arrow{border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);width:24px;height:24px;animation:1.5s ease-in-out infinite bounce;transform:rotate(45deg)}@keyframes bounce{0%,to{transform:rotate(45deg)translateY(0)}50%{transform:rotate(45deg)translateY(6px)}}.backyard-section{height:100vh;position:relative;overflow:hidden}.backyard-img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--transition);transform:scale(1.05)}.footer{flex-direction:column;justify-content:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.footer-video{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.footer-overlay{z-index:1;background:linear-gradient(135deg,#080e1ed9 0%,#0c1426c7 100%);position:absolute;inset:0}.footer-content{z-index:2;grid-template-columns:1fr 1.4fr;gap:4rem;width:100%;max-width:1200px;margin:0 auto;padding:5rem 2rem;display:grid;position:relative}.footer-brand h2{font-family:var(--font-head);color:var(--cream);letter-spacing:-.01em;margin-bottom:.4rem;font-size:clamp(2rem,4vw,3.4rem);font-weight:600}.footer-brand .brand-tagline{color:var(--gold-light);letter-spacing:.08em;margin-bottom:1.8rem;font-size:1rem;font-style:italic;font-weight:300}.footer-brand .service-areas{flex-wrap:wrap;gap:.6rem;display:flex}.area-chip{color:var(--gold-light);letter-spacing:.1em;text-transform:uppercase;background:#c9a84c1f;border:1px solid #c9a84c59;border-radius:999px;padding:.35rem .9rem;font-size:.82rem;font-weight:500}.footer-brand .divider{background:linear-gradient(90deg, var(--gold), transparent);width:60px;height:2px;margin:1.8rem 0}.footer-brand .brand-desc{color:#f5f0e8b3;max-width:320px;font-size:.95rem;line-height:1.7}.contact-form-wrap h3{font-family:var(--font-head);color:var(--cream);margin-bottom:1.5rem;font-size:1.6rem;font-weight:500}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{color:var(--cream);font-family:var(--font-body);appearance:none;background:#ffffff0f;border:1px solid #c9a84c38;border-radius:8px;outline:none;width:100%;padding:.75rem 1rem;font-size:.9rem;transition:border-color .25s,background .25s}.form-group select option{background:var(--navy-light);color:var(--cream)}.form-group input::placeholder,.form-group textarea::placeholder{color:#f5f0e84d}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);background:#ffffff17}.form-group textarea{resize:vertical;min-height:90px}.submit-btn{background:linear-gradient(135deg, var(--gold) 0%, #a8862e 100%);color:var(--navy);font-family:var(--font-body);letter-spacing:.06em;cursor:pointer;border:none;border-radius:10px;grid-column:1/-1;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:transform .2s,opacity .2s,box-shadow .2s;box-shadow:0 4px 24px #c9a84c47}.submit-btn:hover{opacity:.95;transform:translateY(-2px);box-shadow:0 8px 32px #c9a84c6b}.submit-btn:active{transform:translateY(0)}.copyright{text-align:center;color:#f5f0e866;letter-spacing:.05em;z-index:2;padding:1.2rem 2rem 2rem;font-size:.8rem;position:relative}.mobile-frame{object-fit:cover;width:100%;height:100%;display:none;position:absolute;top:0;left:0}@keyframes mobileFade{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@media (width>=1400px){.footer-content{grid-template-columns:1fr 1.6fr;gap:6rem;padding:6rem 4rem}.footer-brand h2{font-size:3.6rem}}@media (width<=1024px){.footer-content{grid-template-columns:1fr 1.2fr;gap:3rem;padding:4rem 2.5rem}.contact-form-wrap h3{font-size:1.4rem}.overlay h1{font-size:clamp(2rem,5vw,3.8rem)}.overlay h2{font-size:clamp(1.5rem,3.5vw,2.8rem)}.overlay p{font-size:clamp(.9rem,1.6vw,1.1rem)}}@media (width<=768px){.canvas-sticky canvas{display:block}.mobile-frame{display:none}.canvas-sticky,.backyard-section{height:100svh}.footer{min-height:100svh}.overlay{padding:1.5rem}.overlay h1{font-size:clamp(1.8rem,7vw,2.8rem)}.overlay h2{margin-bottom:.6rem;font-size:clamp(1.4rem,5.5vw,2.2rem)}.overlay p{max-width:90%;font-size:clamp(.85rem,3.5vw,1rem)}.overlay .tagline-bar{letter-spacing:.15em;margin-bottom:1rem;font-size:.65rem}.footer-content{grid-template-columns:1fr;gap:2.5rem;padding:3rem 1.5rem 2rem}.footer-brand h2{font-size:2rem}.footer-brand .brand-desc{max-width:100%}.contact-form-wrap h3{margin-bottom:1.2rem;font-size:1.3rem}.form-grid{grid-template-columns:1fr;gap:.85rem}.form-group.full-width{grid-column:1}.submit-btn{padding:.9rem 1.5rem;font-size:.95rem}}@media (width<=480px){.overlay h1{font-size:clamp(1.5rem,8vw,2.2rem);line-height:1.2}.overlay h2{font-size:clamp(1.2rem,7vw,1.8rem);line-height:1.25}.overlay p{letter-spacing:.02em;font-size:.82rem}.overlay .tagline-bar{letter-spacing:.12em;font-size:.6rem}.footer-content{padding:2.5rem 1.2rem 1.5rem}.footer-brand h2{font-size:1.7rem}.footer-brand .brand-tagline{font-size:.9rem}.area-chip{padding:.3rem .7rem;font-size:.72rem}.form-group input,.form-group select,.form-group textarea{padding:.65rem .85rem;font-size:.85rem}.submit-btn{letter-spacing:.04em;padding:.85rem 1.2rem;font-size:.9rem}.copyright{padding:1rem 1rem 1.5rem;font-size:.72rem}}@media (width<=360px){.overlay h1{font-size:1.4rem}.overlay h2{font-size:1.1rem}.overlay p{font-size:.78rem}.footer-brand h2{font-size:1.5rem}.contact-form-wrap h3{font-size:1.1rem}}@media (height<=500px) and (orientation:landscape){.canvas-sticky,.backyard-section{height:100vw;min-height:unset}.overlay h1{font-size:1.6rem}.overlay h2{font-size:1.2rem}.overlay p{display:none}}
