@import"https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700;900&family=Lato:wght@300;400;700&display=swap";.loading-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-off-white);z-index:9999}.loading-screen__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.loading-screen__spinner{width:48px;height:48px;position:relative}.loading-screen__spinner-ring{width:100%;height:100%;border:3px solid var(--color-gray);border-top-color:var(--color-primary);border-radius:50%;animation:loading-spin 1s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-screen__text{font-family:var(--font-body);font-size:1rem;color:var(--color-dark-gray);letter-spacing:.025em}.error-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-off-white);z-index:9999;padding:var(--space-xl)}.error-screen__content{max-width:420px;text-align:center}.error-screen__icon{width:64px;height:64px;margin:0 auto var(--space-xl);color:var(--color-primary)}.error-screen__icon svg{width:100%;height:100%}.error-screen__title{font-family:var(--font-heading);font-size:1.75rem;font-weight:600;color:var(--color-charcoal);margin-bottom:var(--space-md)}.error-screen__message{font-family:var(--font-body);font-size:1rem;color:var(--color-dark-gray);line-height:1.6;margin-bottom:var(--space-sm)}.error-screen__suggestion{font-family:var(--font-body);font-size:.875rem;color:var(--color-mid-gray);line-height:1.6;margin-bottom:var(--space-xl)}.error-screen__retry{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-xl);background:var(--color-primary);color:var(--color-white);font-family:var(--font-body);font-size:.9375rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast)}.error-screen__retry:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.error-screen__retry:active{transform:translateY(0)}.error-screen__footer{margin-top:var(--space-3xl);padding-top:var(--space-xl);border-top:1px solid var(--color-gray)}.error-screen__link{font-family:var(--font-body);font-size:.875rem;color:var(--color-mid-gray);text-decoration:none;transition:var(--transition-fast)}.error-screen__link:hover{color:var(--color-primary)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #698BAC;--color-primary-dark: #567593;--color-primary-light: #8BA8C4;--color-primary-subtle: rgba(105, 139, 172, .08);--color-white: #ffffff;--color-off-white: #fafbfc;--color-light-gray: #f4f5f7;--color-gray: #e1e4e8;--color-mid-gray: #8b949e;--color-dark-gray: #57606a;--color-charcoal: #2d333b;--color-near-black: #1c2128;--color-success: #3fb950;--color-error: #f85149;--font-heading: "Raleway", "Helvetica Neue", sans-serif;--font-body: "Lato", "Helvetica Neue", sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 5rem;--space-5xl: 6rem;--container-max: 1200px;--container-wide: 1400px;--header-height: 75px;--topbar-height: 40px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--transition-fast: .15s var(--ease-out-quart);--transition-normal: .3s var(--ease-out-expo);--transition-slow: .5s var(--ease-out-expo);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .04);--shadow-md: 0 2px 4px rgba(0, 0, 0, .02), 0 4px 8px rgba(0, 0, 0, .04), 0 8px 16px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .02), 0 8px 16px rgba(0, 0, 0, .04), 0 16px 32px rgba(0, 0, 0, .06), 0 32px 64px rgba(0, 0, 0, .04);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .03), 0 16px 32px rgba(0, 0, 0, .06), 0 32px 64px rgba(0, 0, 0, .08);--shadow-glow: 0 0 0 4px var(--color-primary-subtle);--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-size:1.125rem;font-weight:400;line-height:1.7;color:var(--color-near-black);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--color-primary)}h1{font-size:clamp(2.5rem,5vw,4.625rem);font-weight:900;text-transform:uppercase;letter-spacing:.5em}h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:600;text-transform:uppercase;letter-spacing:.15em}h3{font-size:1.25rem;font-weight:600}p{margin-bottom:var(--space-md);line-height:1.8}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl)}.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--space-xl)}.section{padding:var(--space-5xl) 0}.section-header{text-align:center;max-width:800px;margin:0 auto var(--space-3xl)}.section-header h2{margin-bottom:var(--space-md)}.section-header p{font-size:1rem;color:var(--color-dark-gray);margin:0}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-heading);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;text-decoration:none;border:none;cursor:pointer;transition:all var(--transition-normal);overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.btn:hover:before{opacity:1}.btn-primary{background:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-dark);color:var(--color-white);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-xs)}.btn-secondary{background:transparent;color:var(--color-charcoal);border:2px solid var(--color-gray)}.btn-secondary:hover{background:var(--color-charcoal);color:var(--color-white);border-color:var(--color-charcoal);transform:translateY(-1px)}.btn-white{background:var(--color-white);color:var(--color-primary);box-shadow:var(--shadow-sm)}.btn-white:hover{background:var(--color-off-white);color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}input,select,textarea{font-family:var(--font-body);font-size:1rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-light-gray)}::-webkit-scrollbar-thumb{background:var(--color-mid-gray);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}::selection{background:var(--color-primary-light);color:var(--color-white)}img{max-width:100%;height:auto;display:block}#root{min-height:100vh;display:flex;flex-direction:column}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroZoom{0%{transform:scale(1)}to{transform:scale(1.08)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-out-expo),transform .6s var(--ease-out-expo)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.animate-on-scroll.delay-1{transition-delay:.1s}.animate-on-scroll.delay-2{transition-delay:.2s}.animate-on-scroll.delay-3{transition-delay:.3s}.animate-on-scroll.delay-4{transition-delay:.4s}@media(max-width:768px){.container,.container-wide{padding:0 var(--space-md)}.section{padding:var(--space-3xl) 0}}.topbar{background:linear-gradient(180deg,var(--color-near-black) 0%,var(--color-charcoal) 100%);color:var(--color-white);height:var(--topbar-height);display:flex;align-items:center;position:relative}.topbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.topbar__container{max-width:var(--container-wide);width:100%;margin:0 auto;padding:0 var(--space-xl);display:flex;justify-content:space-between;align-items:center}.topbar__phone{display:flex;align-items:center;gap:var(--space-sm);color:#ffffffe6;font-size:.875rem;font-weight:400;letter-spacing:.02em;text-decoration:none;transition:all var(--transition-fast)}.topbar__phone:hover{color:var(--color-white)}.topbar__phone svg{font-size:1rem;opacity:.8}.topbar__cta{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-lg);background:var(--color-primary);color:var(--color-white);font-family:var(--font-heading);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;transition:all var(--transition-normal);position:relative;overflow:hidden}.topbar__cta:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.topbar__cta:hover{background:var(--color-primary-dark);color:var(--color-white);transform:translateY(-1px)}.topbar__cta:hover:before{opacity:1}.header{position:sticky;top:0;z-index:100;background:var(--color-white);height:var(--header-height);display:flex;align-items:center;box-shadow:0 1px #0000000a;transition:all var(--transition-normal)}.header--scrolled{box-shadow:var(--shadow-md);background:#fffffffa;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header__container{max-width:var(--container-wide);width:100%;margin:0 auto;padding:0 var(--space-xl);display:flex;align-items:center;justify-content:space-between}.header__logo{cursor:pointer;text-decoration:none}.header__logo-badge{display:flex;flex-direction:column;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-primary);text-align:center}.header__logo-name{font-family:var(--font-heading);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);line-height:1.2}.header__logo-tagline{font-family:var(--font-heading);font-size:.6rem;font-weight:400;text-transform:uppercase;letter-spacing:.2em;color:var(--color-primary);margin-top:2px}.header__nav{display:flex;align-items:center}.header__nav-list{display:flex;list-style:none;margin:0;padding:0;gap:0}.header__nav-list>li>a{display:flex;align-items:center;padding:var(--space-md) var(--space-lg);font-family:var(--font-heading);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-charcoal);text-decoration:none;cursor:pointer;transition:all var(--transition-fast);position:relative}.header__nav-list>li>a:after{content:"";position:absolute;bottom:8px;left:var(--space-lg);right:var(--space-lg);height:1px;background:var(--color-primary);transform:scaleX(0);transform-origin:right;transition:transform var(--transition-normal)}.header__nav-list>li>a:hover{color:var(--color-primary)}.header__nav-list>li>a:hover:after{transform:scaleX(1);transform-origin:left}.header__nav-btn{background:var(--color-primary)!important;color:var(--color-white)!important;margin-left:var(--space-sm)}.header__nav-btn:hover{background:var(--color-primary-dark)!important;color:var(--color-white)!important}.header__nav-dropdown{position:relative}.header__dropdown-menu{position:absolute;top:100%;left:0;min-width:200px;background:var(--color-white);box-shadow:var(--shadow-lg);list-style:none;padding:var(--space-sm) 0;margin:0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-normal)}.header__nav-dropdown:hover .header__dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.header__dropdown-menu li a{display:block;padding:var(--space-sm) var(--space-lg);font-family:var(--font-heading);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-charcoal);text-decoration:none;cursor:pointer;transition:all var(--transition-fast)}.header__dropdown-menu li a:hover{background:var(--color-light-gray);color:var(--color-primary)}.header__menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;color:var(--color-charcoal);font-size:1.5rem;cursor:pointer;transition:color var(--transition-fast)}.header__menu-toggle:hover{color:var(--color-primary)}.mobile-menu{position:fixed;inset:0;z-index:200;pointer-events:none;visibility:hidden}.mobile-menu--open{pointer-events:auto;visibility:visible}.mobile-menu__backdrop{position:absolute;inset:0;background:#00000080;opacity:0;transition:opacity var(--transition-normal)}.mobile-menu--open .mobile-menu__backdrop{opacity:1}.mobile-menu__content{position:absolute;top:0;right:0;bottom:0;width:300px;max-width:85%;background:var(--color-white);padding:var(--space-3xl) var(--space-xl);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--transition-normal)}.mobile-menu--open .mobile-menu__content{transform:translate(0)}.mobile-menu__list{list-style:none;padding:0;margin:0;flex:1}.mobile-menu__list li a{display:block;padding:var(--space-md) 0;font-family:var(--font-heading);font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-charcoal);text-decoration:none;cursor:pointer;border-bottom:1px solid var(--color-gray);transition:color var(--transition-fast)}.mobile-menu__list li a:hover{color:var(--color-primary)}.mobile-menu__footer{padding-top:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.mobile-menu__btn{display:block;padding:var(--space-md);background:var(--color-primary);color:var(--color-white);font-family:var(--font-heading);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;text-align:center;text-decoration:none;transition:background var(--transition-fast)}.mobile-menu__btn:hover{background:var(--color-primary-dark);color:var(--color-white)}.mobile-menu__link{font-family:var(--font-heading);font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;text-align:center;color:var(--color-dark-gray);text-decoration:none;transition:color var(--transition-fast)}.mobile-menu__link:hover{color:var(--color-primary)}@media(max-width:1080px){.header__nav{display:none}.header__menu-toggle{display:flex}}@media(max-width:768px){.topbar__container,.header__container{padding:0 var(--space-md)}.topbar__phone span{display:none}}@media(max-width:480px){.header__logo-name{font-size:.75rem}.header__logo-tagline{font-size:.5rem}}.footer{background:var(--color-off-white);position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-gray),transparent)}.footer__container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl)}.footer__main{padding:var(--space-4xl) 0 var(--space-2xl)}.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:var(--space-3xl);margin-bottom:var(--space-2xl)}.footer__logo{display:flex;flex-direction:column;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-primary);text-align:center;margin-bottom:var(--space-lg);align-self:flex-start}.footer__logo-name{font-family:var(--font-heading);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary);line-height:1.2}.footer__logo-tagline{font-family:var(--font-heading);font-size:.55rem;font-weight:400;text-transform:uppercase;letter-spacing:.2em;color:var(--color-primary);margin-top:2px}.footer__contact p{margin:0 0 var(--space-xs);font-size:.9rem;color:var(--color-dark-gray);line-height:1.5}.footer__contact a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.footer__contact a:hover{color:var(--color-primary-dark)}.footer__hours h4,.footer__links h4{font-family:var(--font-heading);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-charcoal);margin-bottom:var(--space-md)}.footer__hours p{margin:0 0 var(--space-xs);font-size:.85rem;color:var(--color-dark-gray);line-height:1.5}.footer__links ul{list-style:none;padding:0;margin:0}.footer__links li{margin-bottom:var(--space-sm)}.footer__links a{font-size:.9rem;color:var(--color-dark-gray);text-decoration:none;transition:all var(--transition-fast);position:relative}.footer__links a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--color-primary);transition:width var(--transition-normal)}.footer__links a:hover{color:var(--color-primary)}.footer__links a:hover:after{width:100%}.footer__tour-label{font-size:.9rem;color:var(--color-dark-gray);margin-bottom:var(--space-md)}.footer__tour-btn{display:inline-block;padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--color-white);font-family:var(--font-heading);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;text-decoration:none;transition:all var(--transition-normal);position:relative;overflow:hidden}.footer__tour-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.footer__tour-btn:hover{background:var(--color-primary-dark);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.footer__tour-btn:hover:before{opacity:1}.footer__bottom{background:linear-gradient(180deg,var(--color-charcoal) 0%,var(--color-near-black) 100%);padding:var(--space-lg) 0;position:relative}.footer__bottom:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.footer__bottom .footer__container{display:flex;justify-content:space-between;align-items:center}.footer__bottom-content{display:flex;gap:var(--space-xl);align-items:center}.footer__copyright{font-size:.8rem;color:#ffffffb3;margin:0}.footer__legal{font-size:.75rem;color:#ffffff80;margin:0}.footer__legal a{color:#ffffff80;text-decoration:none;transition:color var(--transition-fast)}.footer__legal a:hover{color:#fffc}.footer__managed{text-align:right}.footer__managed p{margin:0;font-size:.75rem;color:#ffffff80}.footer__friedlam{font-family:var(--font-heading);font-size:.9rem!important;font-weight:600;color:#fffc!important;letter-spacing:.05em}@media(max-width:968px){.footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-2xl)}}@media(max-width:768px){.footer__container{padding:0 var(--space-md)}.footer__grid{grid-template-columns:1fr;gap:var(--space-xl)}.footer__bottom .footer__container{flex-direction:column;gap:var(--space-md);text-align:center}.footer__bottom-content{flex-direction:column;gap:var(--space-sm)}.footer__managed{text-align:center}}.hero{position:relative;width:100%;height:55vh;min-height:450px;max-height:650px;overflow:hidden}.hero__image-container{position:relative;width:100%;height:100%}.hero__image{width:100%;height:100%;object-fit:cover;object-position:center;animation:heroZoom 30s var(--ease-in-out) infinite alternate;will-change:transform}.hero__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0000001a,#0003),radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.15) 100%)}.hero__content{text-align:center;padding:0 var(--space-xl)}.hero__title{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:300;text-transform:uppercase;letter-spacing:.5em;color:var(--color-white);text-shadow:0 2px 4px rgba(0,0,0,.1),0 4px 20px rgba(0,0,0,.2),0 8px 40px rgba(0,0,0,.15);margin:0;opacity:0;animation:fadeInDown 1.2s var(--ease-out-expo) .3s forwards}.hero__title:after{content:"";display:block;width:60px;height:2px;background:var(--color-white);margin:var(--space-lg) auto 0;opacity:.6;animation:fadeIn 1s var(--ease-out-expo) .8s forwards;opacity:0}.hero__title.is-visible:after{opacity:.6}@media(max-width:768px){.hero{height:45vh;min-height:350px}.hero__title{letter-spacing:.25em}.hero__title:after{width:40px;margin-top:var(--space-md)}}@media(max-width:480px){.hero__title{font-size:1.75rem;letter-spacing:.15em}}.units{padding:var(--space-5xl) 0;background:var(--color-white);position:relative}.units:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,var(--color-primary-subtle) 0%,transparent 50%),radial-gradient(circle at 80% 20%,var(--color-primary-subtle) 0%,transparent 50%);pointer-events:none}.units__container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl);position:relative}.units__header{text-align:center;margin-bottom:var(--space-4xl)}.units__header h2{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--color-primary);margin-bottom:var(--space-md)}.units__header p{font-size:1rem;color:var(--color-dark-gray);max-width:600px;margin:0 auto}.units__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3xl) var(--space-4xl);margin-bottom:var(--space-xl)}.unit-card{text-align:center;padding:var(--space-xl);background:var(--color-white);border:1px solid var(--color-gray);transition:all var(--transition-normal);opacity:0;transform:translateY(20px)}.unit-card.is-visible{opacity:1;transform:translateY(0)}.unit-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.unit-card__type{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-primary);margin-bottom:var(--space-xs);transition:color var(--transition-fast)}.unit-card:hover .unit-card__type{color:var(--color-primary-dark)}.unit-card__specs{font-family:var(--font-body);font-size:.9rem;color:var(--color-dark-gray);margin-bottom:var(--space-lg);letter-spacing:.02em}.unit-card__image{cursor:pointer;margin-bottom:var(--space-md);transition:transform var(--transition-normal);overflow:hidden}.unit-card__image:hover{transform:scale(1.02)}.unit-card__floorplan{width:100%;aspect-ratio:4 / 3;object-fit:contain;background:var(--color-light-gray);transition:all var(--transition-normal)}.unit-card:hover .unit-card__floorplan{background:var(--color-off-white)}.unit-card__link{background:none;border:none;font-family:var(--font-heading);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-dark-gray);cursor:pointer;padding:var(--space-sm) var(--space-md);transition:all var(--transition-fast);position:relative}.unit-card__link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:1px;background:var(--color-primary);transition:all var(--transition-normal);transform:translate(-50%)}.unit-card__link:hover{color:var(--color-primary)}.unit-card__link:hover:after{width:100%}.units__note{text-align:center;font-size:.9rem;color:var(--color-dark-gray);font-style:italic;margin:var(--space-xl) 0 0;opacity:0;animation:fadeInUp .6s var(--ease-out-expo) .4s forwards}.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .3s var(--ease-out-expo)}.modal__content{position:relative;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;background:var(--color-white);box-shadow:var(--shadow-xl);animation:scaleIn .4s var(--ease-out-expo)}.modal__close{position:absolute;top:var(--space-md);right:var(--space-md);display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--color-light-gray);border:none;border-radius:50%;color:var(--color-charcoal);font-size:1.25rem;cursor:pointer;transition:all var(--transition-fast)}.modal__close:hover{background:var(--color-gray);transform:rotate(90deg)}.modal__header{padding:var(--space-2xl);text-align:center;border-bottom:1px solid var(--color-gray);background:var(--color-off-white)}.modal__header h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-primary);margin-bottom:var(--space-sm)}.modal__header p{font-size:1rem;color:var(--color-dark-gray);margin:0}.modal__body{padding:var(--space-2xl)}.modal__floorplan{width:100%;max-height:400px;object-fit:contain;background:var(--color-light-gray);margin-bottom:var(--space-xl)}.modal__features h4{font-family:var(--font-heading);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-primary);margin-bottom:var(--space-md)}.modal__features ul{list-style:none;padding-left:0;margin:0;display:grid;gap:var(--space-sm)}.modal__features li{font-size:.95rem;color:var(--color-dark-gray);padding-left:var(--space-lg);position:relative}.modal__features li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:600}.modal__footer{padding:var(--space-lg) var(--space-2xl) var(--space-2xl);text-align:center;border-top:1px solid var(--color-gray);background:var(--color-off-white)}@media(max-width:768px){.units__container{padding:0 var(--space-md)}.units__grid{grid-template-columns:1fr;gap:var(--space-3xl)}.modal__header,.modal__body,.modal__footer{padding-left:var(--space-lg);padding-right:var(--space-lg)}}.amenities{background:var(--color-light-gray);position:relative}.amenities:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,transparent 20%),linear-gradient(0deg,rgba(255,255,255,.3) 0%,transparent 20%);pointer-events:none}.amenities__photos{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;position:relative}.amenities__photo{aspect-ratio:4 / 3;overflow:hidden;position:relative}.amenities__photo img{width:100%;height:100%;object-fit:cover;transition:all var(--transition-normal)}.amenities__photo:hover img{transform:scale(1.08)}.amenities__container{max-width:var(--container-max);margin:0 auto;padding:var(--space-4xl) var(--space-xl);position:relative}.amenities__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl)}.amenities__column{opacity:0;transform:translateY(20px);animation:fadeInUp .6s var(--ease-out-expo) forwards}.amenities__column:nth-child(2){animation-delay:.15s}.amenities__column h2{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-primary);margin-bottom:var(--space-lg);position:relative;padding-bottom:var(--space-md)}.amenities__column h2:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background:var(--color-primary)}.amenities__intro{font-size:.95rem;color:var(--color-dark-gray);margin-bottom:var(--space-lg);line-height:1.8}.amenities__list{list-style:none;padding-left:0;margin:0}.amenities__list li{font-size:.95rem;color:var(--color-near-black);margin-bottom:var(--space-sm);line-height:1.6;padding-left:var(--space-lg);position:relative;transition:all var(--transition-fast)}.amenities__list li:before{content:"—";position:absolute;left:0;color:var(--color-primary);font-weight:300}.amenities__list li:hover{color:var(--color-primary);padding-left:var(--space-xl)}@media(max-width:968px){.amenities__photos{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.amenities__container{padding:var(--space-3xl) var(--space-md)}.amenities__grid{grid-template-columns:1fr;gap:var(--space-3xl)}}@media(max-width:480px){.amenities__photos{grid-template-columns:1fr}}.location{background:linear-gradient(180deg,var(--color-near-black) 0%,var(--color-charcoal) 100%);padding:var(--space-5xl) 0;position:relative;overflow:hidden}.location:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(105,139,172,.08) 0%,transparent 70%);pointer-events:none}.location__container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl);position:relative}.location__title{font-family:var(--font-heading);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:300;text-transform:uppercase;letter-spacing:.4em;color:var(--color-white);text-align:center;margin-bottom:var(--space-3xl);opacity:0;animation:fadeInDown .8s var(--ease-out-expo) .2s forwards}.location__content{max-width:900px;margin:0 auto}.location__content p{font-size:1rem;line-height:1.9;color:#ffffffbf;text-align:center;margin-bottom:var(--space-xl);opacity:0;animation:fadeIn .8s var(--ease-out-expo) .4s forwards}.location__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);margin-top:var(--space-2xl)}.location__list{list-style:none;padding-left:0;margin:0}.location__list li{font-size:.95rem;color:#ffffffb3;margin-bottom:var(--space-md);line-height:1.6;padding-left:var(--space-lg);position:relative;transition:all var(--transition-fast)}.location__list li:before{content:"•";position:absolute;left:0;color:var(--color-primary-light)}.location__list li:hover{color:var(--color-white);padding-left:var(--space-xl)}@media(max-width:768px){.location__container{padding:0 var(--space-md)}.location__grid{grid-template-columns:1fr;gap:var(--space-xl)}.location__title{letter-spacing:.15em}}.contact{padding:var(--space-5xl) 0;background:var(--color-white);position:relative}.contact__container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl)}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl);align-items:start}.contact__info{display:flex;flex-direction:column;gap:var(--space-xl)}.contact__info-item{display:flex;gap:var(--space-md);align-items:flex-start;transition:all var(--transition-fast)}.contact__info-item:hover{transform:translate(4px)}.contact__icon{font-size:1.25rem;color:var(--color-primary);margin-top:2px;flex-shrink:0;transition:all var(--transition-fast)}.contact__info-item:hover .contact__icon{transform:scale(1.1)}.contact__info-item p{margin:0;font-size:.95rem;color:var(--color-near-black);line-height:1.6}.contact__info-item a{font-size:.95rem;color:var(--color-primary);text-decoration:none;transition:all var(--transition-fast);position:relative}.contact__info-item a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--color-primary);transition:width var(--transition-normal)}.contact__info-item a:hover{color:var(--color-primary-dark)}.contact__info-item a:hover:after{width:100%}.contact__label{font-family:var(--font-heading);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-dark-gray);margin-bottom:var(--space-xs)!important}.contact__form-wrapper{background:var(--color-off-white);padding:var(--space-2xl);box-shadow:var(--shadow-md);position:relative}.contact__form-wrapper:before{content:"";position:absolute;top:0;left:0;width:60px;height:60px;border-top:3px solid var(--color-primary);border-left:3px solid var(--color-primary)}.contact__form{display:flex;flex-direction:column;gap:var(--space-lg)}.contact__honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact__form-group{display:flex;flex-direction:column}.contact__form-group label{font-family:var(--font-heading);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-charcoal);margin-bottom:var(--space-sm)}.contact__form-group input,.contact__form-group textarea{padding:var(--space-md);font-family:var(--font-body);font-size:1rem;color:var(--color-near-black);background:var(--color-white);border:1px solid var(--color-gray);transition:all var(--transition-normal)}.contact__form-group input:focus,.contact__form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.contact__form-group textarea{resize:vertical;min-height:120px}.contact__submit{padding:var(--space-md) var(--space-2xl);font-family:var(--font-heading);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-white);background:var(--color-primary);border:none;cursor:pointer;transition:all var(--transition-normal);align-self:flex-start;position:relative;overflow:hidden}.contact__submit:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.contact__submit:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact__submit:hover:not(:disabled):before{opacity:1}.contact__submit:active:not(:disabled){transform:translateY(0)}.contact__submit:disabled{background:var(--color-mid-gray);cursor:not-allowed}.contact__message{font-size:.9rem;padding:var(--space-md);text-align:center;margin:0;animation:fadeInUp .4s var(--ease-out-expo)}.contact__message--success{background:#3fb9501a;color:var(--color-success);border-left:3px solid var(--color-success)}.contact__message--error{background:#f851491a;color:var(--color-error);border-left:3px solid var(--color-error)}@media(max-width:768px){.contact__container{padding:0 var(--space-md)}.contact__grid{grid-template-columns:1fr;gap:var(--space-3xl)}.contact__form-wrapper{padding:var(--space-xl)}.contact__submit{width:100%}}.promo-bar{position:fixed;bottom:var(--space-xl);right:var(--space-xl);width:320px;max-width:calc(100vw - var(--space-xl) * 2);background:var(--color-white);border-radius:var(--radius-sm);box-shadow:var(--shadow-xl);padding:var(--space-xl);z-index:90;animation:promoSlideIn .5s var(--ease-out-expo) forwards}.promo-bar--closing{animation:promoSlideOut .3s var(--ease-in-out) forwards}@keyframes promoSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes promoSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.98)}}.promo-bar:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-sm) var(--radius-sm) 0 0}.promo-bar__close{position:absolute;top:var(--space-sm);right:var(--space-sm);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;color:var(--color-mid-gray);font-size:1rem;cursor:pointer;border-radius:50%;transition:all var(--transition-fast)}.promo-bar__close:hover{background:var(--color-light-gray);color:var(--color-charcoal)}.promo-bar__badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-primary-subtle);color:var(--color-primary);font-family:var(--font-heading);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-xs);margin-bottom:var(--space-sm)}.promo-bar__badge svg{font-size:.75rem}.promo-bar__headline{font-family:var(--font-heading);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-dark-gray);margin-bottom:var(--space-sm)}.promo-bar__offer{margin-bottom:var(--space-md)}.promo-bar__offer-text{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-primary);line-height:1.2}.promo-bar__details{font-size:.8rem;color:var(--color-dark-gray);line-height:1.5;margin-bottom:var(--space-lg)}.promo-bar__cta{display:block;width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:var(--color-white);font-family:var(--font-heading);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;text-align:center;text-decoration:none;border-radius:var(--radius-xs);transition:all var(--transition-normal);position:relative;overflow:hidden}.promo-bar__cta:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.promo-bar__cta:hover{background:var(--color-primary-dark);color:var(--color-white);transform:translateY(-1px);box-shadow:var(--shadow-md)}.promo-bar__cta:hover:before{opacity:1}@media(max-width:480px){.promo-bar{bottom:var(--space-md);right:var(--space-md);left:var(--space-md);width:auto;max-width:none;padding:var(--space-lg)}.promo-bar__offer-text{font-size:1.25rem}}.app{display:flex;flex-direction:column;min-height:100vh}.app main{flex:1}html{scroll-padding-top:120px}section[id]{scroll-margin-top:120px}
