/* Public-site design system. Disabled on /admin to keep the staff UI independent. */
:root {
  --green-950:#15213a; --green-900:#1764ef; --green-800:#1256d1; --green-700:#245cbb;
  --green-100:#edf3ff; --sand-500:#83abff; --sand-300:#d7e5ff; --sand-100:#eef4ff;
  --ink:#172238; --muted:#687387; --line:#e3e7ed; --mist:#f4f6f9; --paper:#fcfcfd;
  --container:min(1320px, calc(100% - 80px)); --serif:var(--sans);
  --sans:'Segoe UI',Arial,sans-serif; --radius:22px; --radius-lg:28px;
  --shadow-sm:0 12px 30px #1722380a; --shadow-lg:0 24px 70px #17223812;
}
html { scroll-padding-top:110px; }
body { background:var(--paper); overflow-x:clip; }
::selection { background:#d7e5ff; color:#153d85; }
a,button { touch-action:manipulation; }
:focus-visible { outline:3px solid #86aeff; outline-offset:4px; }
.section { padding:96px 0; }
.section-title { font-size:clamp(34px,4.2vw,56px); font-weight:600; letter-spacing:-.055em; line-height:1.1; }
.eyebrow { margin-bottom:20px; font-size:11px; letter-spacing:.14em; color:var(--muted); }
.eyebrow::before { width:7px; height:7px; border-radius:50%; background:#3980ff; }
.section-lead { font-size:16px; line-height:1.7; }
.section-head { margin-bottom:38px; }
.section-head__aside { padding-bottom:5px; }
.section-head__aside p { color:var(--muted); font-size:14px; }
.text-link { display:inline-flex; align-items:center; gap:14px; font-size:14px; font-weight:650; color:var(--green-900); }
.text-link svg { transition:transform .25s; }
.text-link:hover svg { transform:translateX(5px); }
.btn { min-height:52px; padding:0 23px; border-radius:12px; font-size:14px; font-weight:600; }
.btn::before { display:none; }
.btn--primary { box-shadow:none; }
.btn--primary:hover { box-shadow:0 8px 20px #1764ef20; }
.btn--sand { color:#fff; background:var(--green-900); }
.btn--sand:hover { color:#fff; background:var(--green-800); }
.btn--outline { color:var(--ink); background:transparent; }
.btn--sm { min-height:44px; padding-inline:18px; font-size:13px; }
.icon-btn { border-radius:50%; width:44px; height:44px; color:var(--ink); }
.header { height:94px; background:#fcfcfdeb; border-bottom:1px solid #e9edf2; box-shadow:none; }
.header.is-scrolled { box-shadow:0 4px 24px #17223808; }
.header__inner { width:var(--container); grid-template-columns:auto 1fr auto; gap:26px; }
.brand { gap:10px; }
.brand__mark { width:58px; height:58px; border:0; box-shadow:none; filter:none; }
.brand:hover .brand__mark { transform:none; filter:none; box-shadow:none; }
.brand__name { font-family:var(--sans); text-transform:none; font-size:24px; font-weight:750; letter-spacing:-1.2px; }
.brand__name em { font-size:20px; font-style:italic; color:var(--green-900); letter-spacing:-.8px; }
.brand__descriptor { max-width:none; font-size:9px; text-transform:none; letter-spacing:.01em; font-weight:500; opacity:1; color:var(--muted); margin-top:7px; }
.nav { display:flex; gap:24px; }
.nav a { font-size:13px; color:#4e596d; font-weight:500; }
.nav a.is-active { color:var(--green-900); }
.header__phone strong { font-size:13px; font-weight:650; }
.header__phone small { font-size:10px; margin-top:4px; text-transform:none; letter-spacing:0; }
.header__actions { gap:12px; }
.header-call { display:inline-flex; }
.header-favorites { position:relative; background:transparent; border:0; }
[data-favorites-count]:not(:empty) { position:absolute; top:0; right:0; min-width:16px; min-height:16px; padding:2px; border-radius:20px; color:#fff; background:var(--green-900); font-size:9px; }
.hamburger { display:none; }
.header__progress { background:var(--green-900); }
.home-intro { display:grid; grid-template-columns:1fr 1fr; gap:44px; min-height:530px; padding-top:28px; }
.intro-copy { padding:32px 0 45px; align-self:center; }
.location-label { display:flex; align-items:center; gap:7px; font-size:11px; color:#5f6b80; margin:0 0 32px; }
.location-label svg { color:var(--green-900); }
.intro-copy h1 { margin:0; font-size:clamp(56px,6.5vw,88px); line-height:1.01; font-weight:600; letter-spacing:-.065em; }
.intro-copy h1 span { color:var(--green-900); }
.intro-description { max-width:410px; margin:25px 0 28px; font-size:15px; color:var(--muted); line-height:1.75; }
.intro-actions { display:flex; align-items:center; gap:23px; }
.intro-sell { display:inline-flex; align-items:center; gap:8px; font-size:13px; white-space:nowrap; }
.intro-note { display:flex; align-items:center; gap:11px; margin-top:38px; }
.intro-note__icon { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#edf3fe; color:var(--green-900); }
.intro-note p { margin:0; font-size:12px; font-weight:600; line-height:1.5; }
.intro-note p span { display:block; font-size:11px; color:var(--muted); font-weight:400; }
.intro-visual { position:relative; min-width:0; min-height:490px; border-radius:26px; background:#dde7ee; }
.intro-photo { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:65% center; border-radius:inherit; }
.intro-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#09213385,transparent 60%); border-radius:inherit; pointer-events:none; }
.intro-photo-label { position:absolute; z-index:1; top:22px; left:22px; font-size:9px; color:#fff; border:1px solid #ffffff5c; padding:8px 11px; border-radius:50px; background:#17223835; backdrop-filter:blur(8px); }
.intro-photo-caption { position:absolute; left:30px; right:20px; bottom:34px; z-index:1; color:#fff; }
.intro-photo-caption span { display:block; font-size:11px; opacity:.85; margin-bottom:6px; }
.intro-photo-caption strong { font-size:28px; font-weight:500; letter-spacing:-.8px; }
.intro-stamp { position:absolute; left:-38px; bottom:104px; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; width:96px; height:96px; background:var(--green-900); border:6px solid var(--paper); color:#fff; border-radius:50%; transform:rotate(-12deg); transition:transform .35s; }
.intro-stamp:hover { transform:rotate(0); }
.intro-stamp span { font-size:9px; line-height:1; }
.intro-stamp b { font-size:43px; font-weight:300; line-height:1.05; }
.search-wrap { margin-top:26px; }
.search-panel { padding:24px 26px 26px; box-shadow:0 12px 40px #182e4d06; border:1px solid var(--line); border-radius:20px; animation:none; }
.search-panel::before,.search-panel::after { display:none; }
.search-panel__top { align-items:center; margin-bottom:20px; flex-direction:row; }
.deal-tabs { background:#edf1f6; border-radius:9px; padding:3px; }
.deal-tabs span { min-width:86px; border-radius:7px; padding:9px 15px; font-size:12px; }
.deal-tabs input:checked + span { background:#fff; color:var(--ink); box-shadow:0 2px 5px #15213a0c; }
.deal-tabs input:focus-visible + span { outline:3px solid #86aeff; outline-offset:2px; }
.search-advanced { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.search-grid { grid-template-columns:1.2fr 1.2fr 1fr auto; gap:16px; }
.field { min-width:0; }
.field label,.field__label { font-size:11px; font-weight:500; letter-spacing:0; text-transform:none; color:#647085; }
.field input,.field select,.field textarea { background:#f8f9fb; border-color:#e5e9ef; border-radius:10px; min-height:49px; font-size:14px; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:#86aeff; box-shadow:0 0 0 3px #1764ef0c; }
.search-submit { min-height:49px; }
.category-links { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:20px; }
.category-links>a { display:flex; align-items:center; gap:12px; padding:17px 20px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:border-color .25s,transform .25s; }
.category-links>a:hover { border-color:#9abbf8; transform:translateY(-3px); }
.category-icon { color:var(--green-900); display:grid; place-items:center; }
.category-links strong { display:block; font-size:13px; font-weight:600; }
.category-links small { display:block; margin-top:4px; font-size:11px; color:var(--muted); }
.category-links>a>svg { margin-left:auto; color:#9aa6b7; width:16px; }
.home-objects { padding-top:88px; }
.properties-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.property-card { border:1px solid #e7ebf0; box-shadow:none; border-radius:18px; padding:8px; }
.property-card:hover { transform:translateY(-4px); box-shadow:0 16px 35px #1822380b; }
.property-card__media { display:block; aspect-ratio:1.5; border-radius:12px; }
.property-card__media::after { display:none; }
.property-card__body { padding:20px 14px 10px; }
.property-card__price { font-size:25px; font-weight:650; letter-spacing:-.7px; color:var(--ink); margin:0 0 10px; }
.property-card__title { font-size:16px; font-weight:550; line-height:1.4; min-height:45px; }
.property-card__meta { color:#546177; font-size:12px; padding:12px 0; }
.property-card__address { font-size:12px; min-height:34px; }
.property-card__description { display:none; }
.property-card__footer { margin-top:13px; padding-top:13px; }
.property-card__footer .btn { border:0; padding-inline:0; min-height:34px; color:var(--green-900); }
.property-card__id { color:#778398; font-size:11px; }
.property-card__badges { left:13px; top:13px; }
.badge { color:var(--ink); background:#ffffffed; border-radius:6px; font-size:10px; font-weight:600; padding:7px 10px; box-shadow:none; }
.property-card__fav { right:21px; top:21px; width:34px; height:34px; background:#ffffffee; border:0; }
.property-card__fav.is-active { color:#fff; background:var(--green-900); }
.catalog-bottom-link { display:flex; width:max-content; margin:32px auto 0; }
.services-section { background:#f1f4f8; }
.modern-services { display:grid; grid-template-columns:1fr 1.1fr; gap:22px; }
.service-feature { position:relative; display:block; min-height:415px; padding:38px; overflow:hidden; border-radius:22px; background:#1764ef; color:#fff; }
.service-index { font-size:10px; letter-spacing:.15em; opacity:.8; }
.service-feature h3 { font-size:clamp(30px,3vw,42px); line-height:1.15; font-weight:500; letter-spacing:-1.5px; margin:42px 0 18px; position:relative; z-index:1; }
.service-feature p { max-width:310px; color:#e0eaff; font-size:14px; position:relative; z-index:1; }
.service-cta { display:flex; align-items:center; gap:20px; margin-top:44px; font-size:13px; position:relative; z-index:1; }
.service-house { position:absolute; right:-26px; bottom:-14px; color:#ffffff16; transform:rotate(-13deg); }
.service-house svg { width:225px; height:225px; stroke-width:.6; }
.service-stack { display:grid; gap:12px; }
.service-row { display:flex; gap:22px; align-items:center; background:#fff; border:1px solid #e6eaf0; border-radius:18px; padding:24px; scroll-margin-top:116px; }
.service-row__icon { width:44px; height:44px; flex:0 0 auto; display:grid; place-items:center; color:var(--green-900); background:#f1f5fd; border-radius:12px; }
.service-row small { display:block; font-size:9px; color:#9aa5b4; margin-bottom:5px; }
.service-row h3 { font-size:18px; font-weight:600; margin:0; letter-spacing:-.4px; }
.service-row p { font-size:12px; line-height:1.6; color:var(--muted); margin:7px 0 0; }
.service-row .icon-btn { margin-left:auto; flex:0 0 38px; width:38px; height:38px; }
.modern-about { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.team-photo { position:relative; border-radius:22px; overflow:hidden; }
.team-photo img { width:100%; height:510px; object-fit:cover; object-position:48% center; }
.team-photo__caption { position:absolute; bottom:20px; left:20px; right:20px; border-radius:10px; padding:16px; background:#ffffffec; backdrop-filter:blur(8px); font-size:12px; font-weight:600; }
.status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#258d65; margin-right:7px; }
.modern-about__copy>p:not(.eyebrow) { font-size:15px; color:var(--muted); margin:24px 0; }
.about-points { display:grid; gap:20px; margin:28px 0; }
.about-points>div { display:flex; gap:15px; align-items:center; }
.about-points svg { color:var(--green-900); width:21px; }
.about-points span { font-size:12px; color:var(--muted); line-height:1.6; }
.about-points strong { display:block; color:var(--ink); font-size:13px; font-weight:600; }
.journey-section { padding-top:35px; }
.journey-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.journey-step { padding:24px 0 0; border-top:1px solid #cbd7e8; }
.journey-step>span { font-size:13px; color:var(--green-900); }
.journey-step h3 { font-size:19px; font-weight:600; margin:32px 0 12px; letter-spacing:-.5px; }
.journey-step p { color:var(--muted); font-size:13px; }
.reviews-link-section { padding:0 0 65px; }
.reviews-link-panel { display:flex; justify-content:space-between; align-items:center; gap:32px; border-top:1px solid var(--line); padding-top:50px; }
.reviews-link-panel h2 { font-size:32px; line-height:1.15; letter-spacing:-1.1px; font-weight:600; margin:0; }
.reviews-link-panel p:not(.eyebrow) { font-size:14px; color:var(--muted); }
.cta-section { padding:16px 0 75px; }
.cta-panel { background:#172742; border-radius:26px; padding:46px; grid-template-columns:1fr 1.05fr; gap:50px; box-shadow:none; }
.cta-panel::before,.cta-panel::after { display:none; }
.cta-panel__copy h2 { font-size:clamp(34px,4vw,52px); font-weight:500; letter-spacing:-.05em; line-height:1.1; }
.cta-panel__copy h2 span { color:#8bb4ff; }
.cta-panel__copy p { font-size:14px; color:#c0cbdc; max-width:320px; }
.cta-panel .eyebrow { color:#acbfdc; }
.cta-phone { display:block; font-size:24px; font-weight:500; margin:44px 0 8px; letter-spacing:-.5px; }
.cta-panel__copy>small { color:#9eafc8; font-size:12px; }
.lead-form { padding:25px; box-shadow:none; background:#fff; border-radius:18px; gap:14px; }
.lead-form .form-footer { gap:20px; }
.lead-form .form-footer .btn { width:100%; }
.consent-check { color:#667186; font-size:10px; }
.consent-check input { accent-color:var(--green-900); min-width:17px; }
.form-footer { flex-direction:column; align-items:stretch; }
.local-seo { background:#f3f5f8; }
.local-seo__grid { grid-template-columns:1fr 1fr; gap:70px; }
.local-seo .section-title { font-size:40px; }
.local-seo .section-lead { font-size:14px; }
.local-seo__links .btn { min-height:42px; padding-inline:14px; font-size:12px; }
.local-seo__related { gap:10px 16px; }
.local-seo__related a { font-size:11px; font-weight:500; color:#52657e; }
.faq-item { background:#fff; border:0; box-shadow:none; border-radius:12px; }
.faq-item summary { font-size:14px; color:var(--ink); font-weight:600; }
.modern-contacts { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.contact-detail { display:flex; flex-direction:column; align-items:flex-start; padding-top:36px; }
.contact-detail>span { color:#748198; font-size:10px; letter-spacing:.13em; margin-bottom:20px; }
.contact-detail>a:not(.btn):not(.text-link):not(.contact-phone) { color:var(--muted); margin-top:10px; font-size:14px; }
.contact-phone { font-size:clamp(24px,3vw,38px); font-weight:550; letter-spacing:-1px; }
.contact-detail h3 { font-size:26px; margin:0; font-weight:550; line-height:1.3; letter-spacing:-.8px; }
.contact-detail p { max-width:370px; color:var(--muted); font-size:13px; }
.footer { background:#142139; padding:55px 0 24px; }
.footer .brand__name em { color:#96bcff; }
.footer .brand__descriptor { color:#a6b7d0; }
.footer h3 { color:#e5edfa; letter-spacing:.08em; }
.footer__grid { gap:45px; grid-template-columns:1.4fr .75fr .75fr 1.2fr; }
.footer__about,.footer nav a,.footer__contact a,.footer__contact span { color:#a7b5cd; }
.footer__bottom { color:#93a3bc; }
.footer__legal a { color:#a7b5cd; }
.page-hero { background:#f0f4fa; padding:54px 0 42px; }
.page-title { font-weight:600; font-size:clamp(38px,5vw,64px); letter-spacing:-.055em; }
.page-subtitle { font-size:16px; }
.local-landing-hero { background:#172742; color:#fff; }
.local-landing-hero .page-subtitle,.local-landing-hero .breadcrumbs { color:#c0cbdc; }
.local-landing-hero .eyebrow { color:#a7c5fa; }
.local-landing-hero .btn--outline { color:#fff; border-color:#ffffff55; }
.catalog-layout { grid-template-columns:250px minmax(0,1fr); gap:28px; padding-top:35px; }
.catalog-content .properties-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalog-content .properties-grid.is-list { grid-template-columns:1fr; }
.filters { top:114px; padding:20px; background:#f0f3f8; border-radius:16px; }
.filters__head h2 { font-size:20px; font-weight:600; }
.catalog-count { font-size:19px; font-weight:600; white-space:nowrap; }
.catalog-toolbar { gap:10px; }
.toolbar-actions select { font-size:12px; border-radius:9px; padding-left:10px; }
.object-grid { gap:45px; grid-template-columns:minmax(0,1fr) 360px; }
.object-title { font-size:40px; font-weight:600; letter-spacing:-1.5px; }
.object-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:25px; }
.object-heading .icon-btn { flex:0 0 44px; }
.object-heading .object-address { margin-bottom:0; }
#about,#contacts,#services,#reviews,#new-buildings,#mortgage { scroll-margin-top:0; }
.object-offer { background:#f1f5fc; border-radius:18px; box-shadow:none; padding:28px; top:115px; }
.object-price { font-size:32px; font-weight:600; color:var(--ink); }
.object-fact strong { font-weight:600; }
.content-block h2 { font-size:27px; font-weight:600; }
.gallery { border-radius:20px; }
.gallery--single { grid-template-columns:1fr; grid-template-rows:450px; }
.gallery--single button:first-child { grid-column:auto; grid-row:auto; }
.modal { background:#0a193da3; }
.modal__dialog { border-radius:20px; }
.modal__title { font-weight:600; font-size:30px; letter-spacing:-.8px; }
.modal-form { padding:0; }
.modal .btn:disabled { opacity:.65; cursor:wait; }
.toast { background:#172742; }
.intro-copy>* { animation:intro-in .65s both; }
.intro-copy>:nth-child(2) { animation-delay:.07s; }
.intro-copy>:nth-child(3) { animation-delay:.14s; }
.intro-copy>:nth-child(4) { animation-delay:.2s; }
.intro-copy>:nth-child(5) { animation-delay:.25s; }
@keyframes intro-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.reveal { transition:opacity .6s ease,transform .6s cubic-bezier(.2,.65,.25,1); }
@media(min-width:1600px) { .home-intro { gap:70px; } .intro-visual { min-height:540px; } }
@media(max-width:1180px) {
  :root { --container:calc(100% - 56px); }
  .header__inner { gap:20px; } .nav { gap:20px; } .header__phone { display:none; }
  .intro-actions { flex-wrap:wrap; gap:16px; } .intro-copy h1 { font-size:68px; }
  .home-intro { gap:36px; } .modern-about { gap:45px; }
  .service-row { gap:14px; padding:20px; } .service-row h3 { font-size:17px; }
  .cta-panel { gap:30px; padding:35px; } .footer__grid { gap:28px; }
}
@media(max-width:960px) {
  :root { --container:calc(100% - 40px); }
  .header { height:80px; } .header__inner { grid-template-columns:1fr auto; }
  .nav { display:none; } .hamburger { display:inline-grid; }
  .mobile-menu { position:fixed; z-index:999; inset:80px 0 0; padding:24px; background:var(--paper); color:var(--ink); height:calc(100dvh - 80px); display:block; visibility:hidden; opacity:0; overflow:auto; transform:translateY(-10px); transition:opacity .2s,transform .2s,visibility .2s; }
  .mobile-menu.is-open { visibility:visible; opacity:1; transform:none; }
  .mobile-menu nav { display:grid; gap:0; } .mobile-menu nav a { font-size:23px; padding:13px 0; border-bottom:1px solid var(--line); color:var(--ink); transform:none; opacity:1; }
  .mobile-menu__bottom { margin-top:24px; color:var(--ink); } .mobile-menu__bottom span { color:var(--muted); }
  .home-intro { min-height:0; gap:26px; } .intro-copy { padding:25px 0; }
  .intro-copy h1 { font-size:57px; } .intro-visual { min-height:440px; }
  .location-label { font-size:10px; margin-bottom:25px; } .intro-description { font-size:14px; }
  .intro-note { margin-top:26px; } .intro-photo-caption { left:22px; } .intro-photo-caption strong { font-size:23px; }
  .search-grid { grid-template-columns:1fr 1fr; } .search-submit { align-self:end; }
  .category-links { gap:10px; } .category-links>a { padding:14px 12px; gap:8px; } .category-links>a>svg { display:none; }
  .section { padding:72px 0; } .properties-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .modern-services { grid-template-columns:1fr; } .service-feature { min-height:330px; } .service-house { right:35px; }
  .service-feature h3 { margin-top:25px; } .service-cta { margin-top:26px; }
  .modern-about { gap:30px; } .team-photo img { height:450px; } .modern-about .section-title { font-size:36px; }
  .journey-grid { grid-template-columns:1fr 1fr; gap:26px; }
  .cta-panel { grid-template-columns:1fr 1fr; gap:26px; padding:28px; } .cta-panel__copy h2 { font-size:35px; }
  .lead-form { grid-template-columns:1fr; padding:20px; } .cta-phone { font-size:22px; }
  .local-seo__grid { gap:30px; } .local-seo .section-title { font-size:34px; }
  .footer__grid { grid-template-columns:1.3fr 1fr 1fr; } .footer__grid>:last-child { grid-column:1 / -1; }
  .catalog-layout { grid-template-columns:1fr; } .mobile-filter-btn { display:inline-flex; }
  .filters { position:fixed; z-index:1200; inset:0 0 0 auto; width:min(390px,100%); overflow:auto; border-radius:0; transform:translateX(102%); visibility:hidden; }
  .filters.is-open { visibility:visible; transform:none; }
  .object-grid { grid-template-columns:1fr; } .object-sidebar { grid-row:1; } .object-offer { position:static; }
}
@media(max-width:680px) {
  :root { --container:calc(100% - 32px); }
  html { scroll-padding-top:90px; }
  .header { height:74px; } .brand__mark { width:46px; height:46px; } .brand__name { font-size:22px; } .brand__name em { font-size:18px; } .brand__descriptor { font-size:8px; }
  .header-call { display:none; } .header__actions { gap:2px; } .header__inner { gap:8px; }
  .header-favorites { width:36px; } .hamburger { width:39px; height:39px; }
  .mobile-menu { top:74px; height:calc(100dvh - 74px); }
  .home-intro { grid-template-columns:1fr; padding-top:0; gap:20px; }
  .intro-copy { padding:30px 0 0; } .location-label { font-size:10px; margin-bottom:23px; }
  .intro-copy h1 { font-size:clamp(48px,13.7vw,74px); letter-spacing:-.065em; }
  .intro-description { font-size:14px; max-width:440px; margin:20px 0 23px; }
  .intro-actions { gap:15px; flex-wrap:nowrap; } .intro-actions .btn { font-size:12px; padding-inline:17px; min-height:48px; }
  .intro-sell { font-size:11px; gap:4px; } .intro-sell svg { width:13px; }
  .intro-note { display:none; } .intro-visual { min-height:285px; border-radius:19px; }
  .intro-photo { object-position:50% 57%; } .intro-photo-label { left:15px; top:15px; font-size:8px; }
  .intro-photo-caption { left:20px; bottom:22px; } .intro-photo-caption strong { font-size:25px; }
  .intro-photo-caption span { font-size:10px; } .intro-stamp { width:76px; height:76px; left:auto; right:15px; bottom:68px; border-width:4px; }
  .intro-stamp b { font-size:33px; } .intro-stamp span { font-size:7px; }
  .search-wrap { margin-top:18px; } .search-panel { padding:18px; border-radius:17px; }
  .search-panel__top { margin-bottom:16px; gap:10px; } .search-panel .deal-tabs { width:auto; }
  .deal-tabs span { min-width:65px; font-size:11px; padding:8px 12px; } .search-advanced { font-size:11px; gap:6px; }
  .search-grid { gap:13px; } .search-grid .field:nth-child(3) { grid-column:1 / -1; } .search-submit { grid-column:1 / -1; }
  .field input,.field select,.field textarea { font-size:16px; padding-inline:10px; }
  .search-grid select { font-size:13px; } .category-links { grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
  .category-links>a { padding:14px; gap:11px; } .category-links strong { font-size:12px; } .category-links small { font-size:10px; }
  .section { padding:62px 0; } .section-head { margin-bottom:28px; gap:20px; flex-direction:column; align-items:flex-start; }
  .section-title { font-size:36px; } .eyebrow { font-size:10px; margin-bottom:17px; }
  .section-head__aside p { display:none; } .section-lead { font-size:14px; margin-top:0; }
  .properties-grid,.catalog-content .properties-grid { grid-template-columns:1fr; gap:20px; }
  .property-card { border-radius:18px; } .property-card__media { aspect-ratio:1.45; }
  .property-card__body { padding:19px 12px 9px; } .property-card__title { min-height:0; }
  .property-card__address { min-height:0; } .property-card__price { font-size:26px; }
  .service-feature { padding:28px; min-height:355px; } .service-feature h3 { font-size:34px; margin-top:35px; }
  .service-house { right:-25px; } .service-feature p { max-width:245px; } .service-row { padding:20px 17px; gap:13px; }
  .service-row__icon { display:none; } .service-row h3 { font-size:17px; } .service-row p { font-size:12px; }
  .modern-about { grid-template-columns:1fr; gap:32px; } .team-photo img { height:auto; aspect-ratio:1.1; object-position:50% center; }
  .team-photo__caption { left:14px; right:14px; bottom:14px; font-size:11px; }
  .modern-about__copy>p:not(.eyebrow) { font-size:14px; } .journey-section { padding-top:0; }
  .journey-grid { gap:22px 18px; } .journey-step h3 { font-size:17px; margin-top:22px; } .journey-step p { font-size:12px; }
  .reviews-link-panel { flex-direction:column; align-items:flex-start; gap:15px; padding-top:30px; } .reviews-link-panel h2 { font-size:29px; }
  .reviews-link-section { padding-bottom:45px; } .cta-section { padding:0 0 55px; }
  .cta-panel { grid-template-columns:1fr; padding:27px 18px 18px; border-radius:20px; gap:28px; }
  .cta-panel__copy { padding:0 6px; } .cta-panel__copy h2 { font-size:38px; }
  .cta-phone { margin-top:24px; font-size:25px; } .lead-form { padding:18px; }
  .local-seo__grid { grid-template-columns:1fr; gap:30px; } .local-seo .section-title { font-size:34px; }
  .local-seo__links { gap:8px; } .local-seo__links .btn { width:auto; flex:1 0 auto; }
  .modern-contacts { grid-template-columns:1fr; gap:15px; } .contact-detail { padding-top:27px; }
  .contact-phone { font-size:31px; } .contact-detail h3 { font-size:25px; }
  .footer { padding-top:40px; } .footer__grid { grid-template-columns:1fr 1fr; gap:30px; }
  .footer__grid>:first-child,.footer__grid>:last-child { grid-column:1 / -1; } .footer__bottom { margin-top:35px; gap:15px; }
  .footer__legal { gap:12px; } .footer__about { max-width:320px; }
  .page-hero { padding:36px 0 30px; } .page-title { font-size:39px; } .page-subtitle { font-size:14px; }
  .breadcrumbs { margin-bottom:22px; font-size:11px; } .catalog-layout { padding-top:25px; }
  .catalog-toolbar { flex-direction:column; align-items:flex-start; gap:16px; } .toolbar-actions { width:100%; }
  .view-toggle { display:none; } .toolbar-actions select { flex:1; min-width:0; }
  .properties-grid.is-list .property-card { display:block; } .properties-grid.is-list .property-card__media { min-height:0; }
  .gallery { grid-template-rows:260px 100px; gap:6px; border-radius:16px; } .gallery--single { grid-template-rows:330px; }
  .object-grid { margin-top:25px; gap:28px; } .object-title { font-size:31px; }
  .object-offer { padding:23px; } .object-price { font-size:31px; } .object-facts { margin-bottom:15px; }
  .modal { padding:12px; } .modal__dialog { max-height:calc(100dvh - 24px); padding:30px 20px 22px; }
  .modal__title { font-size:27px; padding-right:22px; } .modal-form { grid-template-columns:1fr; padding:0; }
  .modal__dialog--gallery { padding:5px; } .modal__dialog--gallery img { max-height:calc(100dvh - 60px); }
}
@media(prefers-reduced-motion:reduce) { .intro-copy>*,.reveal { animation:none; opacity:1; transform:none; } }
.brand__mark { width:64px; height:64px; }
.brand__descriptor { font-size:11px; }
@media(max-width:680px) { .brand__mark { width:54px; height:54px; } .brand__descriptor { font-size:9px; } }

/* Editorial refresh: catalog, local team, and a shorter first-contact form. */
.btn,.property-card,.catalog-topics a,.team-photo { transition-duration:.28s; }
.btn--primary { background:#1764ef; }
.btn--primary:hover { background:#0c50ce; transform:translateY(-2px); }
.property-card { background:#fff; overflow:hidden; }
.property-card__media img { transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.property-card:hover .property-card__media img { transform:scale(1.045); }
.property-card__footer { border-top-color:#edf0f4; }
.property-card__footer .btn { font-weight:700; }
.catalog-hero { position:relative; overflow:hidden; padding:45px 0 50px; background:#112b57; color:#fff; }
.catalog-hero::before { content:""; position:absolute; width:560px; height:560px; right:-140px; top:-230px; border:1px solid #ffffff2e; border-radius:50%; box-shadow:0 0 0 90px #ffffff06,0 0 0 180px #ffffff05; pointer-events:none; }
.catalog-hero::after { content:"✳"; position:absolute; right:18%; bottom:-74px; color:#ffffff0e; font-size:290px; line-height:1; pointer-events:none; }
.catalog-hero__inner { position:relative; z-index:1; display:flex; justify-content:space-between; gap:45px; align-items:end; }
.catalog-hero .breadcrumbs { color:#bed0ec; margin-bottom:29px; }
.catalog-hero .breadcrumbs a { color:#bed0ec; }
.catalog-hero__eyebrow { margin:0 0 13px; color:#a9c7ff; font-size:11px; font-weight:700; letter-spacing:.16em; }
.catalog-hero .page-title { max-width:780px; margin:0; font-size:clamp(39px,5vw,70px); line-height:1.03; }
.catalog-hero .page-subtitle { color:#c6d6ec; margin:18px 0 0; }
.catalog-hero__aside { flex:0 0 178px; display:grid; gap:5px; border:1px solid #ffffff3b; border-radius:18px; padding:20px 22px; background:#ffffff10; backdrop-filter:blur(8px); }
.catalog-hero__aside span { font-size:9px; color:#b7cff3; letter-spacing:.12em; line-height:1.5; }
.catalog-hero__aside strong { font-size:66px; line-height:1.1; font-weight:500; letter-spacing:-.08em; }
.catalog-hero__aside small { font-size:11px; line-height:1.5; color:#d6e3f6; }
.catalog-topics { display:flex; gap:9px; flex-wrap:wrap; padding:28px 0 0; }
.catalog-topics a { display:inline-flex; align-items:center; gap:10px; min-height:43px; padding:0 16px; border:1px solid #e3e8f0; border-radius:100px; background:#fff; color:#40506a; font-size:12px; font-weight:650; white-space:nowrap; }
.catalog-topics a svg { color:#94a4bb; }
.catalog-topics a:hover { border-color:#89b1ff; color:#1764ef; transform:translateY(-2px); }
.catalog-topics a.is-active { background:#1764ef; border-color:#1764ef; color:#fff; box-shadow:0 8px 22px #1764ef24; }
.catalog-topics a.is-active svg { color:#fff; }
.catalog-layout { padding-top:28px; padding-bottom:90px; grid-template-columns:270px minmax(0,1fr); gap:32px; }
.filters { background:#fff; border:1px solid #e7eaf0; border-radius:20px; box-shadow:0 12px 30px #15315708; padding:24px; }
.filters__head { border-bottom:1px solid #edf0f5; padding-bottom:17px; margin-bottom:18px; }
.filters__head h2 { letter-spacing:-.04em; }
.filter-form .btn--primary,.filter-form .btn--outline { width:100%; }
.filter-form .btn--outline { border-color:#dce3ee; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; min-height:56px; border-bottom:1px solid #e8edf3; padding-bottom:18px; margin-bottom:22px; }
.catalog-count { display:block; font-size:25px; letter-spacing:-.05em; }
.catalog-toolbar__hint { display:block; color:#8290a4; font-size:11px; margin-top:3px; }
.catalog-applied { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:-3px 0 20px; }
.catalog-applied span { background:#edf3ff; color:#2259b2; border-radius:100px; padding:8px 12px; font-size:11px; }
.catalog-applied a { color:#6b7688; font-size:11px; text-decoration:underline; padding:8px; }
.catalog-content .property-card__media { aspect-ratio:1.54; }
.catalog-more { display:grid; justify-items:center; gap:14px; margin:40px 0 20px; }
.catalog-more span { font-size:12px; color:#718097; }
.catalog-more .btn { min-width:235px; background:#fff; border-color:#cadaeb; }
.catalog-more .btn:hover { border-color:#1764ef; color:#1764ef; }
#about { position:relative; background:#eaf1fa; overflow:hidden; }
#about::before { content:""; position:absolute; width:650px; height:650px; border-radius:50%; background:#dbe7f7; right:-340px; top:-350px; pointer-events:none; }
.modern-about { position:relative; z-index:1; grid-template-columns:1.04fr .96fr; gap:clamp(40px,6vw,95px); }
.team-photo { overflow:visible; background:#14305b; box-shadow:0 25px 55px #17325a25; }
.team-photo img { height:625px; border-radius:22px; object-position:50% center; }
.team-photo__top { position:absolute; top:24px; left:24px; right:24px; color:#fff; font-size:10px; font-weight:700; letter-spacing:.13em; display:flex; justify-content:space-between; text-shadow:0 1px 8px #0009; }
.team-photo__top span { font-size:25px; line-height:.6; }
.team-photo__caption { left:24px; right:24px; bottom:24px; display:flex; align-items:center; gap:12px; padding:17px 20px; box-shadow:0 10px 25px #0d234127; }
.team-photo__caption .status-dot { flex:0 0 10px; width:10px; height:10px; margin:0; }
.team-photo__caption span:last-child { display:grid; gap:2px; font-size:11px; color:#66758c; }
.team-photo__caption strong { font-size:14px; color:#16243d; }
.modern-about__copy .eyebrow { color:#1764ef; font-weight:700; }
.modern-about__copy .section-title { font-size:clamp(42px,4.9vw,66px); }
.modern-about__copy .section-title em { font-style:normal; color:#1764ef; }
.modern-about__copy>p:not(.eyebrow) { font-size:14px; line-height:1.7; margin:15px 0; }
.modern-about__copy .about-lead { color:#283c59 !important; font-size:17px !important; font-weight:500; margin-top:26px !important; }
.about-points { margin:30px 0; gap:0; border-top:1px solid #cad8e9; }
.about-points>div { padding:16px 0; border-bottom:1px solid #cad8e9; align-items:start; gap:19px; }
.about-points b { color:#1764ef; font-size:12px; padding-top:2px; }
.about-points span { font-size:12px; }
.about-points strong { font-size:14px; }
.about-action { width:max-content; }
.cta-panel { position:relative; overflow:hidden; background:radial-gradient(circle at 0 0,#2859a4 0,#172742 44%,#101d35 100%); }
.cta-panel::before { content:""; display:block; position:absolute; width:480px; height:480px; border-radius:50%; border:1px solid #ffffff1c; bottom:-330px; left:-130px; pointer-events:none; }
.cta-panel__copy,.cta-panel .lead-form { position:relative; z-index:1; }
.lead-form { grid-template-columns:1fr 1fr; gap:15px; padding:28px; }
.lead-form__intro { grid-column:1/-1; margin-bottom:4px; }
.lead-form__step { color:#1764ef; font-size:10px; font-weight:800; letter-spacing:.15em; }
.lead-form__intro h3 { margin:8px 0 4px; font-size:25px; letter-spacing:-.045em; font-weight:650; }
.lead-form__intro p { color:#69778e; margin:0; font-size:12px; line-height:1.5; }
.lead-extra { border:1px solid #e2e8f1; border-radius:10px; padding:0 13px; }
.lead-extra summary { list-style:none; display:flex; justify-content:space-between; align-items:center; min-height:43px; cursor:pointer; font-size:12px; font-weight:650; color:#275bb5; }
.lead-extra summary::-webkit-details-marker { display:none; }
.lead-extra summary::after { content:"+"; font-size:19px; font-weight:400; margin-left:auto; }
.lead-extra[open] summary::after { content:"−"; }
.lead-extra summary span { color:#8c98aa; font-weight:400; margin-left:7px; margin-right:auto; }
.lead-extra__fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:4px 0 15px; }
.lead-form .form-footer { grid-column:1/-1; }
.lead-form .consent-check { line-height:1.45; }
@media(max-width:960px) {
  .catalog-layout { grid-template-columns:1fr; }
  .catalog-hero__aside { display:none; }
  .modern-about { gap:35px; }
  .team-photo img { height:530px; }
  .modern-about__copy .section-title { font-size:42px; }
  .lead-form { grid-template-columns:1fr; }
}
@media(max-width:680px) {
  .modern-about { grid-template-columns:1fr; }
  .catalog-hero { padding:31px 0 35px; }
  .catalog-hero .breadcrumbs { margin-bottom:28px; }
  .catalog-hero__eyebrow { font-size:9px; }
  .catalog-hero .page-title { font-size:40px; }
  .catalog-hero .page-subtitle { font-size:13px; max-width:300px; }
  .catalog-topics { flex-wrap:nowrap; overflow-x:auto; margin:0 -16px; padding:19px 16px 5px; scrollbar-width:none; }
  .catalog-topics::-webkit-scrollbar { display:none; }
  .catalog-topics a { min-height:39px; padding:0 12px; }
  .catalog-layout { padding-top:22px; padding-bottom:65px; }
  .catalog-toolbar { align-items:stretch; }
  .catalog-count { font-size:23px; }
  .catalog-content .property-card__media { aspect-ratio:1.5; }
  #about { padding:65px 0; }
  .team-photo img { height:auto; aspect-ratio:1.02; }
  .team-photo__top { top:18px; left:18px; right:18px; font-size:9px; }
  .team-photo__caption { bottom:13px; left:13px; right:13px; padding:13px 14px; }
  .team-photo__caption strong { font-size:12px; }
  .modern-about__copy .section-title { font-size:clamp(39px,10vw,52px); }
  .modern-about__copy .about-lead { font-size:15px !important; }
  .lead-form { padding:21px; }
  .lead-form__intro h3 { font-size:23px; }
  .lead-extra__fields { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .btn,.property-card,.catalog-topics a,.property-card__media img { transition:none; } }

/* Architecture-inspired home stage. The preview is an illustration of the site,
   not a listing, and deliberately uses no invented property details. */
.home-stage { position:relative; isolation:isolate; overflow:hidden; min-height:700px; background:radial-gradient(circle at 75% 28%,#315f9d 0,#173c70 32%,#091b35 68%,#061325 100%); color:#fff; }
.home-stage::before { content:""; position:absolute; inset:0; opacity:.36; background-image:linear-gradient(135deg,transparent 0 49.88%,#9abbea1c 50%,transparent 50.12%),linear-gradient(45deg,transparent 0 49.9%,#9abbea12 50%,transparent 50.1%); background-size:360px 360px; pointer-events:none; }
.home-stage::after { content:""; position:absolute; width:650px; height:650px; right:-250px; top:-360px; border:1px solid #d8e8ff18; border-radius:50%; box-shadow:0 0 0 85px #cfe1ff08,0 0 0 170px #cfe1ff06; pointer-events:none; }
.home-stage__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr); align-items:center; gap:30px; min-height:700px; padding-top:52px; padding-bottom:95px; }
.stage-copy { position:relative; z-index:2; padding:20px 0 30px; }
.stage-kicker { display:flex; align-items:center; gap:12px; margin:0 0 28px; color:#b9d3f8; font-size:11px; font-weight:700; letter-spacing:.16em; }
.stage-kicker span { width:9px; height:9px; border-radius:50%; background:#6faaff; box-shadow:0 0 0 6px #75afff27; }
.stage-copy h1 { margin:0; max-width:670px; font-size:clamp(56px,6.1vw,86px); line-height:1.02; font-weight:650; letter-spacing:-.07em; }
.stage-copy h1 em { color:#86b4ff; font-style:normal; }
.stage-description { max-width:465px; margin:26px 0 25px; color:#d0def2; font-size:16px; line-height:1.7; }
.stage-benefits { display:grid; gap:13px; list-style:none; padding:0; margin:0 0 30px; }
.stage-benefits li { display:flex; align-items:center; gap:12px; color:#e5efff; font-size:13px; }
.stage-benefits li::before { content:"✓"; display:grid; place-items:center; flex:0 0 21px; width:21px; height:21px; border-radius:50%; background:#4588f1; color:#fff; font-size:12px; font-weight:800; }
.stage-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.stage-actions .btn { min-height:55px; padding-inline:24px; background:#397ff2; box-shadow:0 12px 28px #092d6d4a; }
.stage-actions .btn:hover { background:#5796ff; box-shadow:0 16px 30px #092d6d66; }
.stage-secondary { display:inline-flex; align-items:center; gap:13px; min-height:55px; padding:0 14px; color:#fff; font-size:13px; font-weight:700; }
.stage-secondary:hover { color:#aecdff; }
.stage-footnote { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:27px 0 0; color:#aabfda; font-size:11px; }
.stage-footnote b { color:#fff; font-size:17px; }
.stage-footnote span { opacity:.45; }
.stage-scene { position:relative; min-width:0; min-height:580px; display:grid; place-items:center; perspective:1300px; }
.stage-scene__halo { position:absolute; width:75%; aspect-ratio:1; border-radius:50%; background:#77adff23; filter:blur(60px); }
.stage-preview { position:relative; z-index:1; width:min(100%,610px); padding:24px; border-radius:22px; background:#fff; color:#15223b; box-shadow:0 35px 90px #04122685; transform:rotate(-6deg) translate(15px,17px); transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.stage-preview:hover { transform:rotate(-2deg) translate(15px,4px); }
.stage-preview__top { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:2px 1px 20px; }
.stage-preview__top strong { color:#15213a; font-size:20px; letter-spacing:-.06em; white-space:nowrap; }
.stage-preview__top i { color:#1764ef; font-style:italic; }
.stage-preview__top span { text-align:right; color:#7f8ca1; font-size:8px; letter-spacing:.12em; }
.stage-preview__heading { display:flex; justify-content:space-between; align-items:end; gap:12px; margin-bottom:19px; }
.stage-preview__heading span { order:2; max-width:105px; color:#6981a5; font-size:8px; font-weight:750; line-height:1.45; letter-spacing:.12em; text-align:right; }
.stage-preview__heading strong { font-size:clamp(25px,2.7vw,39px); line-height:1.05; letter-spacing:-.055em; }
.stage-preview__image { position:relative; overflow:hidden; border-radius:12px; aspect-ratio:1.52; background:#dce6f0; }
.stage-preview__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 58%; }
.stage-preview__image::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,#091d3866); pointer-events:none; }
.stage-preview__image span { position:absolute; z-index:1; left:15px; bottom:14px; color:#fff; font-size:9px; letter-spacing:.14em; font-weight:750; }
.stage-preview__bottom { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:19px 2px 2px; }
.stage-preview__bottom>span { font-size:15px; font-weight:700; letter-spacing:-.03em; }
.stage-preview__bottom small { display:block; margin-top:4px; color:#718096; font-size:11px; font-weight:450; letter-spacing:0; }
.stage-preview__bottom>a { display:grid; place-items:center; flex:0 0 43px; width:43px; height:43px; border-radius:50%; background:#1764ef; color:#fff; }
.stage-preview__bottom>a:hover { background:#0c50ce; }
.stage-scene__badge { position:absolute; z-index:2; right:-12px; bottom:48px; display:flex; align-items:center; justify-content:space-between; gap:14px; width:178px; min-height:75px; padding:16px 18px; border:1px solid #ffffff75; border-radius:18px; background:#347cf0; color:#fff; box-shadow:0 15px 35px #061b3e6e; transform:rotate(5deg); }
.stage-scene__badge span { font-size:13px; line-height:1.2; font-weight:700; }
.stage-scene__badge svg { flex:0 0 auto; }
.home-stage + .search-wrap { position:relative; z-index:5; margin-top:-65px; }
.home-stage + .search-wrap .search-panel { box-shadow:0 24px 50px #0b244428; border-color:#fff; }
.sell-hero { isolation:isolate; min-height:400px; display:flex; align-items:center; overflow:hidden; background:#10284b; color:#fff; padding:70px 0; }
.sell-hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(90deg,#0b1a33 0%,#123c6ff2 43%,#123c6f42 100%),var(--hero-image); background-size:cover; background-position:center,70% center; }
.sell-hero::after { content:""; position:absolute; width:480px; height:480px; border:1px solid #ffffff28; border-radius:50%; right:-220px; top:-240px; box-shadow:0 0 0 95px #ffffff08; pointer-events:none; }
.sell-hero .container { position:relative; z-index:1; }
.sell-hero .breadcrumbs,.sell-hero .breadcrumbs a { color:#bad2f1; }
.sell-hero .eyebrow { color:#acd0ff; }
.sell-hero .page-title { max-width:790px; font-size:clamp(42px,5vw,66px); line-height:1.07; }
.sell-hero .page-subtitle { max-width:550px; color:#d0e0f5; }
.object-mobile-bar { display:none; }
.filter-fields { display:grid; gap:17px; }
.filter-actions { display:grid; gap:9px; }
@media(max-width:1180px) {
  .home-stage__grid { gap:5px; }
  .stage-copy h1 { font-size:clamp(54px,6vw,76px); }
  .stage-preview { transform:rotate(-4deg) translate(3px,10px); }
  .stage-scene__badge { right:-4px; }
}
@media(max-width:960px) {
  .home-stage__grid { grid-template-columns:1fr; gap:20px; padding-top:55px; }
  .stage-copy { padding:0; }
  .stage-copy h1 { max-width:750px; }
  .stage-scene { min-height:500px; }
  .stage-preview { width:min(85%,620px); }
  .stage-scene__badge { right:8%; bottom:35px; }
  html { scroll-behavior:auto !important; }
  .reveal { opacity:1 !important; transform:none !important; transition:none !important; }
}
@media(max-width:680px) {
  .home-stage__grid { padding-top:42px; padding-bottom:77px; gap:22px; }
  .stage-kicker { font-size:9px; letter-spacing:.105em; margin-bottom:25px; }
  .stage-copy h1 { font-size:clamp(45px,12vw,58px); line-height:1.04; }
  .stage-description { font-size:14px; line-height:1.62; margin:20px 0 19px; }
  .stage-benefits { gap:10px; margin-bottom:23px; }
  .stage-benefits li { font-size:12px; gap:10px; }
  .stage-benefits li::before { flex-basis:19px; width:19px; height:19px; }
  .stage-actions { gap:8px; }
  .stage-actions .btn { min-height:49px; padding:0 17px; font-size:12px; }
  .stage-secondary { min-height:49px; padding:0 5px; font-size:12px; gap:5px; }
  .stage-footnote { margin-top:18px; font-size:10px; }
  .stage-footnote b { font-size:14px; }
  .stage-scene { min-height:0; padding:0 9px 18px; }
  .stage-preview,.stage-preview:hover { width:100%; padding:16px; border-radius:17px; transform:rotate(-2deg); }
  .stage-preview__top { padding-bottom:15px; }
  .stage-preview__top strong { font-size:15px; }
  .stage-preview__top span { font-size:6px; max-width:115px; }
  .stage-preview__heading { margin-bottom:13px; }
  .stage-preview__heading strong { font-size:25px; }
  .stage-preview__heading span { font-size:7px; }
  .stage-preview__image { aspect-ratio:1.6; }
  .stage-preview__bottom { padding-top:13px; }
  .stage-preview__bottom>span { font-size:12px; }
  .stage-preview__bottom small { font-size:10px; }
  .stage-preview__bottom>a { width:35px; height:35px; flex-basis:35px; }
  .stage-scene__badge { width:138px; min-height:56px; padding:11px 13px; right:1px; bottom:0; border-radius:13px; }
  .stage-scene__badge span { font-size:10px; }
  .stage-scene__badge svg { width:20px; }
  .home-stage + .search-wrap { margin-top:-37px; }
  .home-stage + .search-wrap .search-panel { box-shadow:0 14px 32px #15264122; }
  .sell-hero { min-height:440px; padding:43px 0 50px; }
  .sell-hero::before { background-image:linear-gradient(90deg,#0b1a33e8,#143d70d1),var(--hero-image); background-position:center,62% center; }
  .sell-hero .page-title { font-size:clamp(35px,9vw,45px); }
  .sell-hero .page-subtitle { font-size:14px; }
  .object-mobile-bar { position:fixed; z-index:900; display:flex; align-items:center; justify-content:space-between; gap:12px; left:0; right:0; bottom:0; min-height:73px; padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); background:#fff; border-top:1px solid #dce5f0; box-shadow:0 -8px 28px #142d5120; }
  .object-mobile-bar>div { min-width:0; }
  .object-mobile-bar small { display:block; color:#78879b; font-size:9px; letter-spacing:.13em; margin-bottom:3px; }
  .object-mobile-bar strong { display:block; font-size:18px; line-height:1.15; white-space:nowrap; letter-spacing:-.04em; }
  .object-mobile-bar .btn { min-height:45px; padding:0 14px; white-space:nowrap; font-size:12px; }
  body.has-mobile-object-bar { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
  body.menu-open .object-mobile-bar,body.modal-open .object-mobile-bar { display:none; }
  .filters { display:flex; flex-direction:column; height:100dvh; max-height:100dvh; overflow:hidden; padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
  .filters__head { flex:0 0 auto; }
  .filter-form { display:flex; flex:1 1 auto; flex-direction:column; min-height:0; gap:0; }
  .filter-fields { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 3px 16px; }
  .filter-actions { flex:0 0 auto; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin:0 -5px -6px; padding:12px 5px calc(6px + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -8px 22px #1727420d; }
  .filter-actions .btn { min-height:48px; }
  .filter-actions .btn--outline { width:auto; padding-inline:13px; }
}
@media(max-width:370px) {
  .stage-copy h1 { font-size:44px; }
  .stage-preview__heading strong { font-size:22px; }
  .stage-preview__heading span { max-width:78px; }
  .stage-actions .btn { padding:0 13px; }
  .stage-secondary { font-size:11px; }
  .object-mobile-bar strong { font-size:16px; }
}
@media(max-width:430px) {
  .search-advanced { white-space:nowrap; font-size:10px; }
  .search-grid { grid-template-columns:1fr; }
  .search-grid .field:nth-child(3),.search-submit { grid-column:1; }
}
@media(prefers-reduced-motion:reduce) { .stage-preview,.stage-preview:hover { transition:none; } }
