/* MoonRock Group: warm stone, deep ink, restrained brass. Fonts served locally. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/cormorant-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 600;font-display:swap;src:url('/assets/fonts/cormorant-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root { --navy:#142c32; --navy-deep:#0d2026; --ink:#1c3035; --ground:#f7f5ef; --paper:#efede5; --surface:#fcfbf7; --line:#dcd8cc; --gold:#b8a078; --serif:'Cormorant Garamond',Georgia,serif; --radius-card:24px; --radius-panel:32px; --radius-control:14px; --radius-pill:999px; --blue-metal:linear-gradient(115deg,#0f242b,#193239); }
html,body { background:var(--ground); }
main { background:none; }
h1,h2,h3 { font-weight:500; }
.gold { color:#7c6541; }
.section { padding-block:100px; }
.section-heading h2 { font-size:clamp(36px,3.8vw,54px); line-height:1.08; }
.site-header { background:#10262d; border-radius:0 0 20px 20px; box-shadow:none; border-bottom:1px solid #b8a07838; }
.site-header .header-inner { min-height:94px; }
.site-header .brand-lockup { border:0; padding-right:12px; gap:15px; }
.site-header .brand-art { width:61px; border-radius:8px; }
.site-header .brand-name,.site-footer .brand-name { font-family:var(--serif); font-size:32px; font-weight:500; letter-spacing:.12em; line-height:1; }
.site-header .brand-name span,.site-footer .brand-name span { font-family:var(--sans); font-size:8px; font-weight:400; letter-spacing:.23em; line-height:1.6; margin-top:10px; color:#c8c6b8; }
.site-header nav { gap:24px; font-size:13px; }
.site-header nav a { color:#dce2df; }
.site-header .header-contact { color:#e6d7b8; font-size:13px; }
.home-hero,.district-hero,.editorial-hero { border-radius:var(--radius-panel); box-shadow:none; }
.home-hero.group-hero { min-height:660px; padding:100px 0 66px; }
.group-hero .hero-shade { background:linear-gradient(90deg,#07191cba 0%,#07191c60 48%,#07191c14 75%),linear-gradient(0deg,#08191f85,transparent 60%); }
.group-hero .hero-content { align-items:center; gap:65px; }
.group-hero .hero-copy { flex:1; }
.group-hero .hero-copy>.eyebrow { color:#ebdabc; font-size:11px; letter-spacing:.24em; }
.hero-copy h1.group-hero-title { font:500 clamp(65px,6.7vw,96px)/.96 var(--serif); letter-spacing:-.025em; margin:27px 0 26px; color:#fffdf6; }
.hero-copy .group-hero-lead { color:#e2e5dd; font-size:17px; line-height:1.8; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:30px; }
.hero-actions .button { min-height:52px; padding:14px 24px; gap:35px; font-size:13px; }
.hero-secondary { color:#f0eee4; font-size:13px; padding-block:10px; border-bottom:1px solid #d7c49b90; }
.hero-copy p.hero-group-caption { margin-top:35px; color:#dadbd0; font-size:10px; letter-spacing:.1em; line-height:1.7; }
.hero-property-panel { flex:0 0 290px; width:290px; padding:28px; border-radius:var(--radius-card); background:#122a30de; border:1px solid #d2c09b66; box-shadow:none; }
.hero-property-panel>.eyebrow { font-size:9px; letter-spacing:.1em; color:#d9c8a5; }
.hero-property-panel h2 { font-size:39px; line-height:1; margin-top:22px; }
.hero-property-panel small { line-height:1.6; display:block; }
.group-hero .hero-image-credit { color:#e6e4d9; font-size:10px; }
.button { border-radius:var(--radius-pill); }
.button-navy { background:#163239; border-color:#163239; box-shadow:none; }
.button-navy:hover { background:#25464c; }
.button-gold { background:#d5c19c; border-color:#d5c19c; color:#152b31; box-shadow:none; }
.button-gold:hover { background:#e6d7ba; }
.button-outline { background:transparent; }
.property-search { border-radius:var(--radius-card); border:1px solid #e3dfd2; background:#fbfaf5; box-shadow:0 12px 30px #142c3210; }
.property-search label { background:none; border-radius:var(--radius-control); }
.property-search button { border-radius:var(--radius-pill); }
.quick-search { font-size:11px; }
.quick-search a { border-radius:var(--radius-pill); background:transparent; border-color:#d9d6ca; }
.quick-search a:hover { background:#ebe7dc; }
.property-card { border-radius:var(--radius-card); background:#fcfbf7; box-shadow:none; border-color:#dcd8cc; }
.card-photo { border-radius:calc(var(--radius-card) - 1px) calc(var(--radius-card) - 1px) 0 0; }
.card-type,.card-count,.card-features span { border-radius:var(--radius-pill); }
.card-body h3 { font-size:32px; }
.card-features span { background:#eeeae0; }
.market-band,.statement-section,.contact-strip { background:var(--blue-metal); box-shadow:none; border-radius:var(--radius-panel); }
.comparison-section,.decision-section,.market-background,.intro-section,.related-section { background:#eeece3; border-color:#e1ddd1; box-shadow:none; border-radius:var(--radius-panel); }
.market-metrics>article,.market-metrics>article:first-child,.market-metrics>article:last-child,.market-metrics>article:nth-child(2n+1) { background:transparent; box-shadow:none; border-radius:18px; }
.decision-card,.chart-panel,.form-panel,.property-aside,.empty-state,.market-takeaways article { background:#fcfbf7; box-shadow:none; border-radius:var(--radius-card); border-color:#dcd8cc; }
.decision-card:hover { background:#f6f2e8; }
.inventory-panel,.method-note,.conditions-grid>div,.catalog-filters { background:#efede4; border-color:#dcd8cc; border-radius:var(--radius-card); box-shadow:none; }
.faq-list,.table-scroll,.plan-image { border-radius:var(--radius-card); background:#faf8f1; box-shadow:none; border-color:#dcd8cc; }
.faq-list summary { color:var(--ink); }
.comparison-table { background:#fcfbf7; }
.comparison-table thead th { background:#193239; }
.comparison-table tbody th { background:#eae7dc; }
.comparison-table tbody tr:nth-child(2n) td { background:#f4f1e8; }
.spotlight-visual,.district-editorial-photo,.about-image,.property-gallery { border-radius:var(--radius-panel); box-shadow:none; }
.gallery-cell { border-radius:var(--radius-control); box-shadow:none; }
.catalog-filters select,.form-grid select,.form-grid input,.form-grid textarea,.sort-label select { border-radius:var(--radius-control); background:#fffefb; border-color:#d2cfc3; }
.editorial-hero { background:#eeece3; }
.editorial-copy { background:none; }
.site-footer { border-radius:var(--radius-panel) var(--radius-panel) 0 0; background:#10262d; }
.site-footer .brand-art { width:58px; border-radius:8px; }
.site-footer .brand-name { font-size:30px; }
.group-overview { padding-block:100px; display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.group-overview h2 { font-size:clamp(43px,4.4vw,62px); line-height:1.04; margin-top:22px; }
.group-overview-copy { padding-top:5px; }
.group-overview-copy .body-large { font-size:21px; color:#233b40; }
.group-overview-copy>p+p { margin-top:22px; font-size:15px; line-height:1.9; color:#607073; }
.group-overview .text-link { margin-top:27px; }
.text-link span[aria-hidden] { padding-left:18px; }
.group-world { background:#112930; color:#f5f1e7; padding:80px 0; margin-inline:24px; border-radius:var(--radius-panel); }
.group-world>.container { width:min(1280px,calc(100% - 64px)); }
.group-world .eyebrow { color:#d1bb91; font-size:10px; }
.group-world .section-heading { margin-bottom:42px; }
.section-note { max-width:300px; font-size:14px; line-height:1.8; color:#677776; }
.group-world .section-note { color:#b8c6c6; }
.direction-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.direction-grid>a,.direction-invitation { position:relative; min-height:260px; padding:30px 24px 55px; border:1px solid #c6c2ae2e; border-radius:var(--radius-card); }
.direction-grid>a { background:#ffffff03; transition:background .2s,border-color .2s; }
.direction-grid>a:hover { background:#ffffff09; border-color:#c6c2ae60; }
.direction-meta { font-size:9px; letter-spacing:.13em; color:#c5b38f; }
.direction-grid h3 { font-size:31px; line-height:1.05; margin:27px 0 16px; }
.direction-grid>a>p { font-size:12px; line-height:1.85; color:#bdcccb; }
.direction-arrow { position:absolute; right:24px; bottom:20px; font-size:22px; color:#d7c19a; }
.direction-invitation { background:#d5c19c; color:#172e32; display:flex; flex-direction:column; justify-content:space-between; padding-bottom:26px; }
.direction-invitation>.eyebrow { color:#3e514e; }
.direction-invitation>p { font:500 35px/1.1 var(--serif); margin:20px 0; }
.direction-invitation .text-link { font-size:12px; width:fit-content; border-color:#687362; }
.group-intro { padding-block:85px 75px; }
.group-intro h1 { font-size:clamp(52px,6vw,84px); line-height:1.03; margin:24px 0 44px; }
.group-intro .about-bottom { grid-template-columns:1fr 1.2fr; gap:90px; }
.group-intro .about-bottom>.group-signature { font-family:var(--serif); font-size:31px; line-height:1.3; color:#8c7754; letter-spacing:.06em; }
.group-intro .about-bottom>div>p+p { margin-top:24px; color:#617171; font-size:15px; line-height:1.9; }
.service-rows>article { display:grid; grid-template-columns:44px .9fr 1.2fr; gap:38px; padding:42px 0; border-top:1px solid #d7d2c5; scroll-margin-top:130px; }
.service-rows>article:last-child { border-bottom:1px solid #d7d2c5; }
.service-number { color:#8a7350; font-size:13px; padding-top:3px; }
.service-rows .eyebrow { font-size:9px; }
.service-rows h3 { font-size:38px; line-height:1.06; margin-top:16px; }
.service-rows>article>div:last-child>p { font-size:15px; line-height:1.9; color:#607174; }
.service-rows .text-link { margin-top:20px; font-size:13px; }
.group-statement { padding-block:80px; }
.group-statement h2 { font-size:clamp(44px,5vw,70px); line-height:1.03; }
.group-statement .text-link { margin-top:26px; color:#ebd8b6; border-color:#bda67e; }
.group-statement p { max-width:620px; color:#c2cecb; }
.group-statement .eyebrow { color:#d6bf96; }
.contact-strip h2 { max-width:700px; }
@media(min-width:851px) and (max-width:1200px) {
  .header-inner { gap:18px; width:calc(100% - 64px); }
  .site-header .brand-name { font-size:27px; letter-spacing:.09em; }
  .site-header .brand-art { width:48px; }
  .site-header .brand-lockup { gap:10px; }
  .site-header nav { gap:16px; font-size:12px; }
  .header-actions { gap:17px; }
  .group-hero .hero-content { gap:35px; }
  .direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .direction-grid>a,.direction-invitation { min-height:230px; }
}
@media(max-width:850px) {
  .section { padding-block:70px; }
  .site-header .header-inner { min-height:80px; }
  .site-header .brand-name { font-size:27px; letter-spacing:.11em; }
  .site-header .brand-art { width:54px; }
  .site-header .brand-name span { font-size:7px; letter-spacing:.15em; }
  .site-header nav { background:#10262d; }
  .home-hero.group-hero { min-height:600px; padding:65px 0 58px; }
  .group-hero .hero-content { gap:24px; width:calc(100% - 40px); }
  .hero-copy h1.group-hero-title { font-size:64px; }
  .hero-property-panel { flex-basis:245px; width:245px; padding:24px; }
  .hero-property-panel h2 { font-size:34px; }
  .group-overview { padding-block:75px; gap:42px; }
  .group-overview-copy .body-large { font-size:18px; }
  .group-world { margin-inline:14px; padding-block:60px; }
  .group-world>.container { width:calc(100% - 40px); }
  .direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .direction-grid>a,.direction-invitation { min-height:230px; }
  .group-world .section-heading { align-items:start; }
  .section-note { max-width:230px; font-size:12px; }
  .group-intro .about-bottom { gap:35px; }
  .service-rows>article { grid-template-columns:30px .8fr 1.2fr; gap:22px; }
  .service-rows h3 { font-size:32px; }
}
@media(max-width:600px) {
  :root { --radius-panel:24px; --radius-card:22px; --radius-control:13px; }
  .section { padding-block:58px; }
  .site-header .header-inner { min-height:78px; gap:10px; }
  .site-header .brand-name { font-size:24px; letter-spacing:.1em; }
  .site-header .brand-art { width:44px; }
  .site-header .brand-lockup { gap:10px; padding-right:0; }
  .site-header .brand-name span { font-size:6px; letter-spacing:.17em; margin-top:7px; }
  .home-hero,.district-hero,.editorial-hero { border-radius:var(--radius-panel); margin:10px 10px 0; }
  .home-hero.group-hero { min-height:0; padding:55px 0 48px; }
  .group-hero .hero-content { display:block; width:calc(100% - 36px); }
  .hero-copy h1.group-hero-title { font-size:64px; margin:23px 0; }
  .group-hero .hero-copy>.eyebrow { font-size:9px; letter-spacing:.19em; }
  .hero-copy .group-hero-lead { font-size:14px; }
  .hero-actions { gap:20px; margin-top:25px; }
  .hero-actions .button { font-size:12px; padding:12px 17px; gap:17px; }
  .hero-secondary { font-size:12px; }
  .hero-copy p.hero-group-caption { font-size:8px; letter-spacing:.04em; margin-top:24px; }
  .group-hero .hero-property-panel { display:block; width:100%; margin-top:38px; padding:20px; border-radius:var(--radius-card); }
  .hero-property-panel h2 { font-size:31px; margin-top:12px; }
  .hero-property-panel h2 br { display:none; }
  .group-hero .hero-image-credit { display:block; max-width:calc(100% - 36px); margin:14px 18px 0; font-size:8px; }
  .page-home .search-wrap { margin-top:-28px; }
  .property-search { border-radius:var(--radius-card); gap:9px; }
  .property-search button { border-radius:var(--radius-pill); }
  .group-overview { grid-template-columns:1fr; gap:28px; padding-block:60px; }
  .group-overview h2 { font-size:46px; }
  .group-overview-copy .body-large { font-size:19px; }
  .group-world { margin-inline:10px; padding-block:45px; }
  .group-world>.container { width:calc(100% - 36px); }
  .group-world .section-heading,.group-services .section-heading { display:block; }
  .section-note { margin-top:22px; max-width:none; font-size:13px; }
  .direction-grid { grid-template-columns:1fr; }
  .direction-grid>a,.direction-invitation { min-height:0; padding:26px 22px 34px; }
  .direction-grid h3 { font-size:33px; margin:18px 0 13px; }
  .direction-grid>a>p { max-width:240px; padding-right:12px; font-size:13px; }
  .direction-invitation { padding-bottom:28px; }
  .group-intro { padding-block:50px; }
  .group-intro h1 { font-size:49px; margin-bottom:30px; }
  .group-intro .about-bottom { grid-template-columns:1fr; gap:25px; }
  .group-intro .about-bottom>.group-signature { font-size:23px; }
  .group-intro .about-bottom .body-large { font-size:19px; }
  .service-rows>article { grid-template-columns:24px 1fr; gap:12px 16px; padding-block:30px; }
  .service-rows>article>div:last-child { grid-column:2; }
  .service-rows h3 { font-size:35px; margin-top:12px; }
  .service-rows>article>div:last-child>p { font-size:14px; }
  .group-statement { padding-block:55px; }
  .group-statement h2 { font-size:43px; }
  .group-statement p { font-size:15px; }
  .site-footer .brand-name { font-size:28px; }
}
@media(max-width:360px) {
  .site-header .brand-name { font-size:21px; letter-spacing:.08em; }
  .site-header .brand-art { width:38px; }
  .site-header .brand-lockup { gap:8px; }
  .hero-copy h1.group-hero-title { font-size:56px; }
  .hero-actions { gap:13px; }
}

/* The same compact disclosure navigation on desktop and mobile. */
.site-header .header-inner { position:relative; }
.site-header .header-actions { margin-left:auto; }
.site-header .menu-toggle { display:block; border-radius:var(--radius-pill); }
.site-header .menu-toggle:hover { background:#ffffff09; }
.site-header .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
.site-header .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-4px) rotate(-45deg); }
.js-ready .site-header nav {
  display:none; position:absolute; z-index:20; top:calc(100% + 8px); left:auto; right:0;
  width:min(320px,calc(100vw - 40px)); max-height:calc(100dvh - 115px); overflow-y:auto;
  padding:10px; background:#10262d; border:1px solid #b8a07866;
  border-radius:var(--radius-card); box-shadow:0 18px 34px #07191c26; white-space:normal;
}
.js-ready .site-header nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
.js-ready .site-header nav a { padding:14px 16px; font-size:15px; line-height:1.5; border-bottom:0; border-radius:var(--radius-control); }
.js-ready .site-header nav a:last-child { border-bottom:0; }
.js-ready .site-header nav a:after { display:none; }
.js-ready .site-header nav a:hover,.js-ready .site-header nav a[aria-current] { color:#e5cfaa; background:#ffffff09; }
html:not(.js-ready) .site-header .header-inner { flex-wrap:wrap; }
html:not(.js-ready) .site-header .menu-toggle { display:none; }
html:not(.js-ready) .site-header nav { display:flex; position:static; width:100%; flex-wrap:wrap; gap:4px 24px; padding:0 0 18px; background:none; border:0; box-shadow:none; }
html:not(.js-ready) .site-header nav a { font-size:14px; padding:8px 0; }

/* The globe switches between matching Russian and English pages. */
.catalog-types { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.catalog-types button { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:15px 24px; background:#efede4; border:1px solid #dcd8cc; border-radius:var(--radius-pill); color:var(--ink); font-size:15px; }
.catalog-types button:hover { border-color:var(--gold); }
.catalog-types button[aria-pressed=true] { background:var(--navy); border-color:var(--navy); color:#fffefb; }
.type-count { font-size:12px; line-height:24px; min-width:24px; text-align:center; border-radius:50%; background:#142c3310; }
.catalog-types button[aria-pressed=true] .type-count { background:#ffffff20; color:#e5cfaa; }
html:not(.js-ready) .catalog-types { display:none; }
.catalog-filters { grid-template-columns:repeat(3,minmax(0,1fr)) auto; }
.catalog-filters label { min-width:0; }
.catalog-filters select { width:100%; }
.card-specs { flex-wrap:wrap; gap:10px 18px; }
.card-body { display:flex; flex-direction:column; flex:1; }
.property-card { display:flex; flex-direction:column; }
.card-bottom { margin-top:auto; }
.property-gallery-single { display:block; height:auto; }
.property-gallery-single .gallery-cell { display:block; aspect-ratio:16/9; }
.property-gallery-single img { width:100%; height:100%; }
.gallery-meta button.text-link { background:transparent; border:0; border-bottom:1px solid var(--gold); color:inherit; }
.project-highlights { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:24px 0 0; }
.project-highlights li { border:1px solid #dcd8cc; border-radius:var(--radius-pill); padding:8px 16px; font-size:14px; }
.property-section .button { margin-top:22px; }
.property-title>div { min-width:0; }
.property-title h1 { overflow-wrap:break-word; }
@media(max-width:1000px) {
  .catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-filters .filter-reset { grid-column:1/-1; justify-self:start; }
}
@media(max-width:600px) {
  .catalog-types { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .catalog-types button { padding:13px 16px; gap:10px; font-size:14px; }
  .catalog-filters { grid-template-columns:1fr; }
  .property-gallery-single .gallery-cell { aspect-ratio:4/3; }
  .card-body h3 { font-size:30px; }
}
.language-switch { display:grid; place-items:center; width:34px; height:44px; color:#c9d4db; border-radius:var(--radius-pill); }
.language-switch svg { width:20px; height:20px; }
.language-switch:hover { color:#e5cfaa; background:#ffffff09; }
@media(max-width:600px) {
  .site-header .header-actions { gap:8px; }
  .site-header .language-switch { width:30px; }
  .site-header .menu-toggle { width:32px; }
}
@media(max-width:360px) {
  .site-header .header-actions { gap:3px; }
  .site-header .saved-link { width:26px; }
}
