.alva-effects-heavy .alva-hero-images{inset:-7px;translate:var(--hero-drift-x,0px) var(--hero-drift-y,0px);transition:translate .8s cubic-bezier(.16,1,.3,1)}
.alva-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:inherit;mix-blend-mode:screen}.alva-cursor-light{position:absolute;inset:0;background:radial-gradient(440px circle at var(--spot-x,70%) var(--spot-y,40%),#ccdfb91c,transparent 75%)}.alva-light-sweep{position:absolute;top:-50%;bottom:-50%;width:25%;left:-40%;background:linear-gradient(90deg,transparent,#dceac914,transparent);rotate:-18deg;animation:alva-light-pass 18s ease-in-out infinite}.alva-atmosphere>span{position:absolute;left:67%;top:25%;width:2px;height:2px;border-radius:50%;background:#eff8de;opacity:.4;box-shadow:0 0 17px 2px #eff8de33;animation:alva-speck 12s ease-in-out infinite alternate}.alva-atmosphere>span:nth-last-child(2){left:38%;top:58%;animation-delay:-4s}.alva-atmosphere>span:last-child{left:85%;top:70%;animation-delay:-7s}@keyframes alva-light-pass{0%,15%{translate:0 0;opacity:0}25%{opacity:.6}70%,100%{translate:650% 0;opacity:0}}@keyframes alva-speck{to{translate:24px -45px;opacity:.12}}
.alva-effects-heavy.scrolled header{box-shadow:0 8px 28px #213b2510;border-bottom-color:#c6d5bb;background:#f4f3eff0;backdrop-filter:blur(26px)}
.alva-kinetic-word{display:inline-block;opacity:1;translate:0 0;transition:opacity .7s ease,translate .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--kinetic-delay,0ms)}.alva-reveal:not(.is-visible) .alva-kinetic-word{opacity:0;translate:0 24px}.alva-reveal.is-visible .alva-kinetic-word{opacity:1;translate:0 0}
.alva-polished .alva-magnetic{position:relative;isolation:isolate;overflow:hidden;transform:translate3d(var(--magnet-x,0px),var(--magnet-y,0px),0);transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s,box-shadow .3s}.alva-magnetic>.alva-click-wave{position:absolute;display:block;z-index:5;width:20px;height:20px;min-width:20px;min-height:20px;padding:0;margin:0;border:0;border-radius:50%;background:#c8dfae66;pointer-events:none;translate:-50% -50%;animation:alva-button-wave .8s ease-out both}@keyframes alva-button-wave{from{scale:0;opacity:.8}to{scale:24;opacity:0}}
.alva-effects-heavy .alva-hero-selector button:hover>.alva-ui-icon{animation:alva-icon-lift .6s cubic-bezier(.16,1,.3,1) both}@keyframes alva-icon-lift{0%{translate:0 0;rotate:0deg}45%{translate:0 -4px;rotate:-5deg}100%{translate:0 -1px;rotate:0deg}}
.alva-effects-heavy .alva-premium-card.is-visible{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:center;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .8s,filter .8s,box-shadow .4s,border-color .4s,translate .4s}.alva-effects-heavy .alva-service-symbol{position:relative;overflow:hidden;transition:background .35s,color .35s,scale .35s}.alva-effects-heavy .plainservices>a:hover .alva-service-symbol{background:#d9e7c9;color:#284521;scale:1.08}.alva-effects-heavy .alva-service-symbol::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent,#ffffffaa,transparent);translate:-150% 0;transition:translate .8s}.alva-effects-heavy .plainservices>a:hover .alva-service-symbol::after{translate:150% 0}
.alva-photo-depth{overflow:hidden}.alva-photo-depth.visionimage>img,.alva-photo-depth.home-outdoor>img,.alva-photo-depth.carouselviewport .houseslide>img{scale:1.08;translate:0 var(--photo-drift,0px);transition:translate .45s cubic-bezier(.16,1,.3,1);transform-origin:center}
.alva-effects-heavy .plainsteps{position:relative}.alva-effects-heavy .plainsteps::after{content:'';position:absolute;left:0;top:-1px;width:calc(var(--process-progress,0)*100%);height:2px;pointer-events:none;background:linear-gradient(90deg,#355232,#b3c793);box-shadow:0 0 12px #9bb67f55;transition:width .45s ease-out}.alva-effects-heavy .plainsteps article .alva-step-symbol>.alva-ui-icon{transition:scale .3s,rotate .3s}.alva-effects-heavy .plainsteps article:hover .alva-step-symbol>.alva-ui-icon{scale:1.1;rotate:-5deg}
.alva-effects-heavy .home-faq-list details{transition:border-color .3s,background .3s}.alva-effects-heavy .home-faq-list details[open]{border-color:#9aaf88;background:linear-gradient(90deg,#d5e3c522,transparent)}.alva-effects-heavy form:focus-within{box-shadow:0 0 0 1px #9bb78055,0 20px 60px #2543210b;transition:box-shadow .4s}
@media(max-width:700px){.alva-light-sweep{width:45%;animation-duration:24s}.alva-cursor-light{display:none}.alva-effects-heavy .plainsteps::after{left:-11px;top:0;width:2px;height:calc(var(--process-progress,0)*100%);transition:height .45s ease-out}.alva-effects-heavy .plainsteps{margin-left:10px}.alva-photo-depth.visionimage>img,.alva-photo-depth.home-outdoor>img,.alva-photo-depth.carouselviewport .houseslide>img{scale:1.055}}
@media(hover:none){.alva-cursor-light{display:none}.alva-polished .alva-magnetic{transform:none}.alva-effects-heavy .alva-premium-card.is-visible{transform:none}}
@media(prefers-reduced-motion:reduce){body:not(.alva-motion-optin) .alva-atmosphere{display:none}body:not(.alva-motion-optin) .alva-kinetic-word{opacity:1;translate:none}body:not(.alva-motion-optin) .alva-hero-images,body:not(.alva-motion-optin) .alva-photo-depth img{translate:none}body:not(.alva-motion-optin) .alva-photo-depth img{scale:1}body:not(.alva-motion-optin) .alva-premium-card.is-visible{transform:none}body:not(.alva-motion-optin) .plainsteps::after{width:100%;height:2px}body.alva-motion-optin .alva-light-sweep{animation:alva-light-pass 18s ease-in-out infinite!important}body.alva-motion-optin .alva-atmosphere>span{animation:alva-speck 12s ease-in-out infinite alternate!important}body.alva-motion-optin .alva-kinetic-word{transition:opacity .7s ease,translate .85s cubic-bezier(.16,1,.3,1)!important;transition-delay:var(--kinetic-delay,0ms)!important}body.alva-motion-optin .alva-click-wave{animation:alva-button-wave .8s ease-out both!important}body.alva-motion-optin .alva-hero-images,body.alva-motion-optin .alva-photo-depth img{transition:translate .6s cubic-bezier(.16,1,.3,1)!important}body.alva-motion-optin .alva-premium-card.is-visible{transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .8s,filter .8s,box-shadow .4s,border-color .4s!important}body.alva-motion-optin .alva-magnetic{transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s,box-shadow .3s!important}}

@media(max-width:700px) and (prefers-reduced-motion:reduce){body:not(.alva-motion-optin) .plainsteps::after{width:2px;height:100%}}

.alva-hero-top,.alva-hero-copy,.alva-hero-bottom{position:relative;z-index:2}.alva-scene-shutters{position:absolute;inset:0;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;pointer-events:none;border-radius:inherit}.alva-scene-shutters>i{height:100%;display:block;transform:translateY(105%);background:linear-gradient(135deg,#10251edb,#294534b8);border-right:1px solid #d9e8c82b;will-change:transform}
.alva-service-marquee{margin:0 16px 15px;overflow:hidden;min-width:0;border-radius:13px;background:#263d30;color:#e3edda;border:1px solid #8fa57b30;box-shadow:inset 0 1px 0 #ffffff0a}.alva-marquee-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.alva-marquee-track{display:flex;width:max-content;animation:alva-marquee-run 34s linear infinite;animation-play-state:paused}.alva-marquee-group{display:flex;align-items:center;gap:45px;padding:25px 45px 25px 0;flex-shrink:0}.alva-marquee-group>span{display:flex;align-items:center;gap:16px;font-size:24px;line-height:1.3;font-weight:500;letter-spacing:-.7px;white-space:nowrap}.alva-marquee-group .alva-ui-icon{width:27px;height:27px;color:#b4ca9b}.alva-marquee-group i{width:5px;height:5px;display:block;border-radius:50%;background:#b4ca9b;margin-left:18px}.alva-service-marquee.is-in-view .alva-marquee-track{animation-play-state:running}.alva-service-marquee:hover .alva-marquee-track{animation-play-state:paused!important}@keyframes alva-marquee-run{to{transform:translateX(-50%)}}
.alva-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.alva-cinema-gallery{position:relative;isolation:isolate;background:#172b22;color:#f3f6ed;border:1px solid #4e684328;box-shadow:0 25px 80px #19372012}.alva-cinema-gallery::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 5%,#78956224,transparent 60%)}.alva-cinema-gallery .galleryheading h2,.alva-cinema-gallery .gallerycaption h3{color:#f1f5eb}.alva-cinema-gallery .galleryheading p,.alva-cinema-gallery .gallerycaption p,.alva-cinema-gallery .gallerybottom>p{color:#becbb7}.alva-cinema-gallery .eyebrow,.alva-cinema-gallery .reference-label,.alva-cinema-gallery .gallerysmall{color:#b4c7a6}.alva-cinema-gallery .gallerycaption a.btn{background:#edf3e5;color:#203323;border-color:#edf3e5}.alva-cinema-gallery .carouselviewport{border:1px solid #b2c89c38;box-shadow:0 20px 55px #00000024}.alva-cinema-gallery .housechoices>button[aria-pressed=true]{border-color:#d8ebc6;box-shadow:0 0 0 3px #b7d69b26}.alva-cinema-gallery .gallerycaption{border-color:#839e7133}
.alva-gallery-expand{position:absolute;z-index:5;top:22px;right:22px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 16px;border:1px solid #e4efd77a;border-radius:30px;background:#172b229c;backdrop-filter:blur(18px);color:#f4f8ed;font:600 12px/1.4 Manrope,Arial,sans-serif;cursor:pointer;transition:background .3s,translate .3s,box-shadow .3s}.alva-gallery-expand>.alva-ui-icon{width:18px;height:18px}.alva-gallery-expand:hover{background:#edf3e5;color:#203323;translate:0 -2px;box-shadow:0 8px 25px #10241833}
body.alva-viewer-open{overflow:hidden}.alva-photo-viewer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;margin:0;padding:clamp(16px,3vw,38px);border:0;border-radius:0;background:#0e1d16;color:#f2f6eb;font-family:Manrope,Arial,sans-serif;overflow:hidden;box-shadow:none}.alva-photo-viewer::backdrop{background:#08130ee8;backdrop-filter:blur(14px)}.alva-photo-viewer[open]{display:flex}.alva-viewer-inner{width:100%;max-width:1700px;min-width:0;height:100%;margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px}.alva-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid #92ad792a}.alva-viewer-header>div{display:flex;align-items:center;gap:24px}.alva-viewer-brand{font-size:25px;line-height:1;font-weight:700;letter-spacing:1px;color:#eaf1e0}.alva-photo-viewer h2{font-size:13px;font-weight:500;line-height:1.5;letter-spacing:0;margin:0;color:#c6d3bb}.alva-viewer-close,.alva-viewer-controls>button{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;min-width:46px;min-height:46px;padding:12px;border:1px solid #aec49a66;border-radius:50%;background:#c2d6ad0b;color:#f1f7e8;cursor:pointer;transition:background .25s,scale .25s}.alva-viewer-close:hover,.alva-viewer-controls>button:hover{background:#c2d6ad24;scale:1.05}.alva-viewer-close svg,.alva-viewer-controls>button svg{width:21px;height:21px}.alva-viewer-stage{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;overflow:hidden;border-radius:9px;background:#08150e}.alva-viewer-stage>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:0}.alva-photo-viewer.is-zoomed .alva-viewer-stage{display:block;overflow:auto;overscroll-behavior:contain}.alva-photo-viewer.is-zoomed .alva-viewer-stage>img{width:160%;min-width:160%;height:auto;max-width:none;max-height:none;object-fit:contain}.alva-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:30px}.alva-viewer-footer>div:first-child{max-width:850px;min-width:0}.alva-viewer-caption{font-size:13px;line-height:1.6;margin:0 0 5px;color:#e0ead6}.alva-viewer-note,.alva-viewer-status{font-size:10px;line-height:1.6;margin:0;color:#9db08f}.alva-viewer-controls{display:flex;align-items:center;gap:9px;flex-shrink:0}.alva-viewer-count{white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums;margin-right:12px;color:#c7d6ba}.alva-viewer-controls [data-viewer-prev] svg{rotate:90deg}.alva-viewer-controls [data-viewer-next] svg{rotate:-90deg}.alva-photo-viewer[aria-busy=true] .alva-viewer-stage>img{opacity:.6}.alva-photo-viewer a:focus-visible,.alva-photo-viewer button:focus-visible,.alva-gallery-expand:focus-visible{outline:2px solid #deedcd;outline-offset:4px}
@media(max-width:700px){.alva-service-marquee{margin:0 9px 8px;border-radius:11px}.alva-marquee-group{gap:28px;padding:20px 28px 20px 0}.alva-marquee-group>span{font-size:20px;gap:12px}.alva-marquee-group .alva-ui-icon{width:23px;height:23px}.alva-gallery-expand{top:13px;right:13px;font-size:11px;padding:10px 13px;gap:7px}.alva-photo-viewer{padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.alva-viewer-header>div{display:block}.alva-viewer-brand{font-size:22px}.alva-photo-viewer h2{font-size:10px;margin-top:7px}.alva-viewer-inner{gap:14px}.alva-viewer-footer{display:block}.alva-viewer-caption{font-size:12px}.alva-viewer-note{font-size:10px}.alva-viewer-controls{margin-top:16px;justify-content:flex-end}.alva-viewer-count{margin-right:auto}.alva-viewer-close,.alva-viewer-controls>button{width:44px;height:44px;min-width:44px;min-height:44px}.alva-viewer-stage{min-height:0}}
@media(prefers-reduced-motion:reduce){body:not(.alva-motion-optin) .alva-marquee-track{animation:none!important;transform:none!important}body.alva-motion-optin .alva-marquee-track{animation:alva-marquee-run 34s linear infinite!important;animation-play-state:paused!important}body.alva-motion-optin .alva-service-marquee.is-in-view .alva-marquee-track{animation-play-state:running!important}body.alva-motion-optin .alva-service-marquee:hover .alva-marquee-track{animation-play-state:paused!important}body.alva-motion-optin .alva-gallery-expand,body.alva-motion-optin .alva-viewer-close,body.alva-motion-optin .alva-viewer-controls>button{transition:background .3s,translate .3s,scale .3s,box-shadow .3s!important}}
