*{margin:0;padding:0;box-sizing:border-box;font-family:Outfit,sans-serif}:root{--primary-color:#f7fdf9;--accent-color:#8adeaa;--text-dark:#2d4a36;--text-light:#ffffff;--text-muted:#64806a}html{-webkit-text-size-adjust:100%}body,html{width:100%;max-width:100%;height:100%;overflow:hidden;background-color:var(--primary-color)}.site-brand{position:fixed;top:40px;left:60px;z-index:100;color:var(--text-light);display:flex;flex-direction:column;align-items:flex-start;padding:15px 30px;border-radius:12px;background:rgba(255,255,255,.05);backdrop-filter:blur(12px);border-left:3px solid var(--accent-color);transition:all .5s cubic-bezier(.2, .8, .2, 1)}.brand-main{font-size:2.2rem;font-weight:800;line-height:.9;letter-spacing:-1px;text-transform:uppercase;margin-bottom:2px}.brand-sub{font-size:.85rem;font-weight:300;text-transform:uppercase;letter-spacing:4px;opacity:.8}.site-brand:hover{background:rgba(255,255,255,.1);transform:translateX(10px)}.top-nav{position:fixed;top:40px;right:60px;display:flex;gap:30px;z-index:100}.nav-link{text-decoration:none;color:var(--text-light);font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;padding:10px 20px;touch-action:manipulation;border-radius:30px;transition:all .4s cubic-bezier(.2, .8, .2, 1);background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2)}.nav-link.active,.nav-link:hover{background:var(--accent-color);color:var(--text-dark);border-color:var(--accent-color);box-shadow:0 8px 20px rgba(138,222,170,.4);transform:translateY(-2px)}.scroll-container{height:100vh;height:100dvh;width:100%;max-width:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none}.scroll-container::-webkit-scrollbar{display:none}.panel{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;width:100%;max-width:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.part-1.panel{justify-content:flex-start;align-items:flex-end;padding-left:10%;padding-bottom:22%}.part-2.panel{justify-content:flex-end;align-items:center;padding-right:10%}.composition-layer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;animation:zoomPulse 25s ease-in-out infinite alternate}@keyframes zoomPulse{0%{transform:scale(1)}100%{transform:scale(1.08)}}.bg-fade-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;animation:fadeInBg 2.5s ease-in forwards}@keyframes fadeInBg{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.bg-zoom{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.1) 100%);z-index:5}.elegant-content{position:relative;z-index:30;color:var(--text-light);max-width:650px;margin-top:-42vh}.part-1 .elegant-content{text-align:left;padding:0;margin-top:0}.part-2 .elegant-content{text-align:right;padding:50px;margin-top:-42vh;background:rgba(255,255,255,.03);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.1);opacity:0;transform:translate3d(min(100px,14vw),0,0)}.part-2.active .elegant-content{animation:part2PanelSlideIn 1s cubic-bezier(.22,1,.36,1) forwards}@keyframes part2PanelSlideIn{to{opacity:1;transform:translate3d(0,0,0)}}.part-2 .elegant-content .animate-btn,.part-2 .elegant-content .animate-subtext,.part-2 .elegant-content .animate-text{animation:none!important;opacity:1;transform:none}.chandelier{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:15;opacity:0;transition:all 1.8s cubic-bezier(.2, .8, .2, 1);pointer-events:none}.panel.active .chandelier{opacity:1;transform:translateY(0)}@keyframes slideDownItem{from{transform:translateY(-10%);opacity:0}to{transform:translateY(0);opacity:1}}.table-foreground{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:16;opacity:0;transition:all 1.8s cubic-bezier(.2, .8, .2, 1);pointer-events:none}.panel.active .table-foreground{opacity:1;transform:translateY(0)}@keyframes slideUpItem{from{transform:translateY(10%);opacity:0}to{transform:translateY(0);opacity:1}}.part-1 .chandelier{transform:translateY(-5%)}.part-1 .table-foreground{transform:translateY(5%)}.animate-text{font-size:4.5rem;font-weight:700;margin-bottom:20px;letter-spacing:-1px;opacity:0;transform:translateY(40px);animation:fadeUp 1.2s cubic-bezier(.2,.8,.2,1) 1.8s forwards}.animate-subtext{font-size:1.3rem;margin-bottom:40px;opacity:0;transform:translateY(30px);animation:fadeUp 1.2s cubic-bezier(.2,.8,.2,1) 2.1s forwards}.btn-primary{display:inline-block;padding:1rem 2.5rem;font-size:1.125rem;touch-action:manipulation;background:linear-gradient(135deg,#a6eed5 0,var(--accent-color) 100%);color:#173822;text-decoration:none;border-radius:50px;font-weight:600;transition:all .3s ease;box-shadow:0 8px 25px rgba(138,222,170,.4)}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 30px rgba(138,222,170,.6)}.animate-btn{opacity:0;transform:translateY(20px);animation:fadeUp 1.2s cubic-bezier(.2,.8,.2,1) 2.4s forwards}@keyframes fadeUp{100%{opacity:1;transform:translateY(0)}}.scroll-indicator{position:absolute;bottom:40px;right:40px;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:10;color:var(--text-light);opacity:0;animation:fadeIn 1.5s ease 3s forwards}@keyframes fadeIn{100%{opacity:1}}.mouse{width:26px;height:40px;border:2px solid var(--text-light);border-radius:20px;display:flex;justify-content:center;padding-top:6px;background:rgba(255,255,255,.1);backdrop-filter:blur(4px)}.wheel{width:4px;height:8px;background:var(--text-light);border-radius:2px;animation:scrollWheel 1.5s infinite}@keyframes scrollWheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(12px);opacity:0}}.scroll-indicator span{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 40px;margin:30px 0;list-style:none}.service-item{font-size:1.1rem;color:var(--text-light);display:flex;align-items:center;gap:12px;font-weight:300;transition:all .3s ease}.service-item::before{content:'';width:6px;height:6px;background:var(--accent-color);border-radius:50%;box-shadow:0 0 10px var(--accent-color)}.service-item:hover{transform:translateX(5px);color:var(--accent-color)}.price-notice{margin-top:20px;display:flex;flex-direction:column;gap:10px}.affordability-tag{display:inline-block;padding:6px 15px;background:rgba(138,222,170,.2);border:1px solid var(--accent-color);color:var(--accent-color);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;border-radius:4px;width:fit-content}.price-notice p{font-size:.9rem;opacity:.8;font-style:italic;color:var(--text-light)}.panel.active .animate-text{animation:fadeUp 1.2s cubic-bezier(.2,.8,.2,1) .5s forwards}.panel.active .animate-subtext{animation:fadeUp 1.2s cubic-bezier(.2,.8,.2,1) .8s forwards}.panel.active .animate-btn{animation:fadeUp 1.2s cubic-bezier(.2,.8,.2,1) 1.1s forwards}.part-1 .animate-btn,.part-1 .animate-subtext,.part-1 .animate-text{animation:none}.part-2{background:var(--primary-color)}.part-3{--contact-panel-duration:1s;--contact-figure-delay:calc(var(--contact-panel-duration) - 0.35s);background:#1a1f1c;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:end;align-content:stretch;padding:0 0 0 10%;padding-bottom:0;height:100%;min-height:100vh;min-height:100dvh;box-sizing:border-box}.part-3 .part-3-panel.elegant-content{grid-column:1;grid-row:1;align-self:center;text-align:left;padding:50px;margin-top:0;max-width:440px;width:100%;justify-self:start;background:rgba(255,255,255,.03);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.1);z-index:20;opacity:0;transform:translate3d(calc(-1 * min(100px,14vw)),0,0)}.part-3.active .part-3-panel.elegant-content{animation:contactPanelSlideIn var(--contact-panel-duration) cubic-bezier(.22,1,.36,1) forwards}@keyframes contactPanelSlideIn{to{opacity:1;transform:translate3d(0,0,0)}}.part-3 .part-3-panel .animate-btn,.part-3 .part-3-panel .animate-subtext,.part-3 .part-3-panel .animate-text{animation:none!important;opacity:1;transform:none}.part-3 .part-3-panel .animate-text{font-size:3.25rem;margin-bottom:28px}.contact-details{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}.contact-row{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.contact-label{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--accent-color);opacity:.95}.contact-label-icon{display:none;width:1.35rem;height:1.35rem;flex-shrink:0;color:var(--accent-color)}.contact-value{display:inline-flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:400;color:var(--text-light);text-decoration:none;transition:color .3s ease,transform .3s ease;word-break:break-word}.contact-value::before{content:'';width:6px;height:6px;flex-shrink:0;background:var(--accent-color);border-radius:50%;box-shadow:0 0 10px var(--accent-color)}.contact-value:hover{color:var(--accent-color);transform:translateX(4px)}.contact-counties{font-size:1rem;line-height:1.55;color:var(--text-light);opacity:.88;font-weight:300;font-style:italic;margin:0;max-width:36ch}.part-3-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.part-3-bg{position:absolute;inset:0;width:100%;height:100%;background-image:url('assets/house.webp');background-size:cover;background-position:center center;background-repeat:no-repeat;background-color:#1a2520;transform:scale(1);transform-origin:center center;animation:part3BgSettle 14s ease-in-out infinite alternate;z-index:1}@keyframes part3BgSettle{0%{transform:scale(1) translateZ(0)}100%{transform:scale(1.04) translateZ(0)}}.part-3-overlay{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(to top,rgba(0,0,0,.55) 0,rgba(0,0,0,.15) 45%,rgba(0,0,0,.25) 100%);z-index:2;pointer-events:none}.part-3-content{grid-column:2;grid-row:1;align-self:end;position:relative;z-index:10;display:flex;align-items:flex-end;justify-content:flex-end;height:100%;min-height:0;padding:0;line-height:0;pointer-events:none}.contact-rise-img{display:block;max-height:min(78vh,820px);width:auto;max-width:min(100vw,520px);height:auto;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 3px 10px rgba(255, 255, 255, .72)) drop-shadow(0 1px 4px rgba(255, 255, 255, .55)) drop-shadow(-2px 1px 6px rgba(255, 255, 255, .45));opacity:0;transform:translate3d(min(28vw,220px),118%,0) scale(.9);will-change:transform,opacity}.part-3.active .contact-rise-img{animation:contactRiseIn 1.45s cubic-bezier(.22,1,.36,1) var(--contact-figure-delay) forwards}@keyframes contactRiseIn{0%{opacity:0;transform:translate3d(min(28vw,220px),118%,0) scale(.88)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}@media (prefers-reduced-motion:reduce){.part-2.active .elegant-content{animation:none;opacity:1;transform:none}.part-3-bg{animation:none;transform:scale(1.03)}.part-3.active .part-3-panel.elegant-content{animation:none;opacity:1;transform:none}.contact-rise-img{will-change:auto}.part-3.active .contact-rise-img{animation:none;opacity:1;transform:none}}@media (max-width:992px){.animate-text{font-size:3.5rem}.chandelier{height:30vh;left:70%}.table-foreground{height:40vh}.part-2.panel{padding-left:24px;padding-right:24px}.part-2 .elegant-content{margin-top:max(-28vh,-240px)}}@media (max-width:768px){.site-brand{top:max(10px,env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));padding:8px 12px;border-radius:10px}.brand-main{font-size:1.35rem}.brand-sub{font-size:.62rem;letter-spacing:2px}.site-brand:hover{transform:none}.top-nav{top:max(10px,env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));left:auto;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:min(68%,280px)}.nav-link{font-size:.62rem;letter-spacing:.5px;padding:10px 12px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.nav-link.active,.nav-link:hover{transform:none}.part-1.panel{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px));padding-bottom:max(28px,env(safe-area-inset-bottom,0px),12vh);padding-top:max(88px,calc(env(safe-area-inset-top,0px) + 72px));justify-content:center;align-items:flex-end}.part-1 .elegant-content{width:100%;max-width:100%;text-align:center}.part-1 .animate-text{font-size:clamp(1.65rem, 7.5vw, 2.35rem);margin-bottom:14px;line-height:1.12}.part-1 .animate-subtext{font-size:.95rem;line-height:1.45;margin-bottom:22px}.part-1 .btn-primary{width:100%;max-width:300px;text-align:center;padding:.9rem 1.5rem;font-size:1rem}.animate-text{font-size:2.8rem}.chandelier{right:-5%;left:auto;height:25vh}.table-foreground{display:none}.scroll-indicator{bottom:max(16px,env(safe-area-inset-bottom,0px));right:50%;transform:translateX(50%)}.scroll-indicator span{font-size:.65rem}.part-2.panel{padding:max(88px,calc(env(safe-area-inset-top,0px) + 64px)) max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));justify-content:center;align-items:flex-start}.part-2 .elegant-content{margin-top:0;width:100%;max-width:100%;text-align:center;padding:26px 20px;transform:translate3d(min(48px,12vw),0,0)}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:20px 0;justify-items:stretch}.service-item{font-size:.82rem;justify-content:flex-start;gap:8px;line-height:1.25}.service-item::before{flex-shrink:0}.price-notice{align-items:center}.affordability-tag{margin-left:auto;margin-right:auto}.part-2 .btn-primary{width:100%;max-width:300px;text-align:center}.contact-rise-img{max-height:min(42vh,400px);max-width:min(72vw,360px);width:auto;object-position:bottom right}.part-3-bg{background-position:center center}.part-3{display:block;padding:max(80px,calc(env(safe-area-inset-top,0px) + 56px)) max(16px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0) max(16px,env(safe-area-inset-left,0px))}.part-3-backdrop{inset:0;width:100%}.part-3 .part-3-panel.elegant-content{position:relative;width:100%;max-width:100%;margin:0;min-width:0;text-align:left;padding:26px 20px;border-radius:20px;box-sizing:border-box}.part-3-content{position:absolute;bottom:0;right:0;width:auto;height:auto;max-width:none;margin:0;padding:0;line-height:0;display:flex;align-items:flex-end;justify-content:flex-end;z-index:10;pointer-events:none}.part-3 .part-3-panel .animate-text{font-size:2.8rem;margin-bottom:20px}.part-3 .contact-details{gap:20px;margin-bottom:28px}.part-3 .contact-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px}.part-3 .contact-label-text{display:none}.part-3 .contact-label-icon{display:block}.part-3 .contact-label{flex:0 0 auto;width:1.5rem;min-width:1.5rem;justify-content:center;font-size:0;letter-spacing:0}.part-3 .contact-value::before{display:none}.part-3 .contact-value{flex:1 1 auto;min-width:0}}@media (max-width:768px) and (max-height:520px){.scroll-indicator{display:none}.contact-rise-img{max-height:min(42vh,380px);object-position:bottom right}}