:root{
  --color-bg:#fff;--color-surface:#f7f7f9;--color-text:#171a2a;--color-muted:#626477;--color-accent:#28027a;--color-dark:#424659;--color-line:#171a2a26;--color-inverse:#fff;--color-inverse-muted:#e1e3ec;
  --font-body:'Montserrat',Arial,sans-serif;--font-display:'Montserrat',Arial,sans-serif;
  --text-xs:.75rem;--text-sm:clamp(.875rem,.83rem + .15vw,1rem);--text-base:clamp(1rem,.96rem + .12vw,1.08rem);--text-lg:clamp(1.125rem,1rem + .45vw,1.35rem);--text-xl:clamp(1.5rem,1.1rem + 1.3vw,2.3rem);--text-hero:clamp(2rem,1.2rem + 2.2vw,3.4rem);--text-number:clamp(1.7rem,1.2rem + 1.5vw,2.8rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;
  --gutter:clamp(var(--space-5),3vw,var(--space-12));--radius-sm:6px;--radius-md:14px;--radius-lg:24px;--ease:cubic-bezier(.16,1,.3,1)
}
html{scroll-padding-top:100px}
body{background:var(--color-bg);color:var(--color-text);font:400 var(--text-base)/1.65 var(--font-body);-webkit-font-smoothing:antialiased}
button{border:0;background:none}
.wrap{width:100%;max-width:1440px;padding-inline:var(--gutter);margin-inline:auto}
.section{padding-block:clamp(var(--space-12),4.5vw,var(--space-16))}
#main h1,#main h2,#main h3,#main p{margin:0}
#main h1,#main h2{font-family:var(--font-display);font-weight:400;line-height:1.2;text-transform:uppercase;letter-spacing:-.015em}
#main h2{font-size:var(--text-xl)}
#main p{color:var(--color-muted)}
#main figure{margin:0}
.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.11em;display:block;line-height:1.6}
.brand-topbar{background:var(--color-dark);color:var(--color-inverse);border-bottom:1px solid #ffffff30}
.topbar-inner{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);font-size:var(--text-xs)}
.topbar-inner>a{font-family:'Fira Sans',sans-serif;font-size:var(--text-lg);padding-left:var(--space-5);border-left:1px solid #ffffff30;min-height:36px;align-content:center}
.site-header{position:sticky;top:0;z-index:20;background:var(--color-dark);color:var(--color-inverse)}
.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.wordmark{min-height:44px;display:inline-flex;align-items:center;flex-shrink:0}
.wordmark img{width:150px;height:auto}
.desktop-nav{display:flex;gap:var(--space-8);font-size:var(--text-sm)}
.desktop-nav a{min-height:44px;align-content:center;border-bottom:1px solid transparent}
.desktop-nav a:hover{border-color:var(--color-inverse)}
.header-contact{min-height:44px;padding:var(--space-3) var(--space-5);border:1px solid var(--color-inverse);border-radius:var(--radius-sm);text-transform:uppercase;font-size:var(--text-xs)}
.header-contact:hover{background:var(--color-inverse);color:var(--color-dark)}
.menu-toggle{display:none;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-sm)}
.mobile-nav{position:fixed;left:0;right:0;z-index:25;background:var(--color-dark);color:var(--color-inverse);padding:var(--space-5) var(--gutter);border-top:1px solid #ffffff30;box-shadow:0 16px 32px #171a2a26}
.mobile-nav a,.mobile-nav button{display:block;text-align:left;min-height:48px;padding:var(--space-3) 0;font-size:var(--text-base)}
.breadcrumbs{display:flex;gap:var(--space-3);padding-block:var(--space-4);font-size:var(--text-xs);color:var(--color-muted)}
.breadcrumbs a{color:var(--color-accent)}
.hero-banner{display:grid;grid-template-columns:.95fr 1.15fr;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;min-height:480px}
.hero-copy{padding:var(--space-10);display:flex;align-items:start;flex-direction:column;justify-content:center}
.sale-label{color:var(--color-accent);display:flex;align-items:center;gap:var(--space-3)}
.sale-label>span{width:6px;height:6px;background:currentColor;border-radius:50%}
h1{font-size:var(--text-hero);margin:var(--space-5) 0 var(--space-5)}
.hero-lead{font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-4)}
.hero-copy>p:not(.hero-lead){font-size:var(--text-sm);max-width:40ch}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-4) var(--space-6);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:1.5;transition:background .2s var(--ease),color .2s var(--ease)}
.button>span{font-size:var(--text-lg);line-height:1}
.button-dark{background:var(--color-dark);color:var(--color-inverse)}
.button-dark:hover{background:var(--color-accent)}
.button-light{background:var(--color-bg);color:var(--color-dark)}
.button-light:hover{background:var(--color-inverse-muted)}
.hero-copy .button{margin-top:var(--space-6)}
.hero-figure{position:relative;min-height:480px}
.hero-figure>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:53% 45%}
.hero-figure>figcaption{position:absolute;left:var(--space-5);bottom:var(--space-5);background:var(--color-bg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-xs);box-shadow:0 4px 20px #171a2a16}
.hero-facts{display:grid;grid-template-columns:1.25fr 1fr 1fr;border-bottom:1px solid var(--color-line);padding-block:var(--space-6);gap:var(--space-8)}
.hero-facts>div{display:flex;flex-direction:column;gap:var(--space-1)}
.hero-facts strong{font-size:var(--text-xl);color:var(--color-accent);font-weight:500;line-height:1.4;white-space:nowrap}
.hero-facts strong small{font-size:var(--text-sm);font-weight:400}
.hero-facts>div>span{font-size:var(--text-xs);color:var(--color-muted)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-10);margin-bottom:var(--space-6)}
.section-heading h2{margin-top:var(--space-3)}
.section-heading>p{max-width:44ch;font-size:var(--text-sm)}
.residence-tabs{display:flex;background:var(--color-surface);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:1px solid var(--color-line);padding-inline:var(--space-4)}
.residence-tabs>button{flex:1;display:flex;align-items:center;gap:var(--space-5);min-height:60px;padding:var(--space-4);border-bottom:2px solid transparent;text-align:left;font-size:var(--text-sm);color:var(--color-muted)}
.residence-tabs>button>span{font-size:var(--text-xs)}
.residence-tabs>button[aria-selected=true]{color:var(--color-accent);border-color:var(--color-accent)}
.residence-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-10);padding-top:var(--space-6)}
.format-figure{position:relative;height:350px;overflow:hidden;border-radius:var(--radius-md);background:var(--color-surface)}
.format-figure>img{width:100%;height:100%;object-fit:cover}
.format-figure>figcaption{position:absolute;left:0;right:0;bottom:0;background:#171a2adb;color:var(--color-inverse);font-size:var(--text-xs);padding:var(--space-3) var(--space-4)}
.format-copy{padding-block:var(--space-3);min-width:0}
.format-copy h3{font-size:var(--text-lg);font-weight:500;line-height:1.4;margin-top:var(--space-3);text-transform:uppercase}
.format-copy>p{font-size:var(--text-sm);margin-top:var(--space-4)}
.format-copy ul{padding:0;margin:var(--space-5) 0;list-style:none;font-size:var(--text-sm)}
.format-copy li{position:relative;padding-left:var(--space-4);margin-top:var(--space-2)}
.format-copy li:before{content:"";position:absolute;width:4px;height:4px;left:0;top:.75em;background:var(--color-accent)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-6);border-bottom:1px solid var(--color-line);min-height:44px;padding:var(--space-3) 0;font-size:var(--text-sm);text-align:left;line-height:1.5}
.text-link>span{font-size:var(--text-lg)}
.text-link:hover{color:var(--color-accent);border-color:var(--color-accent)}
.format-copy .text-link{width:100%}
.comfort-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);padding-block:var(--space-6);margin-top:var(--space-6);border-top:1px solid var(--color-line)}
.comfort-row p{font-size:var(--text-xs);display:flex;flex-direction:column;gap:var(--space-2)}
.comfort-row strong{font-size:var(--text-sm);color:var(--color-text);font-weight:500}
.specifications{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}
.specifications summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:48px;padding-block:var(--space-3);font-size:var(--text-xs);cursor:pointer;list-style:none}
.specifications summary::-webkit-details-marker{display:none}
.specifications summary>span{font-size:var(--text-lg);transition:transform .2s}
.specifications[open] summary>span{transform:rotate(45deg)}
.specifications>div{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);padding-bottom:var(--space-5)}
.specifications p{font-size:var(--text-sm)}
.location-section{background:var(--color-surface);padding-block:var(--space-12);border-radius:var(--radius-lg)}
.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-12);align-items:center}
.location-copy h2{margin-block:var(--space-3) var(--space-5)}
.location-copy>p{font-size:var(--text-sm)}
.location-list{list-style:none;padding:0;margin:var(--space-5) 0 0;font-size:var(--text-sm)}
.location-list>li{border-top:1px solid var(--color-line);padding-block:var(--space-3)}
.plan-open{display:block;position:relative;width:100%;padding:0;border-radius:var(--radius-md);overflow:hidden;text-align:left}
.plan-open>img{width:100%;height:auto}
.plan-open>span{position:absolute;right:var(--space-4);bottom:var(--space-4);display:flex;gap:var(--space-6);background:var(--color-bg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-xs);box-shadow:0 4px 20px #171a2a26;min-height:44px;align-items:center}
.location-figure>figcaption{font-size:var(--text-xs);color:var(--color-muted);padding-top:var(--space-3)}
.payment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.payment-card{border:1px solid var(--color-line);padding:var(--space-6);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:start}
.payment-card:first-child{background:var(--color-dark);color:var(--color-inverse);border-color:var(--color-dark)}
.payment-label{font-size:var(--text-xs);letter-spacing:.06em}
.payment-card h3{font-size:var(--text-number);font-weight:500;line-height:1.3;white-space:nowrap;margin-block:var(--space-5);color:var(--color-accent)}
.payment-card:first-child h3{color:var(--color-inverse)}
.payment-card h3 small{font-size:var(--text-base);font-weight:400}
.payment-card>strong{font-size:var(--text-sm);font-weight:500;line-height:1.6;margin-bottom:var(--space-3)}
.payment-card>p{font-size:var(--text-xs);margin-bottom:var(--space-6)}
.payment-card:first-child>p{color:var(--color-inverse-muted)}
.payment-card>button{margin-top:auto;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;border-top:1px solid var(--color-line);padding:var(--space-3) 0 0;font-size:var(--text-xs);text-align:left}
.payment-card:first-child>button{border-color:#ffffff50}
.payment-card>button>span{font-size:var(--text-lg)}
.conditions-note{font-size:var(--text-xs);max-width:110ch;margin-top:var(--space-5)}
.contacts-section{background:var(--color-dark);color:var(--color-inverse);padding-block:var(--space-12);border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}
.contact-intro h2{margin-block:var(--space-3) var(--space-5)}
.contact-intro>p{font-size:var(--text-sm);color:var(--color-inverse-muted);max-width:44ch}
.contact-intro>.button{margin-top:var(--space-6)}
.contact-details{padding-top:var(--space-5)}
.contact-main-phone{font-family:'Fira Sans',sans-serif;font-size:var(--text-hero);line-height:1.3;display:inline-flex;align-items:baseline;gap:var(--space-5);min-height:44px}
.contact-main-phone>span{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-inverse-muted)}
.full-phones{display:flex;gap:var(--space-5);flex-wrap:wrap;margin-block:var(--space-4) var(--space-5)}
.full-phones>a{font-size:var(--text-sm);min-height:44px;align-content:center}
address{font-size:var(--text-sm);font-style:normal;color:var(--color-inverse-muted);border-top:1px solid #ffffff30;padding-top:var(--space-5)}
.site-footer{background:var(--color-dark);color:var(--color-inverse);padding-block:var(--space-6);border-top:1px solid #ffffff30}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5)}
.back-top{font-size:var(--text-xs);min-height:44px;align-content:center}
.site-footer p{font-size:var(--text-xs);color:var(--color-inverse-muted);max-width:115ch;margin-top:var(--space-4)}
.footer-bottom{display:flex;justify-content:space-between;align-items:start;gap:var(--space-6);margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-inverse-muted)}
.official-links summary{min-height:44px;cursor:pointer;align-content:center}
.official-links>div{display:flex;flex-direction:column;gap:var(--space-3);align-items:start;padding-bottom:var(--space-4)}
.official-links>div>span{user-select:all;overflow-wrap:anywhere}
.official-links a{text-decoration:underline;text-underline-offset:3px}
.copy-url{border:1px solid #ffffff60;border-radius:var(--radius-sm);padding:var(--space-3);min-height:44px;font-size:var(--text-xs)}
dialog{border:0;background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-lg);padding:0;max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #171a2a40}
dialog::backdrop{background:#171a2aa8;backdrop-filter:blur(4px)}
#lead-dialog{width:min(540px,calc(100% - 32px))}
.dialog-close,.plan-close{width:44px;height:44px;font-size:var(--text-xl);line-height:1}
.dialog-close{position:absolute;right:var(--space-3);top:var(--space-3)}
.dialog-content{padding:var(--space-10)}
.dialog-content>h2{margin-top:var(--space-4)}
.interest-label{font-size:var(--text-xs);color:var(--color-accent);border-block:1px solid var(--color-line);padding-block:var(--space-3);margin-block:var(--space-5)}
#lead-form{display:flex;flex-direction:column}
#lead-form>label:not(.consent){font-size:var(--text-xs);margin-block:var(--space-3) var(--space-2)}
#lead-form>input{width:100%;min-height:52px;border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:var(--text-base)}
#lead-form>input::placeholder{color:var(--color-muted)}
.consent{display:flex;gap:var(--space-3);align-items:start;font-size:var(--text-xs);line-height:1.7;margin-block:var(--space-5) var(--space-4)}
.consent>input{flex-shrink:0;width:20px;height:20px;margin:var(--space-1) 0 0;accent-color:var(--color-accent)}
.form-notice{font-size:var(--text-xs);background:var(--color-surface);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-5)}
.form-notice a{text-decoration:underline}
.form-status{font-size:var(--text-sm);padding:var(--space-4);border:1px solid var(--color-line);margin-top:var(--space-4)}
#plan-dialog{width:min(1400px,calc(100% - 32px))}
.plan-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);padding:var(--space-4) var(--space-6)}
.plan-dialog-header h2{font-size:var(--text-lg);text-transform:none}
.plan-controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}
.plan-dialog-header h2{min-width:0;overflow-wrap:anywhere}
.plan-zoom{min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);border:1px solid var(--color-line);border-radius:var(--radius-sm)}
.plan-canvas{overflow:auto;max-height:calc(90dvh - 100px)}
.plan-canvas>img{width:100%;height:auto}
.plan-canvas.zoomed>img{width:1427px;max-width:none}
body.modal-open{overflow:hidden}
.site-header :focus-visible,.brand-topbar :focus-visible,.mobile-nav :focus-visible,.contacts-section :focus-visible,.site-footer :focus-visible,.payment-card:first-child :focus-visible{outline-color:var(--color-inverse)}
@media(max-width:1100px){
  .desktop-nav{gap:var(--space-5)}.header-inner{gap:var(--space-5)}.header-contact{padding-inline:var(--space-3)}.hero-copy{padding:var(--space-8)}.hero-banner{grid-template-columns:1fr 1fr}.hero-facts{gap:var(--space-5)}.location-grid{gap:var(--space-8)}.payment-card{padding:var(--space-5)}.payment-card h3{font-size:var(--text-xl)}.contacts-grid{gap:var(--space-10)}
}
@media(max-width:800px){
  .desktop-nav,.header-contact{display:none}.menu-toggle{display:flex}.header-inner{min-height:72px}.hero-banner{grid-template-columns:1fr 1fr;min-height:430px}.hero-copy{padding:var(--space-6)}h1{font-size:var(--text-xl)}.hero-figure{min-height:430px}.hero-facts strong{font-size:var(--text-lg)}.hero-facts strong small{font-size:var(--text-xs)}.section-heading{align-items:start;gap:var(--space-8)}.section-heading>p{max-width:35ch}.residence-panel{gap:var(--space-6)}.format-figure{height:380px}.location-grid{grid-template-columns:1fr 1fr}.location-copy h2 br:nth-child(2){display:none}.location-figure{align-self:center}.payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-card h3{font-size:var(--text-number)}.payment-card>p{margin-bottom:var(--space-5)}.full-phones{gap:var(--space-1)}
}
@media(max-width:600px){
  :root{--text-hero:clamp(1.85rem,7vw,2.5rem);--text-xl:clamp(1.45rem,5.7vw,1.9rem);--text-number:clamp(1.8rem,7vw,2.4rem)}
  html{scroll-padding-top:88px}.topbar-inner{font-size:var(--text-xs);line-height:1.5;min-height:38px}.topbar-inner>span{max-width:235px}.topbar-inner>a{font-size:var(--text-base);padding-left:var(--space-3)}.wordmark img{width:137px}.header-inner{min-height:70px}.hero-banner{grid-template-columns:1fr;min-height:0}.hero-copy{padding:var(--space-6)}h1{font-size:var(--text-hero);margin-block:var(--space-4)}.hero-lead{font-size:var(--text-base);margin-bottom:var(--space-3)}.hero-copy .button{width:100%;margin-top:var(--space-5);padding-inline:var(--space-4);gap:var(--space-4)}.hero-figure{min-height:0;aspect-ratio:1.5}.hero-figure>img{position:static;width:100%;height:100%;object-fit:cover}.hero-figure>figcaption{left:var(--space-3);bottom:var(--space-3);padding:var(--space-2) var(--space-3)}.hero-facts{grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-3);padding-block:var(--space-5)}.hero-facts>div:first-child{grid-column:1/-1}.hero-facts>div:first-child strong{font-size:var(--text-xl)}.hero-facts>div{gap:0}.hero-facts strong{font-size:var(--text-lg)}.section{padding-block:var(--space-10)}.section-heading{flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-5)}.section-heading>p{max-width:none}.residence-tabs{padding-inline:var(--space-2)}.residence-tabs>button{gap:var(--space-3);padding-inline:var(--space-2);font-size:var(--text-xs);min-height:56px}.residence-panel{grid-template-columns:1fr;padding-top:var(--space-4);gap:var(--space-4)}.format-figure{height:auto;aspect-ratio:1.5}.format-copy{padding:0}.format-copy h3{font-size:var(--text-base);margin-top:var(--space-2)}.format-copy ul{margin-block:var(--space-4)}.comfort-row{grid-template-columns:1fr;gap:var(--space-4);padding-block:var(--space-5);margin-top:var(--space-5)}.comfort-row p{display:grid;grid-template-columns:1fr 1.35fr;gap:var(--space-4);align-items:start}.specifications summary{font-size:var(--text-xs);line-height:1.6}.specifications>div{grid-template-columns:1fr;gap:var(--space-4)}.location-section{padding-block:var(--space-10)}.location-grid{grid-template-columns:1fr;gap:var(--space-5)}.location-copy h2 br:nth-child(2){display:inline}.location-list{margin-top:var(--space-4)}.location-list>li br{display:none}.plan-open>span{right:var(--space-3);bottom:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.payment-grid{gap:var(--space-3)}.payment-card{padding:var(--space-4)}.payment-label{font-size:var(--text-xs);letter-spacing:0;line-height:1.5}.payment-card h3{font-size:var(--text-number);margin-block:var(--space-4)}.payment-card h3 small{font-size:var(--text-xs)}.payment-card>strong{font-size:var(--text-xs)}.payment-card>p{font-size:var(--text-xs);margin-bottom:var(--space-4)}.payment-card>button{font-size:var(--text-xs);gap:var(--space-1)}.conditions-note{margin-top:var(--space-4)}.conditions .section-heading{gap:var(--space-3)}.contacts-section{padding-block:var(--space-10)}.contacts-grid{grid-template-columns:1fr;gap:var(--space-6)}.contact-intro>.button{width:100%;margin-top:var(--space-5)}.contact-details{padding:0}.contact-main-phone{font-size:var(--text-number)}.full-phones{display:flex;flex-direction:column;gap:0;margin-block:var(--space-3)}.full-phones>a{font-size:var(--text-base)}.footer-bottom{flex-direction:column;gap:var(--space-3)}.dialog-content{padding:var(--space-10) var(--space-6) var(--space-6)}.dialog-content>h2{font-size:var(--text-xl)}.plan-dialog-header{padding:var(--space-3)}.plan-dialog-header h2{font-size:var(--text-sm)}.plan-close{flex-shrink:0}
}
