@layer site-controls {
/* Explicit horizontal padding wins over composition CSS; absent values keep the pack intact. */
body [data-site-instance]:not([data-site-section=hero].layout-horizon):not([data-site-section=hero].layout-estal),
body [data-site-section=hero]:is(.layout-horizon,.layout-estal) > :is(.broker-site-hero-copy,.site-hero-content) {
  padding-left:var(--resolved-left,revert-layer);
  padding-right:var(--resolved-right,revert-layer);
}
/* The image remains full bleed; the floating price follows the text's right inset. */
body .property-site [data-site-section=hero]:is(.layout-horizon,.layout-estal) > .site-hero-price {
  right:var(--resolved-right,revert-layer);
}
/* Opt-in frame overrides. Desktop dimensions never leak into the mobile layout. */
/* The same controls work in all packs and in dynamically replaced preview blocks. */
body .site-property-filters { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0 0 32px; }
body .site-property-filters label { display:flex; flex:1 1 140px; min-width:0; flex-direction:column; gap:4px; padding:10px 16px; border:1px solid color-mix(in srgb,currentColor,transparent 80%); border-radius:var(--resolved-radius); }
body .site-property-filters label > span { font:400 13px/1.4 "Geist Variable",Arial,sans-serif; opacity:.6; }
body .site-property-filters select { width:100%; min-height:30px; border:0; padding:0 20px 0 0; background:transparent; color:inherit; font:400 16px/1.4 "Geist Variable",Arial,sans-serif; cursor:pointer; }
body .site-property-filters option { color:#212121; background:#fff; }
body .site-property-filters button { border:0; padding:12px 4px; background:none; color:inherit; text-decoration:underline; text-underline-offset:4px; font:400 14px/1.4 "Geist Variable",Arial,sans-serif; cursor:pointer; }
body .site-property-count { font:400 14px/1.4 "Geist Variable",Arial,sans-serif; white-space:nowrap; }
body .site-property-filters :is(button,select):focus-visible { outline:2px solid var(--block-accent,var(--site-accent)); outline-offset:5px; }
body .layout-horizon .site-property-filters label { border-radius:99px; padding-inline:22px; }
body .layout-estal .site-property-filters label { border-radius:0; border-width:0 0 1px; padding-inline:0; }
/* Optional case/video compositions inherit each pack's typography and color tokens. */
body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases { counter-reset:case; gap:0; }
body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases article { display:flex; flex-direction:column; min-width:0; padding:0 32px; border:0; border-left:1px solid color-mix(in srgb,currentColor,transparent 85%); border-radius:0; background:none; box-shadow:none; }
body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases article:first-child { border-left:0; padding-left:0; }
body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases article::before { counter-increment:case; content:counter(case,decimal-leading-zero); margin-bottom:20px; opacity:.55; font-size:16px; }
body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases h3 { font:500 28px/1.2 var(--resolved-heading-font); margin:0 0 20px; }
body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases p { font-size:17px; }
body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases b { order:1; margin-top:auto; padding-top:20px; border-top:1px solid color-mix(in srgb,currentColor,transparent 85%); font-size:16px; font-weight:400; }
body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases b::before { content:'Результат'; display:block; margin-bottom:8px; font-size:12px; text-transform:uppercase; opacity:.55; }
body .broker-site .layout-estal .broker-site-cases h3 { text-transform:uppercase; font-size:32px; }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) > header { display:grid; grid-template-columns:1fr 1fr; gap:40px; text-align:left; max-width:none; align-items:center; }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) > header p { margin:0; }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) .broker-site-video-stage { border-radius:var(--resolved-radius); overflow:hidden; }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) .broker-site-video-play-label { flex-direction:column; background:transparent; color:#fff; text-shadow:0 1px 4px #000; gap:16px; }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) .broker-site-video-play-label i { display:grid; place-items:center; width:76px; height:76px; background:#fff; color:#212121; border-radius:50%; }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) .broker-site-video-play::after { display:none; }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) .broker-site-video-play { background:var(--block-accent,var(--site-accent)); }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) .broker-site-video-play img { opacity:1; }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) .broker-site-video-play-label { background:#212121; border-radius:99px; padding:12px 24px; margin-top:90px; text-shadow:none; font:500 16px/1.4 "Geist Variable",Arial,sans-serif; }
body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) .broker-site-video-play-label i { position:absolute; bottom:calc(100% + 16px); left:50%; transform:translateX(-50%); }
body .property-site :is(.layout-horizon,.layout-estal,.layout-market).site-premium { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; background:var(--block-background,var(--site-background)); color:var(--block-text,var(--site-text)); }
body .property-site :is(.layout-horizon,.layout-estal,.layout-market) :is(.site-feature-list,.site-highlight-list) article { background:transparent; color:inherit; border:0; border-top:1px solid color-mix(in srgb,currentColor,transparent 80%); border-radius:0; box-shadow:none; padding:24px 0; }
body .property-site :is(.layout-horizon,.layout-estal,.layout-market) :is(.site-feature-list,.site-highlight-list) { background:transparent; margin:0; }
body .property-site :is(.layout-horizon,.layout-estal,.layout-market) .site-highlight-list { display:grid; grid-template-columns:1fr; gap:0; }
body .property-site :is(.layout-horizon,.layout-estal,.layout-market) .site-highlight-list strong { font:500 24px/1.4 var(--resolved-heading-font); }
@media(max-width:700px) {
  body .site-property-filters { gap:12px; }
  body .site-property-filters label { flex-basis:calc(50% - 12px); padding-inline:12px; }
  body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases { grid-template-columns:1fr; }
  body .broker-site :is(.layout-horizon,.layout-estal,.layout-market) .broker-site-cases article { padding:24px 0; border-left:0; border-top:1px solid color-mix(in srgb,currentColor,transparent 85%); }
  body .broker-site .broker-site-video:is(.layout-horizon,.layout-estal,.layout-market) > header,
  body .property-site :is(.layout-horizon,.layout-estal,.layout-market).site-premium { grid-template-columns:1fr; gap:24px; }
}
body .broker-site-story > .site-media-frame { margin:0; overflow:hidden; border-radius:var(--resolved-radius); min-width:0; }
body .broker-site-story > .site-media-frame img { display:block; width:100%; }
body .broker-site-story.layout-editorial > .site-media-frame { order:1; }
body .site-reviews { display:grid; gap:40px; text-align:left; }
body .site-review { border-top:1px solid color-mix(in srgb,currentColor,transparent 80%); padding-top:32px; min-width:0; }
body [data-site-instance] .site-review blockquote { font:400 28px/1.5 "Geist Variable",Arial,sans-serif; letter-spacing:-.02em; margin:0 0 28px; overflow-wrap:anywhere; }
body .site-review-author { display:grid; grid-template-columns:auto 1fr; gap:6px 18px; align-items:center; }
body .site-review-author img { grid-row:1/3; width:80px; height:80px; flex-shrink:0; border-radius:50%; object-fit:cover; }
body .site-review-author strong { font:500 18px/1.4 "Geist Variable",Arial,sans-serif; }
body .site-review-author span { grid-column:2; font-size:15px; opacity:.65; }
body .site-review-author:not(:has(img)) { grid-template-columns:1fr; }
body .site-review-author:not(:has(img)) span { grid-column:1; }
body .broker-site-quote.layout-horizon { text-align:left; }
body .layout-horizon .site-reviews { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(min-width:701px) {
  body .broker-site .broker-site-story[data-site-instance][data-media-side] { grid-template-columns:minmax(0,1fr) minmax(0,1fr); text-align:left; }
  body .broker-site .broker-site-story[data-site-instance][data-media-side] > .site-media-frame { order:var(--block-media-side); }
  body .property-site .site-story[data-site-instance][data-media-side] { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  body .property-site .site-story[data-site-instance][data-media-side] > .site-story-media { grid-row:1; grid-column:1; }
  body .property-site .site-story[data-site-instance][data-media-side] > .site-section-copy { grid-row:1; grid-column:2; }
  body .property-site .site-story[data-site-instance][data-media-side=right] > .site-story-media { grid-column:2; }
  body .property-site .site-story[data-site-instance][data-media-side=right] > .site-section-copy { grid-column:1; }
  body :is(.broker-site,.property-site) [data-site-instance][data-media-height] :is(.site-media-frame,.site-story-media,.site-location-media,.site-contact-media,.horizon-contact-image) { height:var(--block-media-height); min-height:0; max-height:none; aspect-ratio:auto; align-self:center; }
  body :is(.broker-site,.property-site) [data-site-instance][data-media-height] :is(.site-media-frame,.site-story-media,.site-location-media,.site-contact-media,.horizon-contact-image) img { height:100%; min-height:0; max-height:none; aspect-ratio:auto; object-fit:cover; }
  body :is(.broker-site,.property-site) [data-site-instance][data-media-width] :is(.site-media-frame,.site-story-media,.site-location-media,.site-contact-media,.horizon-contact-image) { width:var(--block-media-width); justify-self:center; margin-inline:auto; }
}
@media(max-width:700px) {
  body .broker-site-story > .site-media-frame { order:var(--mobile-media-first,1); }
  body :is(.broker-site,.property-site) [data-site-instance][data-mobile-media-height] :is(.site-media-frame,.site-story-media,.site-location-media,.site-contact-media,.horizon-contact-image) { height:var(--mobile-media-height); min-height:0; max-height:none; aspect-ratio:auto; }
  body :is(.broker-site,.property-site) [data-site-instance][data-mobile-media-height] :is(.site-media-frame,.site-story-media,.site-location-media,.site-contact-media,.horizon-contact-image) img { height:100%; min-height:0; max-height:none; aspect-ratio:auto; object-fit:cover; }
  body :is(.broker-site,.property-site) [data-site-instance][data-mobile-media-width] :is(.site-media-frame,.site-story-media,.site-location-media,.site-contact-media,.horizon-contact-image) { width:var(--mobile-media-width); margin-inline:auto; justify-self:center; }
  body [data-mobile-frame] .site-media-frame img { object-position:var(--mobile-photo-x) var(--mobile-photo-y)!important; transform:scale(var(--mobile-photo-zoom))!important; }
  body .layout-horizon .site-reviews { grid-template-columns:1fr; }
  body [data-site-instance] .site-review blockquote { font-size:22px; }
}
}
