:root{color-scheme:light;--color-ink:#20201d;--color-muted:#625f58;--color-soft:#f5f2ec;--color-paper:#fffdfa;--color-surface:#fbf8f3;--color-line:#ded7cc;--color-primary:#2e749c;--color-primary-hover:#245f81;--color-primary-contrast:#fffdfa;--color-accent:var(--color-primary);--color-accent-hover:var(--color-primary-hover);--color-accent-strong:var(--color-primary);--color-accent-soft:#2e749c1a;--color-sky:#7fc5e8;--color-sun:#d99f55;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--radius-pill:999px;--shadow-soft:0 18px 48px #362f2617;--shadow-card:0 14px 36px #362f2614;--shadow-lift:0 22px 54px #362f261f;--content-width:1200px;--content-width-wide:1400px;--section-space:clamp(64px, 9vw, 112px);--transition-fast:.18s;--transition-base:.26s;--transition-ease:cubic-bezier(.22, 1, .36, 1);--site-header-height:72px;--site-frame-x:clamp(16px, 3.5vw, 56px);--site-frame-inner-gap:clamp(10px, 2.5vw, 28px);background:var(--color-paper);color:var(--color-ink);font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, #f5f2ecd1, #fffdfafa 460px), var(--color-paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-width:320px;margin:0;overflow-x:clip}.site-frame{min-height:calc(100svh - var(--site-header-height));isolation:isolate;position:relative}.site-frame:before{display:none}.site-frame>main{z-index:1;position:relative}.motion-ready [data-scroll-reveal]{opacity:0;transition:opacity .62s var(--transition-ease), transform .62s var(--transition-ease);transform:translateY(16px)}.motion-ready [data-scroll-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation:.22s both page-exit}::view-transition-new(root){animation:.56s 70ms both page-enter}}@keyframes page-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(.994)}}@keyframes page-enter{0%{opacity:0;transform:translateY(18px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}body,button,input,textarea{font:inherit}a{color:inherit}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #2e749c4d}img,svg{max-width:100%;display:block}.container{width:min(calc(100% - (var(--site-frame-x) + var(--site-frame-inner-gap)) * 2), var(--content-width));margin-inline:auto}.section{padding-block:var(--section-space)}.section-header{gap:12px;max-width:760px;margin-bottom:clamp(30px,4vw,48px);display:grid}.eyebrow{color:var(--color-primary);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-ink);letter-spacing:-.035em;text-wrap:balance;line-height:1.06}h1{max-width:920px;margin-bottom:20px;font-size:clamp(2.45rem,6vw,5.4rem)}h2{margin-bottom:14px;font-size:clamp(1.9rem,4vw,3.35rem)}h3{margin-bottom:10px;font-size:1.25rem}p{color:var(--color-muted);line-height:1.68}.lead{max-width:720px;font-size:clamp(1.05rem,1.8vw,1.24rem);line-height:1.65}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{border:1px solid var(--color-primary);border-radius:var(--radius-pill);background:var(--color-primary);min-height:48px;color:var(--color-primary-contrast);cursor:pointer;transition:background-color var(--transition-fast) ease, border-color var(--transition-fast) ease, color var(--transition-fast) ease, box-shadow var(--transition-fast) ease, transform var(--transition-fast) var(--transition-ease);justify-content:center;align-items:center;padding:12px 20px;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover,.button:focus-visible{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 12px 26px #2e749c38}.button.secondary{color:var(--color-primary);background:#fffdfa8a;border-color:#2e749c6b}.button.secondary:hover,.button.secondary:focus-visible{background:var(--color-accent-soft);border-color:var(--color-primary);color:var(--color-primary)}.button[aria-disabled=true],.button:disabled{border-color:var(--color-line);box-shadow:none;color:#716d66;cursor:not-allowed;background:#e8e3da;transform:none}.booking-cta{isolation:isolate;position:relative;overflow:hidden}.booking-cta>span{z-index:1;position:relative}.booking-cta:before,.booking-cta:after{content:"";pointer-events:none;position:absolute}.booking-cta:before{border-radius:inherit;opacity:.72;border:1px solid #ffffff2e;transition:border-color .22s,box-shadow .22s,opacity .22s;inset:1px;box-shadow:inset 0 1px #ffffff47,inset 1px 0 #ffffff14}.booking-cta:after{opacity:0;width:34%;height:170%;transition:left .52s var(--transition-ease), opacity .18s ease;background:linear-gradient(100deg,#0000 0%,#ffffff0f 30%,#ffffff6b 50%,#ffffff14 70%,#0000 100%);top:-35%;left:-58%;transform:skew(-18deg)}.booking-cta:hover:before,.booking-cta:focus-visible:before{opacity:1;border-color:#ffffff57;box-shadow:inset 0 1px #ffffff80,inset 1px 0 #ffffff24}.booking-cta:hover:after,.booking-cta:focus-visible:after{opacity:.88;left:124%}.grid{gap:20px;display:grid}.apartment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.text-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}.panel{border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:#fffdfae6}.muted-list{margin:0;padding:0;list-style:none}.muted-list li{border-bottom:1px solid var(--color-line);color:var(--color-muted);padding-block:12px;line-height:1.5}.muted-list li:last-child{border-bottom:0}.page-kicker{padding-top:calc(var(--site-header-height) + clamp(54px, 8vw, 92px));background:linear-gradient(#f5f2ecc7,#fffdfa00);padding-bottom:clamp(42px,6vw,72px);position:relative}.legal-copy{max-width:820px}.legal-copy h2{margin-top:40px;font-size:1.45rem}.legal-copy p{max-width:760px}@media (width<=700px){:root{--site-header-height:116px}}@media (width<=820px){.apartment-grid,.text-grid{grid-template-columns:1fr}.section{padding-block:clamp(54px,10vw,76px)}}@media (width<=560px){.container{width:min(calc(100% - (var(--site-frame-x) + var(--site-frame-inner-gap)) * 2), var(--content-width))}.button,.button-row{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.booking-cta:after{display:none}}
