:root{--deep: #1F3B32;--deep-2: #16291F;--ink: #14201B;--muted: #55645D;--paper: #FBF6EF;--sand: #F3E3D3;--blush: #F2D2C4;--mint: #CFE5DA;--sage: #A9C9B8;--sky: #D7E6EF;--ochre: #E9B872;--line: rgba(20, 32, 27, .12);--focus: var(--deep);--font-display: "Archivo Black", "Franklin Gothic Heavy", "Helvetica Neue", sans-serif;--font-body: "Archivo", "Helvetica Neue", "Franklin Gothic Medium", sans-serif;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-md: 1.0625rem;--fs-lg: 1.25rem;--fs-xl: 1.625rem;--fs-2xl: clamp(1.9rem, 6vw, 2.6rem);--fs-display: clamp(2.6rem, 11vw, 6rem);--radius: 22px;--radius-sm: 14px;--shadow: 0 1px 2px rgba(20, 32, 27, .06), 0 18px 40px -22px rgba(20, 32, 27, .28);--ease-slow: cubic-bezier(.22, 1, .36, 1);--reveal: .8s;--gap: 14px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tab-h: 64px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:var(--font-body);font-size:var(--fs-md);line-height:1.55;color:var(--ink);background:var(--paper);overflow-x:hidden;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,.display-2{font-family:var(--font-display);font-weight:400;line-height:1.02;letter-spacing:-.01em}h3{font-size:var(--fs-lg);font-weight:700;line-height:1.25}.display-2{font-size:var(--fs-2xl);margin-top:6px}p+p{margin-top:.75em}a{color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ochre);color:var(--ink);padding:10px 14px;border-radius:10px;font-weight:700}.skip-link:focus{top:12px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.section-contact :focus-visible,.section-floors :focus-visible,.site-footer :focus-visible{outline-color:var(--ochre)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:10px 20px;border-radius:999px;border:2px solid transparent;font:700 var(--fs-sm) / 1 var(--font-body);text-decoration:none;cursor:pointer;transition:transform .6s var(--ease-slow),background-color .4s ease,color .4s ease}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--deep);color:var(--paper)}.btn-ghost{background:transparent;color:var(--deep);border-color:var(--deep)}.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-danger{background:#8a2b22;color:var(--paper)}.btn-block{width:100%}.link-btn{background:none;border:0;padding:8px 4px;min-height:44px;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.notice{margin:8px 16px 0;padding:10px 14px;border-radius:var(--radius-sm);background:var(--sky);font-size:var(--fs-sm)}.form-error,.field-error{color:#8a2b22;font-weight:600}.form-success{color:var(--deep);background:var(--mint);padding:12px 14px;border-radius:var(--radius-sm);font-weight:600}.form-hint{color:var(--muted);font-size:var(--fs-sm)}.form-error{margin-bottom:12px}.state-card{display:grid;gap:12px;justify-items:start;padding:28px}.skeleton{min-height:120px;background:linear-gradient(90deg,var(--sand),var(--blush),var(--sand));background-size:200% 100%;animation:shimmer 1.6s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.eyebrow{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.eyebrow-light{color:var(--sage)}.section-lead{margin-top:12px;color:var(--muted);max-width:58ch}.app{min-height:100vh;padding-bottom:calc(var(--tab-h) + var(--safe-bottom) + 12px)}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + var(--safe-top)) 16px 10px;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}.brand-mark{width:32px;height:32px}.brand-name{font-family:var(--font-display);font-size:.95rem;letter-spacing:-.005em}.top-nav{display:none;gap:4px}.top-nav a{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;text-decoration:none;font-weight:600;font-size:var(--fs-sm)}.top-nav a:hover{background:var(--mint)}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 8px calc(6px + var(--safe-bottom));background:var(--deep);box-shadow:0 -12px 30px -18px #14201b99}.tab-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;color:var(--sand);text-decoration:none;font-size:var(--fs-xs);font-weight:700;border-radius:14px}.tab-link:hover{background:#f3e3d31a}.tab-link:focus-visible{outline-color:var(--ochre)}.tab-dot{width:6px;height:6px;border-radius:50%;background:var(--ochre)}.hero{display:grid;gap:var(--gap);padding:16px;max-width:1280px;margin:0 auto}.tile-hero{background:var(--sand);border-color:transparent;padding:26px 22px 28px;position:relative;overflow:hidden}.tile-hero:after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;border-radius:50%;background:var(--blush);z-index:0}.tile-hero>*{position:relative;z-index:1}.kinetic{font-family:var(--font-display);font-size:var(--fs-display);line-height:.92;letter-spacing:-.03em;margin:8px 0 18px;color:var(--deep)}.kinetic-line{display:block;will-change:transform}.kinetic-accent{color:var(--ink);padding-left:.6em}.lead{font-size:var(--fs-md);max-width:44ch;color:var(--ink)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.hero-stamp{margin-top:26px;display:inline-block;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--deep);background:var(--paper);padding:8px 14px;border-radius:999px}.tile-scene{background:var(--mint);border-color:transparent;padding:0;position:relative;min-height:300px;overflow:hidden;cursor:grab;touch-action:pan-y}.tower-canvas,.tower-canvas canvas{width:100%;height:100%;min-height:300px}.tower-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.tower-fallback{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scene-caption{position:absolute;left:16px;bottom:14px;right:16px;font-size:var(--fs-xs);font-weight:700;color:var(--deep);background:#fbf6efd9;padding:8px 12px;border-radius:999px;width:fit-content;max-width:calc(100% - 32px)}.tile-outlook{background:var(--deep);color:var(--paper);border-color:transparent}.tile-outlook h2{font-family:var(--font-display);font-weight:400;font-size:var(--fs-xl);margin-bottom:10px;color:var(--ochre)}.tile-outlook p{color:var(--sand)}.tile-area{background:var(--blush);border-color:transparent}.tile-title{font-family:var(--font-display);font-weight:400;font-size:var(--fs-xl);margin-bottom:12px}.place-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.place-item{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:10px 0;border-top:1px solid rgba(20,32,27,.14)}.place-index{font-family:var(--font-display);color:var(--deep);font-size:var(--fs-sm);padding-top:2px}.place-item h3{font-size:var(--fs-md)}.place-item p{font-size:var(--fs-sm);color:var(--ink)}.section{padding:56px 16px;max-width:1280px;margin:0 auto}.section-head{margin-bottom:22px}.section-listings{padding-top:64px}.listings-grid{display:grid;gap:var(--gap)}.tile-list{padding:8px}.listing-list{list-style:none;margin:0;padding:0}.listing-row{display:grid;grid-template-columns:1fr auto;align-items:stretch;gap:6px;border-bottom:1px solid var(--line)}.listing-row:last-child{border-bottom:0}.row-main{display:grid;gap:2px;text-align:left;min-height:64px;padding:12px;background:none;border:0;border-radius:var(--radius-sm);font:inherit;color:inherit;cursor:pointer;transition:background-color .5s ease,transform .6s var(--ease-slow)}.row-main:hover,.listing-row.is-active .row-main{background:var(--mint)}.row-main[aria-pressed=true]{box-shadow:inset 4px 0 0 var(--deep)}.row-title{font-family:var(--font-display);font-size:var(--fs-md);line-height:1.2}.row-meta{font-size:var(--fs-sm);color:var(--muted)}.row-price{font-weight:700;font-size:var(--fs-sm);color:var(--deep)}.save-btn{align-self:center;min-height:44px;min-width:72px;padding:0 12px;border-radius:999px;border:2px solid var(--deep);background:transparent;color:var(--deep);font:700 var(--fs-xs) / 1 var(--font-body);cursor:pointer}.save-btn.is-saved{background:var(--deep);color:var(--paper)}.save-btn:disabled{opacity:.6}.tile-detail{background:var(--sand);border-color:transparent;display:grid;gap:10px;align-content:start}.detail-title{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:400;line-height:1.15}.detail-price{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--deep)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0}.facts div{background:var(--paper);border-radius:var(--radius-sm);padding:10px 12px}.facts dt{font-size:var(--fs-xs);color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.facts dd{margin:2px 0 0;font-weight:700}.detail-view{font-style:italic}.tile-detail .btn{justify-self:start;margin-top:6px}.float-preview{position:fixed;z-index:70;pointer-events:none;max-width:260px;background:var(--deep);color:var(--paper);padding:12px 14px;border-radius:var(--radius-sm);box-shadow:var(--shadow)}.float-title{font-family:var(--font-display);font-size:var(--fs-sm);color:var(--ochre)}.float-view{font-size:var(--fs-xs);color:var(--sand);margin-top:4px}.section-floors{background:var(--deep);color:var(--paper);max-width:none;padding:64px 16px}.section-floors>*{max-width:1280px;margin-left:auto;margin-right:auto}.section-floors .display-2{color:var(--paper)}.section-floors .section-lead{color:var(--sand)}.floors-body{display:grid;gap:var(--gap);margin-top:26px}.tower-grid{display:grid;gap:6px;background:#f3e3d30f;border-radius:var(--radius);padding:14px}.tower-head,.tower-row{display:grid;grid-template-columns:84px 1fr 1fr;gap:6px;align-items:center}.tower-head span{font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);text-align:center}.tower-floor{font-size:var(--fs-xs);font-weight:700;color:var(--sand)}.tower-cell{min-height:44px;border-radius:12px;border:1px solid rgba(243,227,211,.22);background:#f3e3d314;color:var(--sand);font:700 var(--fs-xs) / 1 var(--font-body);cursor:pointer;transition:background-color .5s ease,transform .6s var(--ease-slow),color .5s ease}.tower-cell:hover{transform:translateY(-1px);background:#f3e3d32e}.tower-cell-park{background:#a9c9b829}.tower-cell-skyline{background:#e9b8721f}.tower-cell.is-selected{background:var(--ochre);color:var(--ink);border-color:var(--ochre)}.section-floors :focus-visible{outline-color:var(--ochre)}.outlook-panel{background:var(--paper);color:var(--ink);display:grid;gap:10px;align-content:start}.panel-title{font-family:var(--font-display);font-weight:400;font-size:var(--fs-xl);line-height:1.1}.outlook-copy{font-size:var(--fs-md)}.floor-listings{font-size:var(--fs-sm);color:var(--muted)}.plain-list{margin:6px 0 0;padding-left:18px;color:var(--ink)}.outlook-panel .btn{justify-self:start;margin-top:6px}.section-mortgage{padding-top:64px}.mortgage-grid{display:grid;gap:var(--gap)}.mortgage-form{display:grid;gap:16px;align-content:start}.mortgage-result{background:var(--deep);color:var(--paper);border-color:transparent;display:grid;gap:14px;align-content:start}.mortgage-result .eyebrow-light{color:var(--sage)}.result-figure{font-family:var(--font-display);font-size:clamp(2rem,9vw,3.2rem);line-height:1;color:var(--ochre);overflow-wrap:anywhere}.result-empty{color:var(--sand);font-size:var(--fs-md)}.facts-light div{background:#f3e3d31a}.facts-light dt{color:var(--sage)}.facts-light dd{color:var(--paper)}.btn-ochre{background:var(--ochre);color:var(--ink);justify-self:start}.mortgage-result .btn-ochre:focus-visible{outline-color:var(--paper)}.section-contact{display:grid;gap:28px}.section-contact .display-2{color:var(--ink)}.contact-aside .display-2{color:var(--deep)}.contact-aside .eyebrow-light{color:var(--muted)}.contact-points{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.contact-points li{padding-left:22px;position:relative}.contact-points li:before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:3px;background:var(--ochre)}.contact-form{display:grid;gap:16px;background:var(--blush);border-color:transparent}.field{display:grid;gap:6px}.field-row{display:grid;gap:16px}.field label{font-weight:700;font-size:var(--fs-sm)}.field input,.field select,.field textarea{font:inherit;font-size:1rem;min-height:48px;padding:10px 14px;border-radius:var(--radius-sm);border:1.5px solid rgba(20,32,27,.25);background:var(--paper);color:var(--ink);width:100%}.field textarea{resize:vertical;min-height:110px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#8a2b22}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--deep);outline-offset:2px;border-color:var(--deep)}.section-account{padding-bottom:40px}.account-grid{display:grid;gap:var(--gap)}.account-card{display:grid;gap:12px;align-content:start;justify-items:start}.account-danger{background:var(--sky);border-color:transparent}.confirm-row{display:flex;flex-wrap:wrap;gap:10px}.auth-card{display:grid;gap:14px;max-width:480px}.auth-card form{display:grid;gap:14px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:999px;background:var(--sand)}.segmented button{min-height:44px;border:0;border-radius:999px;background:transparent;font:700 var(--fs-sm) / 1 var(--font-body);color:var(--ink);cursor:pointer}.segmented button[aria-pressed=true]{background:var(--deep);color:var(--paper)}.site-footer{background:var(--ink);color:var(--sand);padding:40px 20px 32px;display:grid;gap:10px}.footer-brand{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--paper)}.footer-note{font-size:var(--fs-sm);max-width:60ch;color:var(--sage)}.footer-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:8px}.footer-links a{min-height:44px;display:inline-flex;align-items:center;color:var(--paper);font-weight:600}.privacy-page{min-height:100vh}.privacy-head{padding:calc(14px + var(--safe-top)) 16px 14px;border-bottom:1px solid var(--line)}.privacy-body{max-width:720px;margin:0 auto;padding:28px 18px calc(48px + var(--safe-bottom));display:grid;gap:12px}.privacy-body h1{font-size:var(--fs-2xl)}.privacy-body h2{font-family:var(--font-display);font-weight:400;font-size:var(--fs-xl);margin-top:14px}.privacy-body ul{padding-left:20px;margin:0;display:grid;gap:6px}@media (min-width: 600px){.field-row,.listings-grid{grid-template-columns:1fr 1fr}.tile-list{grid-column:1 / -1}.account-grid{grid-template-columns:1fr 1fr}}@media (min-width: 800px){:root{--tab-h: 0px}html{scroll-padding-top:96px}.app{padding-bottom:0}.tab-bar{display:none}.top-nav{display:flex}.site-header{padding:calc(12px + var(--safe-top)) 32px}.hero{grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(120px,auto);padding:24px 32px 16px}.tile-hero{grid-column:1 / span 7;grid-row:1 / span 2;padding:44px 40px}.tile-scene{grid-column:8 / span 5;grid-row:1 / span 2;min-height:0}.tile-outlook{grid-column:1 / span 4}.tile-area{grid-column:5 / span 8}.section{padding:72px 32px}.listings-grid{grid-template-columns:1.1fr 1fr;align-items:start}.tile-list{grid-column:auto}.tile-detail{position:sticky;top:100px}.section-floors{padding:88px 32px}.floors-body{grid-template-columns:1.2fr 1fr;align-items:start}.outlook-panel{position:sticky;top:100px;padding:28px}.mortgage-grid{grid-template-columns:1.1fr 1fr;align-items:start}.mortgage-result{position:sticky;top:100px;padding:28px}.section-contact{grid-template-columns:1fr 1.1fr;align-items:start}.section-contact .contact-aside{position:sticky;top:110px}.contact-form{padding:32px}.account-grid{grid-template-columns:1fr 1fr}.site-footer{padding:48px 32px}}@media (min-width: 1100px){.kinetic{font-size:6.4rem}}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.tile{animation:rise linear both;animation-timeline:view();animation-range:entry 0% cover 28%}@keyframes rise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:hover,.tower-cell:hover{transform:none}}
