@charset "UTF-8";
:root{--bg:#f5f2ea;--paper:#fffdf8;--ink:#20352d;--muted:#68766f;--line:#ddd9cf;--green:#24463a;--green-2:#315c4c;--accent:#bd6547;--sand:#e9d9c7;--shadow:0 18px 60px rgba(32,53,45,.11);--radius:24px;--container:min(1440px,calc(100% - 40px))}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.5}body.dialog-open{overflow:hidden}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}a{color:inherit}.container{width:var(--container);margin-inline:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:999;background:#fff;padding:10px 14px;border-radius:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,242,234,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(32,53,45,.08)}.header-inner{height:78px;display:flex;align-items:center;gap:36px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;min-width:max-content}.brand-mark{display:grid;place-items:center;width:60px;height:60px;border-radius:14px;color:#fff;font-weight:900;font-size:22px}.brand b,.brand small{display:block}.brand b{font-size:15px;letter-spacing:.02em}.brand small{font-size:11px;color:var(--muted);margin-top:1px}.main-nav{display:flex;gap:28px;margin-left:auto}.main-nav a{text-decoration:none;font-weight:650;font-size:14px}.main-nav a:hover{color:var(--accent)}.shortlist-button{border:0;background:var(--paper);padding:11px 12px 11px 16px;border-radius:999px;font-weight:750;box-shadow:0 5px 20px rgba(32,53,45,.08);cursor:pointer}.shortlist-button span{display:inline-grid;place-items:center;min-width:28px;height:28px;margin-left:7px;border-radius:999px;background:var(--green);color:#fff;font-size:12px}
.hero{padding:72px 0 78px;overflow:hidden;}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);align-items:center;gap:72px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.15em;font-weight:850;color:var(--accent);display:flex;align-items:center;gap:9px}.eyebrow span{width:28px;height:2px;background:currentColor}.hero h1,.catalog-heading h2,.services h2,.contact-section h2,.dialog-card h2{font-family:Georgia,'Times New Roman',serif;line-height:1.02;letter-spacing:-.035em;margin:18px 0}.hero h1{font-size:clamp(48px,6vw,86px);max-width:850px}.hero h1 em{font-weight:400;color:var(--accent)}.hero-copy>p{font-size:19px;max-width:700px;color:#516159}.hero-actions{display:flex;gap:12px;margin:32px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:14px;border:1px solid transparent;text-decoration:none;font-weight:800;cursor:pointer;transition:.2s transform,.2s background,.2s border-color}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:var(--green-2)}.button.ghost{border-color:var(--line);background:rgba(255,255,255,.55)}.button.ghost:hover{border-color:#a7afa9;background:#fff}.hero-stats{display:flex;gap:40px;margin:36px 0 0}.hero-stats div{padding-right:40px;border-right:1px solid var(--line)}.hero-stats div:last-child{border:0}.hero-stats dt{font:700 30px/1 Georgia,serif}.hero-stats dd{margin:6px 0 0;color:var(--muted);font-size:13px}.hero-visual{position:relative;min-height:540px}.hero-map-shape{position:absolute;inset:0 4% 0 0;border-radius:45% 55% 54% 46% / 42% 42% 58% 58%;background:linear-gradient(145deg,#dce7dd,#eadbca);transform:rotate(-4deg);box-shadow:inset 0 0 0 1px rgba(32,53,45,.05); background-image: url(/assets/images/0001.jpg); background-size: cover; background-repeat: no-repeat;}.hero-map-shape:after{content:"";position:absolute;inset:10%;border:2px dashed rgba(36,70,58,.25);border-radius:46% 54% 38% 62% / 55% 38% 62% 45%}.visual-card{position:absolute;background:rgba(255,253,248,.93);padding:16px 18px;border-radius:18px;box-shadow:var(--shadow);min-width:200px}.visual-card span,.visual-card b{display:block}.visual-card span{font-size:12px;color:var(--muted)}.visual-card b{margin-top:5px}.card-one{left:-3%;top:22%}.card-two{right:0;bottom:15%}.map-pin{position:absolute;width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--accent);transform:rotate(-45deg);box-shadow:0 7px 18px rgba(189,101,71,.35)}.map-pin:after{content:"";position:absolute;width:8px;height:8px;background:#fff;border-radius:50%;left:9px;top:9px}.pin-one{left:44%;top:22%}.pin-two{left:65%;top:48%;background:var(--green)}.pin-three{left:29%;top:64%;background:#d2a343}
.catalog-section{padding:84px 0 62px;background:#eeebe3}.catalog-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:30px}.catalog-heading h2,.contact-section h2{font-size:clamp(42px,5vw,66px)}.catalog-heading p{max-width:520px;color:var(--muted);margin:0 0 8px}.catalog-shell{background:var(--paper);border-radius:30px;box-shadow:var(--shadow);padding:18px}.search-row{display:grid;grid-template-columns:minmax(250px,1fr) auto;gap:12px}.search-field{height:58px;background:#f3f1eb;border:1px solid transparent;border-radius:16px;padding:0 18px;display:flex;align-items:center;gap:12px}.search-field:focus-within{border-color:#8ca093;background:#fff}.search-field svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.7;color:#708078}.search-field input{width:100%;border:0;background:transparent;outline:0;font-size:16px}.filter-toggle{display:none}.mobile-view-toggle{display:none}.filter-panel{padding:18px 4px 20px;border-bottom:1px solid var(--line)}.filter-label,.filter-grid label>span{display:block;margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--muted)}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:720;cursor:pointer}.filter-chip span{opacity:.55;margin-left:6px}.filter-chip.active{background:var(--green);border-color:var(--green);color:#fff}.filter-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;margin-top:16px;align-items:end}.filter-grid select{width:100%;height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 40px 0 13px;outline:0}.reset-button{height:48px;border:0;background:transparent;color:var(--accent);font-weight:800;cursor:pointer;padding:0 14px}.catalog-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);min-height:720px}.map-pane{position:relative;padding:18px 9px 0 0}.map-container{position:sticky;top:96px;height:calc(100vh - 116px);min-height:650px;border-radius:22px;overflow:hidden;background:#dde4de}.map-fallback{position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.9),transparent 28%),linear-gradient(135deg,#d8e1db,#ebe1d2);display:grid;place-items:center}.fake-map-lines{position:absolute;inset:-20%;background:repeating-linear-gradient(27deg,transparent 0 44px,rgba(255,255,255,.45) 45px 49px),repeating-linear-gradient(112deg,transparent 0 76px,rgba(36,70,58,.08) 77px 80px);transform:rotate(5deg)}.fake-pin{position:absolute;width:20px;height:20px;border-radius:50% 50% 50% 0;background:var(--accent);transform:rotate(-45deg);box-shadow:0 8px 16px rgba(32,53,45,.2)}.fake-pin:after{content:"";position:absolute;inset:6px;background:#fff;border-radius:50%}.fake-pin.p1{left:28%;top:30%}.fake-pin.p2{right:25%;top:22%;background:var(--green)}.fake-pin.p3{left:56%;bottom:25%;background:#d2a343}.map-message{position:relative;z-index:2;max-width:390px;margin:20px;text-align:center;background:rgba(255,253,248,.92);padding:24px;border-radius:20px;box-shadow:var(--shadow)}.map-message b,.map-message span{display:block}.map-message span{margin-top:8px;color:var(--muted);font-size:14px}.map-message code{font-size:12px}.map-fit-button{position:absolute;z-index:4;top:34px;right:24px;border:0;background:#fff;border-radius:12px;padding:11px 14px;font-weight:750;box-shadow:0 8px 28px rgba(32,53,45,.15);cursor:pointer}.results-pane{padding:18px 0 0 10px;min-width:0}.results-head{height:46px;display:flex;justify-content:space-between;align-items:center;padding:0 4px}.results-head div b{font-size:21px}.results-head div span,.results-head>span{color:var(--muted);font-size:13px}.location-list{display:grid;gap:12px}.location-card{display:grid;grid-template-columns:152px 1fr;background:#fff;border:1px solid #e6e1d8;border-radius:20px;overflow:hidden;transition:.2s transform,.2s box-shadow,.2s border-color}.location-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(32,53,45,.09);border-color:#cfd5cf}.card-image-wrap{position:relative;min-height:186px;background:#e6e6df}.card-image-wrap img{width:100%;height:100%;object-fit:cover}.card-number{position:absolute;left:10px;top:10px;background:rgba(255,253,248,.92);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850}.favorite-button{position:absolute;right:10px;top:10px;width:35px;height:35px;border:0;border-radius:50%;background:rgba(255,253,248,.94);cursor:pointer;font-size:18px;display:grid;place-items:center}.favorite-button.active{background:var(--accent);color:#fff}.card-body{padding:17px 16px 14px;min-width:0;display:flex;flex-direction:column}.card-kicker{display:flex;align-items:center;gap:7px;color:var(--accent);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.card-kicker span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-body h3{font:700 21px/1.15 Georgia,serif;margin:8px 0 7px}.card-body p{font-size:13px;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tag-row{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0}.tag{background:#f0eee8;border-radius:999px;padding:4px 7px;font-size:10px;color:#53635c}.card-actions{display:flex;align-items:center;gap:8px;margin-top:auto}.card-open{border:0;background:none;padding:5px 0;color:var(--green);font-weight:850;cursor:pointer}.card-map-link{margin-left:auto;color:var(--muted);font-size:12px;text-decoration:none}.load-more{width:100%;margin-top:14px;background:#f1eee8;border-color:var(--line)}.empty-state{text-align:center;padding:80px 20px}.empty-state b{font:700 28px Georgia,serif}.empty-state p{color:var(--muted)}.data-note{font-size:12px;color:var(--muted);margin-top:17px}
.services{background:var(--green);color:#fff;padding:96px 0}.services-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.eyebrow.light{color:#e8b9a5}.services h2{font-size:clamp(42px,5vw,68px)}.services-grid>div>p{color:#c7d3ce;font-size:17px;max-width:540px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-cards article{background:rgba(255,255,255,.075);padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:22px}.service-cards article span{color:#e8b9a5;font-size:12px;font-weight:850}.service-cards h3{font:700 23px Georgia,serif;margin:28px 0 10px}.service-cards p{font-size:13px;color:#c7d3ce;margin:0}
.contact-section{padding:96px 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.contact-grid>div>p{font-size:17px;color:var(--muted);max-width:500px}.contact-lines{display:flex;flex-direction:column;gap:8px;margin-top:28px}.contact-lines a{font-weight:800;text-decoration:none}.brief-form{background:var(--paper);border-radius:26px;padding:28px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.brief-form label{display:block;margin-bottom:14px}.brief-form label>span{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.brief-form input,.brief-form textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:13px 14px;outline:0}.brief-form input:focus,.brief-form textarea:focus{border-color:#82988c;box-shadow:0 0 0 3px rgba(36,70,58,.08)}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.form-footer>span{color:var(--muted);font-size:13px}.form-status{font-size:13px;color:var(--green);margin:12px 0 0}
footer{border-top:1px solid var(--line);padding:30px 0}.footer-inner{display:flex;align-items:center;gap:28px}.footer-inner p{color:var(--muted);font-size:13px;margin-left:auto}.footer-inner>a{font-weight:800;text-decoration:none;font-size:13px}.footer-brand .brand-mark{width:34px;height:34px;border-radius:11px;font-size:17px}
dialog{border:0;padding:0;background:transparent;max-width:none;max-height:none}dialog::backdrop{background:rgba(21,36,31,.58);backdrop-filter:blur(5px)}.dialog-card{position:relative;width:min(860px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;background:var(--paper);border-radius:28px;padding:24px;box-shadow:var(--shadow)}.dialog-close{position:absolute;z-index:4;top:14px;right:14px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;box-shadow:0 5px 20px rgba(32,53,45,.12);font-size:28px;line-height:1;cursor:pointer}.dialog-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.dialog-image{border-radius:20px;overflow:hidden;background:#e8e5dc;min-height:330px}.dialog-image img{width:100%;height:100%;object-fit:cover}.dialog-meta{padding:20px 34px 10px 0}.dialog-meta h2{font-size:42px}.dialog-description{font-size:16px;color:var(--muted)}.dialog-coordinates{margin:16px 0;padding:13px;background:#f0eee8;border-radius:12px;font-size:13px}.dialog-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.shortlist-card{width:min(720px,calc(100vw - 28px))}.shortlist-card h2{font-size:48px}.shortlist-intro{color:var(--muted)}.shortlist-items{display:grid;gap:8px;margin:20px 0;max-height:45vh;overflow:auto}.shortlist-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:8px}.shortlist-item img{width:64px;height:54px;object-fit:cover;border-radius:10px}.shortlist-item b,.shortlist-item span{display:block}.shortlist-item b{font-size:14px}.shortlist-item span{font-size:11px;color:var(--muted)}.shortlist-item button{border:0;background:none;font-size:22px;cursor:pointer}.shortlist-actions{display:flex;flex-wrap:wrap;gap:9px}.shortlist-empty{padding:44px;text-align:center;background:#f2efe9;border-radius:18px;color:var(--muted)}.toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,25px);background:#172b24;color:#fff;border-radius:999px;padding:12px 18px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:1100px){.hero-grid{grid-template-columns:1fr .75fr;gap:30px}.hero-visual{min-height:440px}.catalog-layout{grid-template-columns:1fr 420px}.services-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:36px}}
@media (max-width:900px){:root{--container:min(720px,calc(100% - 24px))}.main-nav{display:none}.header-inner{height:68px; gap:0; justify-content: space-between;}.hero{padding:48px 0}.brand{gap:0}.hero-grid{grid-template-columns:1fr}.hero-visual{display:none}.hero h1{font-size:clamp(48px,11vw,76px)}.catalog-heading{display:block}.catalog-heading p{margin-top:14px}.search-row{grid-template-columns:1fr auto}.filter-toggle{display:inline-flex}.mobile-view-toggle{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;background:#eeeae2;border-radius:13px;padding:3px}.mobile-view-toggle button{border:0;background:transparent;border-radius:10px;padding:9px;font-weight:800}.mobile-view-toggle button.active{background:#fff;box-shadow:0 3px 12px rgba(32,53,45,.08)}.filter-panel{display:none}.filter-panel.open{display:block}.filter-grid{grid-template-columns:1fr 1fr}.catalog-layout{display:block;min-height:0}.map-pane{padding:14px 0 0}.map-container{position:relative;top:auto;height:66vh;min-height:480px}.results-pane{display:none;padding:16px 0 0}.catalog-layout.view-list .map-pane{display:none}.catalog-layout.view-list .results-pane{display:block}.service-cards{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}.dialog-hero{grid-template-columns:1fr}.dialog-image{min-height:280px}.dialog-meta{padding:0}.footer-inner{flex-wrap:wrap}.footer-inner p{order:3;width:100%;margin:0}}
@media (max-width:620px){:root{--container:calc(100% - 20px)}.brand small{display:none}.shortlist-button{font-size:0;padding:7px;display: flex; align-items: center; margin: 0 5px}.shortlist-button:before{content:'Шорт-лист';font-size:12px;margin-left:6px}.hero h1{font-size:36px}.hero-copy>p{font-size:16px}.hero-actions{flex-direction:column}.hero-stats{gap:18px}.hero-stats div{padding-right:18px}.hero-stats dt{font-size:24px}.catalog-section{padding-top:58px}.catalog-shell{border-radius:22px;padding:10px}.search-row{grid-template-columns:1fr}.filter-toggle{width:100%}.filter-grid{grid-template-columns:1fr}.map-container{height:58vh;min-height:430px}.map-fit-button{top:24px;right:12px}.location-card{grid-template-columns:118px 1fr}.card-image-wrap{min-height:196px}.card-body h3{font-size:18px}.card-body p{-webkit-line-clamp:4}.card-map-link{display:none}.services,.contact-section{padding:68px 0}.service-cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-footer{align-items:flex-start;flex-direction:column}.brief-form{padding:20px}.dialog-card{padding:16px;border-radius:20px}.dialog-meta h2,.shortlist-card h2{font-size:34px}.shortlist-actions{display:grid}.shortlist-actions>*{width:100%}.footer-inner p{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Catalog without public geodata */
.filter-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto}
.catalog-layout{grid-template-columns:minmax(0,1.16fr) minmax(390px,.84fr);align-items:center}
.preview-pane{position:relative;padding:18px 9px 0 0;min-width:0}
.preview-card{position:sticky;top:96px;height:calc(100vh - 116px);min-height:650px;border-radius:22px;overflow:hidden;background:#dfe3dd;isolation:isolate}
.preview-card>img{width:100%;height:100%;object-fit:cover;transition:opacity .2s ease,transform .45s ease}
.preview-card:hover>img{transform:scale(1.015)}
.preview-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(17,33,27,.14) 58%,rgba(17,33,27,.88) 100%);z-index:1}
.preview-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;color:#fff}
.preview-copy span{display:inline-flex;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.preview-copy b{display:block;font:700 clamp(28px,3vw,46px)/1.08 Georgia,serif;margin-top:14px;max-width:660px}
.preview-copy p{max-width:520px;margin:10px 0 18px;color:rgba(255,255,255,.78);font-size:14px}
.preview-video-button{min-height:46px;border:0;border-radius:13px;background:#fff;color:var(--green);padding:0 18px;font-weight:850;cursor:pointer}
.preview-video-button:disabled{opacity:.55;cursor:not-allowed}
.results-pane{display:block;padding:18px 0 0 10px}
.location-card{outline:none}
.location-card.is-previewed{border-color:#8fa398;box-shadow:0 14px 30px rgba(32,53,45,.09)}
.card-kicker span:first-child{white-space:normal}
.card-actions{gap:14px;flex-wrap:wrap}
.card-video-link{border:0;background:none;padding:5px 0;color:var(--accent);font-weight:850;cursor:pointer}
.private-data-note{margin:16px 0 0;padding:12px 13px;background:#f0eee8;border-radius:12px;font-size:12px;color:var(--muted)}
.video-button{background:var(--accent);color:#fff}
.video-button:hover{background:#a9573c}
.video-dialog-card{width:min(1040px,calc(100vw - 28px));padding:22px}
.video-dialog-heading{padding:8px 52px 10px 4px}
.video-dialog-heading h2{font-size:42px;margin-bottom:8px}
.location-video,.video-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:20px;overflow:hidden;background:#172b24}
.location-video{object-fit:contain}
.video-frame iframe{width:100%;height:100%;border:0}
.video-missing{display:grid;place-items:center;text-align:center;min-height:420px;border-radius:20px;background:#ece9e1;color:var(--muted);padding:30px}
.video-missing code{margin-left:5px}

a {
  text-decoration: none;
}

.logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    border-radius: 50%;
}
.logo-text {
    letter-spacing: -0.02em;
}

.logo-mark {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    background: var(--accent);
    color: #19130c;
    border-radius: 50%;
    font-weight: 900;
    transition: 0.2s ease;
    transform: scale(1);
}

/* Список локаций: три карточки по высоте */

.location-list {
  display: grid;
  gap: 16px;

  max-height: var(--visible-list-height, 900px);
  overflow-y: auto;
  overflow-x: hidden;

  padding-right: 10px;

  scroll-behavior: smooth;
  overscroll-behavior: contain;

  scrollbar-width: thin;
  scrollbar-color: rgba(20, 20, 20, 0.28) transparent;
}

/* Полоса прокрутки для Chrome, Edge и Safari */

.location-list::-webkit-scrollbar {
  width: 7px;
}

.location-list::-webkit-scrollbar-track {
  background: transparent;
}

.location-list::-webkit-scrollbar-thumb {
  background: rgba(20, 20, 20, 0.22);
  border-radius: 999px;
}

.location-list::-webkit-scrollbar-thumb:hover {
  background: rgba(20, 20, 20, 0.38);
}

/* Когда карточек три или меньше, скролл не нужен */

.location-list:not(.is-scrollable) {
  max-height: none;
  overflow-y: visible;
  padding-right: 0;
}

@media (max-width:1100px){
  .catalog-layout{grid-template-columns:minmax(0,1fr) 420px}
}

@media (max-width:900px){
  .catalog-layout{display:block;min-height:0}
  .preview-pane{padding:14px 0 0}
  .preview-card{position:relative;top:auto;height:auto;min-height:0;aspect-ratio:16/10}
  .preview-copy{left:22px;right:22px;bottom:22px}
  .preview-copy b{font-size:32px}
  .preview-copy p{display:none}
  .results-pane{display:block;padding:16px 0 0}
  .filter-grid{grid-template-columns:1fr 1fr}
}



@media (max-width:620px){
  .filter-grid{grid-template-columns:1fr}
  .preview-card{aspect-ratio:4/3;border-radius:18px}
  .preview-copy{left:16px;right:16px;bottom:16px}
  .preview-copy b{font-size:25px;margin-top:10px}
  .preview-video-button{min-height:42px;width:100%}
  .location-card{grid-template-columns:118px 1fr}
  .card-video-link{margin-left:0;width:100%;text-align:left}
  .video-dialog-card{padding:14px}
  .video-dialog-heading h2{font-size:32px}
  .location-video,.video-frame{border-radius:14px}
  .video-missing{min-height:230px}
  .brand b{display:none}
  .location-card {display: block}
  .card-image-wrap img {
    max-height: 200px;
    object-position: center;}
    .button.primary {font-size:12px}
  .filter-toggle{align-items:center;justify-content:center;gap:8px}
  .filter-toggle span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--green);color:#fff;font-size:11px}
  .preview-card {display: none}
  .logo-text {display: none}
}

/* Three visible catalog cards with internal scrolling */
.location-list{
  max-height:var(--visible-list-height,636px);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-right:7px;
  scroll-behavior:smooth;
}
.location-list:not(.is-scrollable){
  overflow-y:visible;
  padding-right:0;
}
.location-list::-webkit-scrollbar{width:8px}
.location-list::-webkit-scrollbar-track{background:#eeeae2;border-radius:999px}
.location-list::-webkit-scrollbar-thumb{background:#aeb9b2;border-radius:999px;border:2px solid #eeeae2}
.location-list::-webkit-scrollbar-thumb:hover{background:#86978e}
.location-list{scrollbar-width:thin;scrollbar-color:#aeb9b2 #eeeae2}

@media (max-width:620px){
  .location-list{padding-right:5px}
}


/* Telegram request form */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.brief-form button:disabled{opacity:.65;cursor:wait;transform:none}
.form-status{min-height:24px;margin:12px 0 0;font-size:13px;font-weight:700}
.form-status.is-loading{color:var(--muted)}
.form-status.is-success{color:#23704d}
.form-status.is-error{color:#a13e30}
.shortlist-item{grid-template-columns:64px 1fr auto}
.shortlist-number{display:grid;place-items:center;width:64px;height:54px;border-radius:10px;background:var(--green);color:#fff;font-weight:900;font-size:13px}
.shortlist-item span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;line-height:1.35}

/* Характеристики локации в модальном окне */

.location-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 24px 0;
}

.location-details > div {
  padding: 14px 16px;
  background: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
}

.location-details dt {
  margin-bottom: 5px;
  color: rgba(0, 0, 0, 0.55);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.location-details dd {
  margin: 0;
  color: #181818;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
}

/* Длинные значения, например бытовые удобства */
.location-details > div:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

@media (max-width: 600px) {

  .logo-mark {
    width: 40px;
    height: 40px;
  }

  .location__btn {
    max-width: 100px;
  }

  .location-details {
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 18px 0;
  }

  .location-details > div {
    padding: 12px 14px;
  }

  .location-details > div:last-child:nth-child(odd) {
    grid-column: auto;
  }

  .location-details dd {
    font-size: 14px;
  }
}

.video-external {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 14px;
  padding: 14px 16px;
  background: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
}

.video-external p {
  margin: 0;
  color: rgba(0, 0, 0, 0.65);
  font-size: 13px;
  line-height: 1.45;
}

.video-external .button {
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .video-external {
    align-items: stretch;
    flex-direction: column;
  }

  .video-external .button {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 820px) {
  .location-list,
  .location-list.is-scrollable {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(86vw, 390px);
    gap: 14px;

    width: 100%;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;

    padding: 0 4px 14px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .location-list .location-card {
    width: 100%;
    min-width: 0;
    height: auto;
    scroll-snap-align: start;
  }

  #loadMore {
    display: none !important;
  }
}