.card__actions {
  display: grid;
  gap: 8px;
}

.card__visual--image {
  min-height: 220px;
  background-position: center;
  background-size: cover;
}

.card__visual--image.card__visual--contain {
  background-color: #fff;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 100%, contain;
}

.card__visual { position: relative; }
.card__gallery-arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  box-shadow: 0 3px 12px rgba(0,0,0,.18);
}
.card__gallery-arrow--prev { left: 12px; }
.card__gallery-arrow--next { right: 12px; }
.card__gallery-count {
  position: absolute;
  right: 14px;
  bottom: 12px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(17,38,31,.78);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.card__gallery-arrow[hidden], .card__gallery-count[hidden] { display: none; }

.card__region {
  margin: 0 0 3px;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.card__about {
  color: var(--green);
  font-size: 14px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.card__link--tour {
  border: 1px solid var(--green);
  background: #fff;
  color: var(--green);
}
.card__link--details{background:var(--green);color:#fff}.card__link--plan{border:1px solid var(--green);background:#fff;color:var(--green)}

.card__link[hidden] {
  display: none;
}

.filters { display: block; }
.filters__top { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.filters__ranges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 20px; }
.range-filter { min-width: 0; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 16px; }
.range-filter legend { padding: 0 7px; color: var(--ink); font-size: 14px; font-weight: 800; }
.range-filter__values { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.range-filter__values input { height: 42px; }
.dual-range { position: relative; height: 30px; margin-top: 12px; }
.dual-range::before { position: absolute; top: 14px; right: 0; left: 0; height: 4px; border-radius: 4px; background: linear-gradient(to right, var(--line) 0 var(--from), var(--green) var(--from) var(--to), var(--line) var(--to)); content: ''; }
.dual-range input { position: absolute; top: 6px; left: 0; width: 100%; height: 20px; margin: 0; padding: 0; border: 0; background: transparent; pointer-events: none; appearance: none; }
.dual-range input::-webkit-slider-thumb { width: 20px; height: 20px; border: 3px solid #fff; border-radius: 50%; background: var(--green); box-shadow: 0 1px 5px #0004; pointer-events: auto; appearance: none; cursor: grab; }
.dual-range input::-moz-range-thumb { width: 14px; height: 14px; border: 3px solid #fff; border-radius: 50%; background: var(--green); box-shadow: 0 1px 5px #0004; pointer-events: auto; cursor: grab; }
.filters__extra { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.filters__extra[hidden] { display: none; }
.filters__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.filters__actions button { min-width: 150px; padding: 0 18px; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.filter-chips:empty { display: none; }
.filter-chip { min-height: 32px !important; padding: 5px 10px; border: 1px solid #b8c9c1 !important; border-radius: 999px !important; background: #eef4f1 !important; color: var(--green) !important; font-size: 12px; }
.extra-toggle span:not(:empty)::before { content: '· '; }
@media (max-width: 900px) { .filters__top, .filters__extra { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
  .filters__top, .filters__ranges, .filters__extra { grid-template-columns: 1fr; }
  .filters__actions { position: sticky; z-index: 4; bottom: 8px; padding: 8px; border-radius: 14px; background: #fffe; box-shadow: 0 8px 25px #18342b24; }
  .filters__actions button:first-child { flex: 1; }
}

/* Visual identity */
html { scroll-behavior: smooth; }
body { background: #f3f1e9; }
.hero { position: relative; min-height: 650px; overflow: hidden; padding: 26px clamp(20px,6vw,96px) 130px; background: radial-gradient(circle at 78% 25%, rgba(101,153,120,.45), transparent 28%), linear-gradient(125deg,#09271e 0%,#123f30 52%,#245d48 100%); }
.hero::before { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,24,17,.15),rgba(4,24,17,.35)),url('./media/plots/han/1-156.webp') center right/58% auto no-repeat; opacity: .32; content: ''; mix-blend-mode: luminosity; }
.hero::after { position: absolute; right: -8%; bottom: -190px; width: 520px; height: 520px; border: 1px solid rgba(255,255,255,.11); border-radius: 50%; content: ''; }
.site-nav,.hero__grid { position: relative; z-index: 1; }
.site-nav { max-width: 1440px; margin: 0 auto; }
.brand { display: flex; align-items: center; gap: 11px; }
.brand__mark { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 12px; background: var(--lime); color: #15372c; font-size: 18px; }
.brand__mark img{display:block;width:25px;height:31px}
.site-nav__links { display: flex; gap: 30px; }
.site-nav__links a { color: #d6e1dc; text-decoration: none; transition: color .2s; }
.site-nav__links a:hover { color: #fff; }
.hero__grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr); align-items: center; gap: clamp(40px,7vw,110px); width: min(1440px,100%); margin: 72px auto 0; }
.hero__content { max-width: 800px; margin: 0; }
.hero__content h1 { max-width: 770px; font-size: clamp(48px,5.7vw,86px); }
.hero__content>p:last-of-type { max-width: 660px; }
.hero__stats { display: grid; grid-template-columns: repeat(4,auto); gap: clamp(18px,3vw,44px); margin-top: 48px; }
.hero__stats div { display: grid; gap: 3px; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.23); }
.hero__stats strong { color: #fff; font-size: clamp(20px,2vw,30px); line-height: 1; }
.hero__stats span { color: #b8cbc3; font-size: 11px; }
.hero__showcase { position: relative; min-height: 390px; }
.hero__map { position: absolute; inset: 0 0 35px 35px; border: 1px solid rgba(255,255,255,.24); border-radius: 28px; background: linear-gradient(rgba(10,39,29,.05),rgba(10,39,29,.05)),url('./media/plots/han/1-156.webp') center/cover; box-shadow: 0 35px 70px rgba(0,0,0,.28); transform: rotate(2.5deg); }
.hero__map-pin { position: absolute; top: 43%; left: 48%; padding: 7px 10px; border-radius: 8px; background: #ffe100; color: #493e00; font-size: 10px; font-weight: 900; box-shadow: 0 5px 18px #0005; transform: translate(-50%,-50%) rotate(-2.5deg); }
.hero__floating { position: absolute; bottom: 0; left: 0; display: grid; gap: 4px; min-width: 280px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.3); border-radius: 18px; background: rgba(247,249,246,.94); color: var(--ink); box-shadow: 0 18px 40px rgba(0,0,0,.25); backdrop-filter: blur(12px); }
.hero__floating span,.hero__floating small { color: var(--muted); font-size: 11px; }
.hero__floating strong { font-size: 19px; }
main { margin-top: -76px; }
.filters { position: relative; z-index: 3; border: 1px solid rgba(255,255,255,.8); box-shadow: 0 25px 70px rgba(14,49,38,.16); }
.advantages { display: grid; grid-template-columns: repeat(4,1fr); margin: 30px 0 64px; border-block: 1px solid #d9dfda; }
.advantages article { display: flex; gap: 14px; padding: 22px 18px; border-right: 1px solid #d9dfda; }
.advantages article:last-child { border: 0; }
.advantages article>span { color: #9aaa9f; font-size: 11px; font-weight: 900; }
.advantages strong { font-size: 14px; }
.advantages p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.results { padding-top: 0; }
.results__head { padding-bottom: 18px; border-bottom: 1px solid #d9dfda; }
.card { transition: transform .25s,box-shadow .25s; }
.card:hover { box-shadow: 0 22px 50px rgba(22,61,48,.16); transform: translateY(-5px); }
.card__visual { min-height: 245px; transition: background-size .5s; }
.card__visual--image:not(.card__visual--contain):hover { background-size: 106%; }
.card__gallery-arrow { opacity: 0; transition: opacity .2s,transform .2s; }
.card:hover .card__gallery-arrow { opacity: 1; }
.card__status { background: #ddeb8d; color: #25452f; }
.card__meta { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
.card__updated { margin: -13px 0 15px; color: #82928b; font-size: 11px; }
.card__updated::before { display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #65a844; content: ''; }
.card dl { gap: 12px 8px; }
.card__price-cell dd { color: var(--green); font-size: 17px; }
.card__about { white-space: nowrap; font-size: 12px; text-decoration: none; }
.settlements { margin-top: 100px; padding: 54px; border-radius: 30px; background: #143e31; color: #fff; }
.settlements h2 { margin: 0 0 26px; font-size: 42px; }
.settlements__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.settlements__grid a { display: grid; gap: 7px; padding: 26px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.06); color: #fff; text-decoration: none; transition: background .2s,transform .2s; }
.settlements__grid a:hover { background: rgba(255,255,255,.11); transform: translateY(-2px); }
.settlements__grid strong { font-size: 22px; }
.settlements__grid span { color: #b8cbc3; font-size: 13px; }
.settlements__grid i { margin-top: 12px; color: var(--lime); font-style: normal; font-size: 13px; }
footer { display: grid; grid-template-columns: auto 1fr auto; gap: 40px; align-items: center; margin-top: 90px; padding: 34px clamp(20px,6vw,96px); background: #09271e; color: #fff; }
footer p,footer span { color: #9fb4ab; font-size: 12px; }
footer a{color:#c8d8d1;text-decoration:none;transition:color .2s}footer a:hover{color:#ddec8f}.footer-contacts,footer nav{display:flex;flex-wrap:wrap;gap:8px 22px}.footer-contacts a{color:#fff;font-weight:750}footer nav{justify-content:flex-end;font-size:12px}
@media(max-width:1000px) { .hero__grid { grid-template-columns: 1fr; }.hero__showcase { display:none }.hero { min-height:620px }.advantages { grid-template-columns:1fr 1fr }.advantages article:nth-child(2){border-right:0} }
@media(max-width:700px) { .site-nav__links { display:none }.hero { min-height:690px;padding-bottom:130px}.hero__grid{margin-top:55px}.hero__content h1{font-size:48px}.hero__stats{grid-template-columns:1fr 1fr}.advantages{grid-template-columns:1fr}.advantages article{border-right:0;border-bottom:1px solid #d9dfda}.settlements{padding:30px 20px}.settlements__grid{grid-template-columns:1fr}footer{grid-template-columns:1fr;gap:14px}footer nav{justify-content:flex-start}.card__gallery-arrow{opacity:1} }
.portal-map,.portal-feed,.about-portal,.add-settlement{margin-top:100px}.portal-section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:28px}.portal-section-head h2,.about-portal h2,.add-settlement h2{margin:0;font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.045em}.portal-section-head p:last-child{max-width:520px;color:var(--muted)}.portal-section-head>a{color:var(--green);font-weight:800;text-decoration:none}.portal-section-head>strong{padding:9px 14px;border-radius:20px;background:#dde8dd;font-size:13px}#settlements-map{height:540px;overflow:hidden;border:1px solid #d4ddd7;border-radius:26px;background:#dfe6df;box-shadow:0 15px 40px #18342b12}.leaflet-popup-content strong{font-size:16px}.leaflet-popup-content a{color:#174c3b;font-weight:800}.map-fallback{padding:45px;border:1px dashed #9aaa9f;border-radius:20px;text-align:center}.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.content-empty,.content-card{min-height:300px;padding:28px;border:1px solid #d9dfda;border-radius:20px;background:#fff}.content-empty{grid-column:span 2;display:flex;justify-content:end;flex-direction:column;background:linear-gradient(145deg,#e1e9da,#f7f4ea)}.content-empty--video{background:linear-gradient(145deg,#143e31,#235c47);color:#fff}.content-empty span,.content-card span{color:#73877d;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.content-empty h3,.content-card h3{max-width:620px;margin:14px 0 7px;font-size:28px;line-height:1.1}.content-empty p,.content-card p{max-width:590px;margin:0;color:var(--muted)}.content-empty--video p{color:#b9cbc3}.content-card{overflow:hidden;padding:0}.content-card img{width:100%;height:190px;object-fit:cover}.content-card>div{padding:22px}.content-card a{color:var(--green);font-weight:800;text-decoration:none}.about-portal{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:60px;border-radius:28px;background:#e5e9df}.about-portal>div>p{color:#52645c;font-size:18px}.about-portal ol{margin:35px 0 0;padding:0;list-style:none}.about-portal li{display:grid;grid-template-columns:45px 1fr;gap:10px;padding:20px 0;border-top:1px solid #c9d2ca}.about-portal li>b{color:#85968d;font-size:11px}.about-portal li span{color:var(--muted)}.about-portal li strong{display:block;color:var(--ink)}.add-settlement{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:60px;border-radius:28px;background:#153e31;color:#fff}.add-settlement>div>p:last-child{color:#b9cbc3}.add-settlement form{display:grid;gap:12px;padding:26px;border-radius:20px;background:#fff;color:var(--ink)}.add-settlement form>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.add-settlement label{display:grid;gap:5px;color:var(--muted);font-size:12px}.add-settlement input,.add-settlement textarea{width:100%;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.add-settlement input{height:45px}.add-settlement textarea{padding-block:10px;resize:vertical}.add-settlement .consent{display:flex;align-items:center;grid-template-columns:auto 1fr}.add-settlement .consent input{width:18px;height:18px}.add-settlement button{height:50px;border:0;border-radius:26px;background:var(--lime);color:var(--ink);font-weight:800;cursor:pointer}.add-settlement button:disabled{opacity:.6}.add-settlement form>p{min-height:20px;margin:0;color:#476557;font-size:12px}@media(max-width:900px){.content-grid{grid-template-columns:1fr 1fr}.about-portal,.add-settlement{grid-template-columns:1fr;gap:35px;padding:40px}.content-empty{grid-column:auto}}@media(max-width:600px){.portal-map,.portal-feed,.about-portal,.add-settlement{margin-top:70px}.portal-section-head{align-items:start;flex-direction:column}.portal-section-head>strong{display:none}#settlements-map{height:480px;border-radius:18px}.content-grid{grid-template-columns:1fr}.about-portal,.add-settlement{padding:28px 20px;border-radius:20px}.add-settlement form{padding:18px}.add-settlement form>div{grid-template-columns:1fr}}
.portal-feed--prominent{margin-top:55px;padding-top:45px;border-top:1px solid #d5ddd7}.portal-feed--prominent .content-empty,.portal-feed--video .content-empty{grid-column:1/-1;min-height:250px}.portal-map+.results{margin-top:100px}
.content-card>div{display:flex;height:calc(100% - 190px);flex-direction:column}.content-card__links{display:grid;gap:7px;margin-top:auto;padding-top:18px}.content-card__project{padding:9px 11px;border-radius:10px;background:#edf2ec}.content-card__links a:last-child{padding-left:11px}
.more--catalog{min-height:58px;padding:0 34px;border-radius:30px;font-size:16px}
.section-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px}.section-intro h2{margin:0;font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.05em}.section-intro>p{max-width:520px;margin:0;color:var(--muted)}
.region-showcase{margin-top:100px}.region-showcase__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:16px}.region-card{position:relative;display:flex;overflow:hidden;flex-direction:column;justify-content:space-between;padding:24px;border-radius:24px;background:linear-gradient(145deg,#174c3b,#296b52);color:#fff;text-decoration:none;isolation:isolate;transition:transform .3s,box-shadow .3s}.region-card::before{position:absolute;z-index:-2;inset:0;background:var(--cover) center/cover;content:'';transition:transform .6s}.region-card::after{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(5,24,18,.12),rgba(5,24,18,.9));content:''}.region-card:not(.region-card--image)::before{background:radial-gradient(circle at 80% 10%,#598c6c,transparent 35%),linear-gradient(135deg,#174c3b,#0c3025)}.region-card:hover{box-shadow:0 22px 48px #173d3028;transform:translateY(-4px)}.region-card:hover::before{transform:scale(1.05)}.region-card--featured{grid-column:span 2}.region-card__index{align-self:flex-end;color:#ffffffb0;font-size:12px;font-weight:850}.region-card>div{display:grid;gap:5px}.region-card strong{font-size:clamp(26px,3vw,42px);line-height:1}.region-card div>span{color:#d8e4df;font-size:13px}.region-card em{margin-top:4px;color:var(--lime);font-size:17px;font-style:normal;font-weight:850}.region-card i{color:#fff;font-size:13px;font-style:normal;font-weight:800}
.settlement-showcase{padding:0;background:transparent;color:var(--ink)}.settlement-showcase .section-intro h2{margin:0}.settlement-showcase .eyebrow{color:#789087}.settlement-showcase .settlements__grid{grid-template-columns:repeat(3,1fr);gap:18px}.settlement-showcase .settlement-card{display:block;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:23px;background:#fff;color:var(--ink);box-shadow:0 8px 28px #173d300d;transition:transform .3s,box-shadow .3s}.settlement-showcase .settlement-card:hover{background:#fff;box-shadow:0 24px 55px #173d3024;transform:translateY(-5px)}.settlement-card__visual{position:relative;display:flex;justify-content:space-between;align-items:flex-start;height:245px;padding:18px;background:linear-gradient(145deg,#bfd0bd,#779981)}.settlement-card__visual::before{position:absolute;inset:0;background:var(--cover) center/cover;content:'';transition:transform .6s}.settlement-card:hover .settlement-card__visual::before{transform:scale(1.055)}.settlement-card__visual::after{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,35,27,.42),transparent 55%,rgba(10,35,27,.2));content:''}.settlement-card__visual span,.settlement-card__visual b{position:relative;z-index:1;padding:7px 10px;border-radius:999px;background:#ffffffed;color:var(--green);font-size:11px;font-weight:850}.settlement-card__visual b{background:var(--lime)}.settlement-card__body{display:grid;gap:7px;padding:22px}.settlement-showcase .settlement-card__body strong{font-size:25px;line-height:1.1}.settlement-showcase .settlement-card__body span{color:var(--muted);font-size:13px}.settlement-card__body em{color:var(--green);font-size:18px;font-style:normal;font-weight:850}.settlement-showcase .settlement-card__body i{margin-top:10px;color:var(--green);font-style:normal;font-weight:850}
@media(max-width:900px){.region-showcase__grid{grid-template-columns:1fr 1fr}.settlement-showcase .settlements__grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.section-intro{align-items:start;flex-direction:column;gap:14px}.region-showcase{margin-top:70px}.region-showcase__grid{grid-template-columns:1fr;grid-auto-rows:230px}.region-card--featured{grid-column:auto}.settlement-showcase .settlements__grid{grid-template-columns:1fr}.settlement-card__visual{height:225px}}
.price-request{padding:0;border:0;border-bottom:1px dashed var(--green);background:transparent;color:var(--green);font-weight:800;cursor:pointer}.lead-modal{width:min(520px,calc(100% - 24px));padding:0;border:0;border-radius:22px;color:var(--ink);box-shadow:0 30px 90px #06191270}.lead-modal::backdrop{background:#061912c7;backdrop-filter:blur(4px)}.lead-modal>div{padding:34px}.lead-modal h2{margin:0;font-size:38px;letter-spacing:-.04em}.lead-modal>div>p:not(.eyebrow){color:var(--muted)}.lead-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:#edf1ec;color:var(--ink);font-size:24px;cursor:pointer}.lead-modal form{display:grid;gap:11px;margin-top:22px}.lead-modal label{display:grid;gap:5px;color:var(--muted);font-size:12px}.lead-modal input,.lead-modal textarea{width:100%;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fafbf9}.lead-modal input{height:45px}.lead-modal textarea{padding-block:10px;resize:vertical}.lead-modal .lead-consent{display:flex;align-items:flex-start;gap:9px}.lead-modal .lead-consent input{flex:0 0 auto;width:18px;height:18px}.lead-modal button[type=submit]{height:50px;border:0;border-radius:25px;background:var(--green);color:#fff;font-weight:800;cursor:pointer}.lead-modal button[type=submit]:disabled{opacity:.65}.lead-modal form>p{min-height:20px;margin:0;color:var(--green);font-size:13px}@media(max-width:600px){.lead-modal>div{padding:28px 18px}.lead-modal h2{font-size:32px}}
