.concierge-cta p{color:rgba(250,248,242,.66);line-height:1.7}
.cta-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.site-footer{background:#04130f;color:var(--ivory-50);padding:76px 0 34px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,.6fr);gap:34px}
.footer-brand p{max-width:440px;color:rgba(250,248,242,.55);line-height:1.65;font-size:14px}
.footer-col h3{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-300);margin:0 0 18px}
.footer-col a{display:block;font-size:13px;color:rgba(250,248,242,.7);padding:6px 0}
.footer-bottom{border-top:1px solid rgba(250,248,242,.12);margin-top:54px;padding-top:22px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:rgba(250,248,242,.46);font-size:11px}
.page-hero{
  background:var(--forest-950);color:var(--ivory-50);
  padding:clamp(92px,12vw,170px) 0 clamp(62px,8vw,100px);
}
.page-hero h1{font-size:clamp(46px,7vw,86px);margin:16px 0 20px;max-width:1000px}
.page-hero p{max-width:680px;color:rgba(250,248,242,.70);font-size:18px;line-height:1.7}
.breadcrumbs{font-size:11px;color:rgba(250,248,242,.55);display:flex;gap:7px;align-items:center}
.filter-shell{
  position:sticky;top:78px;z-index:50;
  background:rgba(250,248,242,.93);backdrop-filter:blur(15px);
  border-bottom:1px solid rgba(6,28,22,.10)
}
.filters{min-height:70px;display:flex;align-items:center;gap:9px;overflow-x:auto;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filter-chip{
  flex:none;min-height:40px;padding:0 14px;border-radius:999px;
  border:1px solid rgba(6,28,22,.13);background:var(--ivory-50);font-size:12px;font-weight:750;color:var(--ink-850)
}
.filter-chip.active{background:var(--forest-950);color:var(--ivory-50);border-color:var(--forest-950)}
.results-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:26px}
.results-count{color:var(--ink-500);font-size:13px}
.sort-select{border:1px solid rgba(6,28,22,.12);background:var(--ivory-50);border-radius:12px;padding:11px 34px 11px 12px;font-weight:700;color:var(--ink-850)}
.properties-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.empty-state{
  grid-column:1/-1;
  text-align:center;padding:76px 24px;border-radius:24px;border:1px dashed rgba(6,28,22,.20)
}
.empty-state h3{font-family:var(--display);font-size:34px;font-weight:500;margin:0 0 10px}
.property-detail-hero{background:var(--forest-950);color:var(--ivory-50)}
.detail-media{height:min(72svh,760px);position:relative;overflow:hidden}
.detail-media img{width:100%;height:100%;object-fit:cover}
.detail-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,17,13,.58),transparent 52%)}
.detail-top{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:clamp(28px,6vw,64px)}
.detail-top-inner{max-width:var(--content);margin:auto;padding:0 clamp(18px,4vw,54px)}
.detail-top h1{font-family:var(--display);font-size:clamp(42px,6vw,78px);font-weight:500;line-height:.96;letter-spacing:-.03em;margin:12px 0}
.detail-location{color:rgba(250,248,242,.68);font-size:14px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:70px;padding-top:70px}
.detail-summary{font-family:var(--display);font-size:clamp(28px,3vw,42px);line-height:1.18;color:var(--ink-850);margin:0 0 30px}
.fact-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(6,28,22,.11);border:1px solid rgba(6,28,22,.11);border-radius:18px;overflow:hidden;margin:34px 0}
.fact{background:var(--ivory-50);padding:22px 18px}
.fact-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-500);margin-bottom:7px}
.fact-value{font-weight:800}
.long-copy{color:var(--ink-700);line-height:1.85;font-size:16px}
.highlight-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:26px 0}
.highlight{padding:16px 17px;border-radius:14px;background:var(--ivory-100);font-size:13px;font-weight:700}
.inquiry-card{
  position:sticky;top:108px;
  padding:26px;border-radius:22px;background:var(--white);border:1px solid rgba(6,28,22,.10);box-shadow:var(--shadow-soft)
}
.inquiry-price{font-family:var(--display);font-size:31px;margin-bottom:8px}
.inquiry-card p{color:var(--ink-500);font-size:13px;line-height:1.55}
.form-stack{display:grid;gap:12px}
.field{display:grid;gap:7px}
.field label{font-size:11px;font-weight:800;color:var(--ink-700)}
.field input,.field select,.field textarea{
  width:100%;border:1px solid rgba(6,28,22,.15);border-radius:12px;background:var(--ivory-50);
  min-height:48px;padding:12px 13px;color:var(--ink-950);outline:none
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(185,145,85,.14)}
.form-status{display:none;padding:12px 14px;border-radius:12px;font-size:12px;line-height:1.45}
.form-status.show{display:block}
.form-status.success{background:#e8f2ed;color:#154c36}
.form-status.preview{background:#f1eadf;color:#6f5129}
.checkbox-row{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:var(--ink-500);line-height:1.45}
.checkbox-row input{margin-top:2px}
.mobile-inquiry-bar{display:none}
.story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.story-sticky{position:sticky;top:110px}
.story-sticky h2{font-family:var(--display);font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1;margin:0}
.story-block{padding:34px 0;border-top:1px solid rgba(6,28,22,.12)}
.story-block:first-child{border-top:0;padding-top:0}
.story-block h3{font-family:var(--display);font-size:29px;font-weight:500;margin:0 0 10px}
.story-block p{color:var(--ink-700);line-height:1.75;margin:0}
.flow-panel{max-width:860px;margin:auto;background:var(--white);border:1px solid rgba(6,28,22,.10);border-radius:26px;padding:clamp(24px,5vw,46px);box-shadow:var(--shadow-soft)}
.flow-panel h2{font-family:var(--display);font-size:36px;font-weight:500;margin:0 0 8px}
.flow-panel .lede{color:var(--ink-500);margin-bottom:28px;line-height:1.6}
.flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.flow-grid .full{grid-column:1/-1}
.stepper{display:flex;gap:8px;margin-bottom:26px}
.step-dot{height:4px;flex:1;border-radius:99px;background:var(--stone-200)}
.step-dot.active{background:var(--gold-500)}
.page-copy{max-width:var(--reading);font-size:17px;line-height:1.85;color:var(--ink-700)}
.page-copy h2{font-family:var(--display);font-weight:500;color:var(--ink-950);font-size:38px;margin:48px 0 14px}
.mobile-menu{
  position:fixed;inset:0;z-index:160;
  background:var(--forest-950);color:var(--ivory-50);
  padding:20px;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:.24s var(--ease)
}
.mobile-menu.open{opacity:1;visibility:visible;transform:none}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between}
.mobile-menu-links{display:grid;margin-top:54px}
.mobile-menu-links a{font-family:var(--display);font-size:clamp(34px,9vw,50px);padding:10px 0;border-bottom:1px solid rgba(250,248,242,.11)}
.mobile-menu-foot{position:absolute;left:20px;right:20px;bottom:28px;color:rgba(250,248,242,.55);font-size:12px}
.gallery-modal{
  position:fixed;inset:0;z-index:180;background:rgba(3,12,9,.96);color:var(--ivory-50);
  opacity:0;visibility:hidden;transition:.2s var(--ease)
}
.gallery-modal.open{opacity:1;visibility:visible}
.gallery-close{position:absolute;right:20px;top:20px;z-index:2}
.gallery-stage{width:100%;height:100%;display:grid;place-items:center;padding:74px 20px 32px}
.gallery-stage img{max-width:min(1280px,94vw);max-height:80vh;border-radius:18px;box-shadow:var(--shadow-deep)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.visible{opacity:1;transform:none}
