/* C28 refines the current, deployed C23 composition. Original type, palette,
   project media, navigation and lead contracts remain the base. */
body.c28-site { --c28-ease:cubic-bezier(.22,.61,.36,1); --c28-scene-opacity:.12; }
body.c28-site .c23-section { isolation:isolate; }
body.c28-site .c23-section > .c23-wrap { z-index:1; }
body.c28-site .c23-header { position:relative; top:auto; z-index:20; }
body.c28-site .c23-kicker { margin-bottom:18px; }
body.c28-site :is(.c23-intro,.c23-hero-bottom,.c23-page-hero) :is(h1,h2,p) { text-wrap:pretty; }
body.c28-site .c23-intro h2 { text-wrap:balance; }
body.c28-site .c23-hero-grid { gap:clamp(24px,3vw,44px); }
body.c28-site .c23-hero-scene { overflow:hidden; }
body.c28-site .c23-hero-scene > :is(.c23-hero-top,.c23-hero-name,.c23-hero-bottom,.c23-solar-lockup) { position:relative; z-index:2; }
body.c28-site .c23-hero-name { margin-block:22px; }
body.c28-site .c23-hero-top { letter-spacing:.08em; }
body.c28-site .c23-hero-facts { padding-block:30px 28px; }
body.c28-site .c23-hero-facts > div { padding-left:20px; border-left:1px solid var(--line); }
body.c28-site .c23-hero-facts > div:first-child { padding-left:0; border:0; }

/* One full-field decorative landscape through every other chapter. It has its
   own clipping surface; buyer content and original media never get clipped. */
body.c28-site .c28-scenery { position:absolute!important; inset:0; width:100%; height:100%; z-index:0; overflow:hidden; pointer-events:none; user-select:none; color:var(--accent); contain:paint; }
body.c28-site .c28-scenery-svg { position:absolute; left:-6%; top:-8%; width:112%; max-width:none; height:116%; overflow:visible; opacity:var(--c28-scene-opacity); }
body.c28-site .c28-scenery-svg path { fill:none; stroke:currentColor; stroke-width:1.2; vector-effect:non-scaling-stroke; }
body.c28-site .c28-scenery-svg .c28-ribbon { stroke-width:38; opacity:.11; }
body.c28-site .c28-scenery-svg .c28-secondary-line { opacity:.58; }
body.c28-site .c28-scenery-light { position:absolute; inset:-12%; opacity:.055; background:radial-gradient(ellipse at 74% 56%,var(--tint),transparent 59%); }
/* CSS owns the motion so a media-query change stops it synchronously, even
   when a background browser delays MediaQueryList's JavaScript change event. */
body.c28-site .c28-scenery.c28-motion-active .c28-scenery-svg { animation:c28-atmosphere-drift var(--c28-duration,26s) ease-in-out infinite; animation-play-state:paused; }
body.c28-site .c28-scenery.c28-motion-active .c28-scenery-light { animation:c28-atmosphere-light 18s ease-in-out infinite; animation-play-state:paused; }
body.c28-site .c28-scenery.c28-motion-active.is-c28-running :is(.c28-scenery-svg,.c28-scenery-light) { animation-play-state:running; }
@keyframes c28-atmosphere-drift {
  0%,100% { transform:translate3d(-12px,8px,0) rotate(calc(var(--c28-base-turn,0deg) - .6deg)); }
  50% { transform:translate3d(17px,-9px,0) rotate(calc(var(--c28-base-turn,0deg) + .8deg)); }
}
@keyframes c28-atmosphere-light {
  0%,100% { transform:translate3d(-3%,2%,0); opacity:.035; }
  50% { transform:translate3d(4%,-2%,0); opacity:.075; }
}
body.c28-site :is(.c23-features,.c23-hero-scene) > .c28-scenery { color:var(--tint); --c28-scene-opacity:.2; }
body.c28-site .c23-features > .c28-scenery { -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 45%,transparent 56%,transparent 91%,#000 100%); mask-image:linear-gradient(90deg,#000 0%,#000 45%,transparent 56%,transparent 91%,#000 100%); }
body.c28-site .c23-hero-scene > .c28-scenery { -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 68%,#000 100%); mask-image:linear-gradient(90deg,transparent 0%,transparent 68%,#000 100%); }
body.c28-site .c23-hero-scene .c28-scenery-svg { left:-8%; top:-12%; width:128%; height:112%; }
body.c28-site .c28-scene[data-kfu=plans] { --c28-scene-opacity:.07; }
body.c28-site .c28-scene[data-kfu=faq] > .c28-scenery { -webkit-mask-image:linear-gradient(90deg,#000,transparent 65%); mask-image:linear-gradient(90deg,#000,transparent 65%); }
body.c28-site .c28-scene[data-kfu=numbers] > .c28-scenery { -webkit-mask-image:linear-gradient(0deg,#000,transparent 66%); mask-image:linear-gradient(0deg,#000,transparent 66%); }
body.c28-site :is(.c23-hero-mark,.c23-feature-motif,.c23-numbers-motif) { display:none; }

/* Architecture receives a calm edge and a caption outside its moving field. */
body.c28-site .c23-gallery button { position:relative; cursor:zoom-in; }
body.c28-site .c23-gallery button::after { content:'↗'; display:grid; place-items:center; width:42px; height:42px; position:absolute; right:14px; bottom:14px; background:var(--paper); color:var(--ink); font-size:23px; opacity:0; transform:translateY(5px); transition:opacity .25s,transform .25s; }
body.c28-site .c23-gallery button:focus-visible::after { opacity:1; transform:none; }
body.c28-site .c23-gallery figcaption { padding-top:20px; }
body.c28-site .c23-gallery p { font-size:15px; line-height:1.65; max-width:49ch; }
body.c28-site .c23-feature-copy > .c23-lead { font-size:19px; line-height:1.6; opacity:.9; }
body.c28-site .c23-benefits { gap:28px 30px; margin-block:32px 38px; }
body.c28-site .c23-benefits article { border-top:1px solid #ffffff30; padding-top:19px; }
body.c28-site .c23-benefits p { font-size:15px; line-height:1.65; opacity:.9; }
body.c28-site .c23-feature-visual { z-index:1; }
body.c28-site .c23-feature-copy { z-index:1; }
body.c28-site .c23-feature-visual > img { height:clamp(450px,43vw,620px); }

/* Scenarios are alternatives. Decorative step numbers are removed; real
   sequence numbers remain in the purchase process below. */
body.c28-site .c23-scenario-index { display:none; }
body.c28-site .c23-scenario { padding-top:24px!important; }
body.c28-site .c23-scenario h3 { max-width:20ch; font-size:clamp(25px,2.15vw,34px); }
body.c28-site .c23-scenario p { max-width:46ch; font-size:16px; line-height:1.7; }
body.c28-site .c23-scenario-image { height:clamp(250px,23vw,350px); }
body.c28-site .c23-step { border-top-width:1px; }
body.c28-site .c23-step-number { font-size:32px; margin-bottom:28px; }
body.c28-site .c23-step p { font-size:16px; line-height:1.65; }
body.c28-site .c23-step-cta { margin-top:36px; }

/* Facts and schemes stay still. Their surfaces carry the contrast, dates and
   text retain their normal flow, and no animation scales a factual value. */
body.c28-site .c23-fact-grid { gap:30px 32px; }
body.c28-site .c23-fact { border-top:1px solid var(--line); padding-top:22px; }
body.c28-site .c23-fact strong { min-height:82px; margin-bottom:18px; font-variant-numeric:lining-nums tabular-nums; }
body.c28-site .c23-fact p { line-height:1.65; font-size:15px; }
body.c28-site .c23-plan-grid { gap:34px; }
body.c28-site .c23-plan button.c23-plan-media { background:color-mix(in srgb,var(--paper) 68%,white); height:365px; padding:26px; cursor:zoom-in; }
body.c28-site .c23-plan-media img { mix-blend-mode:normal; object-fit:contain; transform:none!important; }
body.c28-site .c23-plan-media::after { width:44px; height:44px; right:14px; bottom:14px; font-size:24px; border:1px solid var(--line); }
body.c28-site .c23-plan p { font-size:15px; line-height:1.65; margin-block:14px 20px; }
body.c28-site .c23-plan h3 { font-size:clamp(23px,2.2vw,31px); line-height:1.2; }
body.c28-site .c23-plan .c23-text-link { min-height:52px; }
body.c28-site .c23-location-points { gap:0; }
body.c28-site .c23-location-points article { padding-block:22px; border-top:1px solid var(--line); }
body.c28-site .c23-location-points p { font-size:15px; line-height:1.65; }
body.c28-site .c23-faq-list summary { padding-block:25px; }
body.c28-site .c23-faq-list details p { font-size:16px; line-height:1.7; }
body.c28-site .c23-offer-copy .c23-lead { opacity:.9; font-size:21px; }
body.c28-site .c23-offer-results { gap:24px 30px; }
body.c28-site .c23-offer-results article { border-top:1px solid #ffffff35; padding-top:18px; }
body.c28-site .c23-offer-results p { font-size:14px; opacity:.9; line-height:1.6; }

/* The original form stays in the same DOM and keyboard order. */
body.c28-site .c23-hero-form { padding-top:24px; }
body.c28-site .form-title strong { font-size:28px; line-height:1.18; }
body.c28-site .form-title span { font-size:14px; line-height:1.55; }
body.c28-site .consent { font-size:12px; }
body.c28-site .form-note { font-size:11px; }
body.c28-site .form > :is(input:not([type=hidden]),textarea) { min-height:46px; }
body.c28-site .contact-card { min-height:48px; }
body.c28-site .contact-card strong { font-size:13px; }
body.c28-site :is(.c23-btn,.btn):hover { transform:none; }
body.c28-site :is(.c23-btn,.c23-text-link)::after { transition:transform .25s var(--c28-ease); }
body.c28-site .c23-offer-panel { border-top:3px solid var(--accent); }
body.c28-site :is(.c23-btn,.c23-text-link,.c23-map-launch,button):focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
body.c28-site .c23-features .c23-btn:focus-visible { outline-color:var(--paper); }

/* Inner pages retain their own text and navigation, with the same atlas field. */
body.c28-site .c23-page-hero { position:relative; isolation:isolate; }
body.c28-site .c23-page-hero > .c23-wrap { position:relative; z-index:1; }
body.c28-site .c23-page-hero > :not(.c28-scenery) { position:relative; z-index:1; }
body.c28-site .c23-page-hero > .c28-scenery { -webkit-mask-image:linear-gradient(90deg,transparent,#000); mask-image:linear-gradient(90deg,transparent,#000); --c28-scene-opacity:.13; }
body.c28-site .c23-page-content > section { padding-block:34px; }
body.c28-site .c23-page-aside { border-top:2px solid var(--accent); }
body.c28-site .c23-page-links a { padding-block:12px; }
body.c28-site .c28-motion-toggle { display:inline-flex; align-items:center; gap:9px; min-height:44px; margin:12px 0 0; padding:8px 0; border:0; background:none; color:var(--muted); font-size:12px; line-height:1.4; text-decoration:underline; text-underline-offset:4px; }
body.c28-site .c28-motion-toggle::before { content:''; width:9px; height:9px; border:1px solid currentColor; border-radius:50%; }
body.c28-site .c28-motion-toggle[aria-pressed=true]::before { background:currentColor; }

/* Shape vocabulary follows the existing project. Geometry is deliberately
   different for river, mountain, courtyard, coast, solar and city scenes. */
body.c28-site[data-c28-motif=river] .c28-scenery-svg { --c28-base-turn:-4deg; transform:rotate(-4deg); }
body.c28-site[data-c28-motif=canopy] .c28-scenery-svg { width:132%; left:-18%; }
body.c28-site[data-c28-motif=alpine] .c28-scenery-svg { top:-16%; height:138%; }
body.c28-site[data-c28-motif=solar] .c28-scenery-svg { left:-13%; width:126%; }
body.c28-site[data-c28-motif=facade] .c28-scenery-svg { top:-10%; height:120%; }

@media(min-width:1001px) {
  body.c28-site .c23-feature-grid { align-items:start; gap:6%; }
  body.c28-site .c23-feature-visual { position:sticky; top:112px; }
  body.c28-site .c23-faq-title { position:sticky; top:116px; }
  body.c28-site[data-c28-motif=river] .c23-gallery[data-count="2"] { grid-template-columns:1.25fr .9fr; gap:clamp(32px,5vw,70px); align-items:start; }
  body.c28-site[data-c28-motif=river] .c23-gallery[data-count="2"] figure:first-child img { height:440px!important; }
  body.c28-site[data-c28-motif=river] .c23-gallery[data-count="2"] figure:nth-child(2) { margin-top:74px; }
  body.c28-site[data-c28-motif=river] .c23-gallery[data-count="2"] figure:nth-child(2) img { height:340px!important; }
  body.c28-site[data-c28-motif=river] div.c23-scenarios,
  body.c28-site[data-c28-motif=facade] div.c23-scenarios { display:block; }
  body.c28-site[data-c28-motif=river] .c23-scenario,
  body.c28-site[data-c28-motif=facade] .c23-scenario { padding-block:30px!important; }
  body.c28-site[data-c28-motif=river] .c23-scenario > div:not(.c23-scenario-image),
  body.c28-site[data-c28-motif=facade] .c23-scenario > div:not(.c23-scenario-image) { display:grid; grid-template-columns:.9fr 1.1fr; gap:9%; align-items:start; }
  body.c28-site[data-c28-motif=river] .c23-scenario p,
  body.c28-site[data-c28-motif=facade] .c23-scenario p { margin:0; max-width:59ch; }
  body.c28-site[data-c28-motif=river] .c23-numbers .c23-wrap { display:grid; grid-template-columns:1.15fr .85fr; gap:0 7%; }
  body.c28-site[data-c28-motif=river] .c23-numbers .c23-intro { grid-column:1/-1; margin-bottom:48px; }
  body.c28-site[data-c28-motif=river] .c23-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.c28-site[data-c28-motif=river] .c23-numbers-visual { height:100%; min-height:400px; margin:0; }
  body.c28-site[data-c28-motif=river] .c23-numbers-visual img { object-position:50% 50%; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="3"] { grid-template-columns:1.2fr 1fr .85fr; align-items:start; gap:30px; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="3"] figure:first-child img { height:480px; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="3"] figure:nth-child(2) { margin-top:56px; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="3"] figure:nth-child(2) img { height:390px; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="3"] figure:nth-child(3) { margin-top:112px; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="3"] figure:nth-child(3) img { height:310px; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="1"] { display:block; max-width:1150px; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="1"] figure:first-child { display:grid; grid-template-columns:1.8fr .65fr; gap:40px; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="1"] figure:first-child img { height:440px; }
  body.c28-site[data-c28-motif=alpine] .c23-gallery[data-count="1"] figure:first-child figcaption { padding-top:0; align-self:center; }
  body.c28-site[data-c28-motif=alpine] div.c23-scenarios { grid-template-columns:1fr 1fr 1fr; gap:44px; }
  body.c28-site[data-c28-motif=alpine] .c23-scenario { border-top:0; border-left:1px solid var(--line); padding:5px 0 5px 28px!important; }
  body.c28-site[data-c28-motif=alpine] .c23-scenario:first-child { border-left:0; padding-left:0!important; }
  body.c28-site[data-c28-motif=courtyard] .c23-gallery { gap:36px; }
  body.c28-site[data-c28-motif=courtyard] .c23-gallery figure:first-child { grid-template-columns:1.7fr .8fr; gap:clamp(30px,4vw,64px); }
  body.c28-site[data-c28-motif=courtyard] div.c23-scenarios { grid-template-columns:1.1fr 1fr .9fr; gap:40px; }
  body.c28-site[data-c28-motif=courtyard] .c23-scenario:nth-child(2) { margin-top:38px; }
  body.c28-site[data-c28-motif=courtyard] .c23-scenario:nth-child(3) { margin-top:76px; }
  body.c28-site[data-c28-motif=courtyard] .c23-numbers .c23-wrap { display:grid; grid-template-columns:1.1fr .9fr; gap:0 7%; }
  body.c28-site[data-c28-motif=courtyard] .c23-numbers .c23-intro { grid-column:1/-1; margin-bottom:48px; }
  body.c28-site[data-c28-motif=courtyard] .c23-fact-grid { grid-column:2; grid-row:2; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.c28-site[data-c28-motif=courtyard] .c23-numbers-visual { grid-column:1; grid-row:2; height:100%; min-height:420px; margin:0; }
  body.c28-site[data-c28-motif=coast] .c23-gallery[data-count="3"] { grid-template-columns:1.35fr 1fr .9fr; gap:32px; align-items:start; }
  body.c28-site[data-c28-motif=coast] .c23-gallery[data-count="3"] figure:first-child { display:block; grid-column:auto; }
  body.c28-site[data-c28-motif=coast] .c23-gallery[data-count="3"] figure:first-child img { height:430px; }
  body.c28-site[data-c28-motif=coast] .c23-gallery[data-count="3"] figure:first-child figcaption { padding-top:20px; }
  body.c28-site[data-c28-motif=coast] .c23-gallery[data-count="3"] figure:nth-child(2) img { height:340px; }
  body.c28-site[data-c28-motif=coast] .c23-gallery[data-count="3"] figure:nth-child(3) img { height:280px; }
  body.c28-site[data-c28-motif=coast] .c23-feature-grid { grid-template-columns:1.15fr .85fr; }
  body.c28-site[data-c28-motif=coast] div.c23-scenarios { gap:40px; }
  body.c28-site[data-c28-motif=coast] .c23-scenario:nth-child(2) { margin-top:34px; }
  body.c28-site[data-c28-motif=coast] .c23-scenario:nth-child(3) { margin-top:68px; }
  body.c28-site[data-c28-motif=canopy] .c23-gallery { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:32px; align-items:start; }
  body.c28-site[data-c28-motif=canopy] .c23-gallery figure:first-child img { height:470px; }
  body.c28-site[data-c28-motif=canopy] .c23-gallery figure:nth-child(2) { margin-top:54px; }
  body.c28-site[data-c28-motif=canopy] .c23-gallery figure:nth-child(2) img { height:370px; }
  body.c28-site[data-c28-motif=canopy] .c23-gallery figure:nth-child(3) { margin-top:107px; }
  body.c28-site[data-c28-motif=canopy] .c23-gallery figure:nth-child(3) img { height:300px; }
  body.c28-site[data-c28-motif=canopy] .c23-benefits { grid-template-columns:1fr; gap:22px; }
  body.c28-site[data-c28-motif=canopy] .c23-feature-visual > img { height:650px; }
  body.c28-site[data-c28-motif=solar] .c23-gallery { display:grid; grid-template-columns:1.45fr 1fr 1fr; gap:32px; align-items:start; }
  body.c28-site[data-c28-motif=solar] .c23-gallery figure:first-child img { height:430px; }
  body.c28-site[data-c28-motif=solar] .c23-gallery figure:nth-child(2) img { height:360px; }
  body.c28-site[data-c28-motif=solar] .c23-gallery figure:nth-child(3) img { height:290px; }
  body.c28-site[data-c28-motif=solar] div.c23-scenarios { gap:40px; }
  body.c28-site[data-c28-motif=solar] .c23-scenario:nth-child(2) { background:var(--tint); padding:26px!important; border-top:0; }
  body.c28-site[data-c28-motif=facade] .c23-gallery { grid-template-columns:1.4fr 1fr 1fr; gap:30px; align-items:start; }
  body.c28-site[data-c28-motif=facade] .c23-gallery figure:first-child img { height:430px; }
  body.c28-site[data-c28-motif=facade] .c23-gallery figure:nth-child(2) img { height:340px; }
  body.c28-site[data-c28-motif=facade] .c23-gallery figure:nth-child(3) img { height:340px; }
  body.c28-site[data-c28-project='a45-resort.ru'] .c23-gallery { grid-template-columns:1.35fr 1fr 1fr; }
  body.c28-site[data-c28-project='yuzhny-briz-yalta.ru'] .c23-gallery { grid-template-columns:1fr 1.25fr .9fr; }
  body.c28-site[data-c28-project='yuzhny-briz-yalta.ru'] .c23-gallery figure:first-child img { height:370px; }
  body.c28-site[data-c28-project='yuzhny-briz-yalta.ru'] .c23-gallery figure:nth-child(2) img { height:460px; }
}
@media(max-width:1000px) {
  body.c28-site .c23-benefits { gap:24px; }
  body.c28-site .c23-plan button.c23-plan-media { height:300px; padding:18px; }
}
@media(max-width:800px) {
  body.c28-site .c23-header { position:relative; }
  body.c28-site .c23-hero-grid { gap:25px; }
  body.c28-site .c23-hero-facts > div { padding-left:14px; }
  body.c28-site .c28-scenery-svg { left:-48%; width:180%; top:-10%; height:120%; }
  body.c28-site .c23-feature-visual > img { height:420px!important; }
  body.c28-site .c23-plan button.c23-plan-media { height:310px; }
  body.c28-site .c23-feature-copy > .c23-lead { font-size:18px; }
  body.c28-site .c23-features > .c28-scenery { -webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 9%,transparent 91%,#000 100%); mask-image:linear-gradient(90deg,#000 0%,transparent 9%,transparent 91%,#000 100%); }
  body.c28-site .c23-fact p { font-size:14px; }
  body.c28-site .c23-location-points article { border-top:0; }
  body.c28-site .c23-offer-copy .c23-lead { font-size:19px; }
}
@media(max-width:520px) {
  body.c28-site .c23-hero-scene { min-height:650px; }
  body.c28-site .c23-hero-name { margin-block:20px; }
  body.c28-site .c23-hero-facts { gap:16px; }
  body.c28-site .c23-hero-facts > div { padding-left:10px; }
  body.c28-site .c23-hero-facts span { font-size:12px; }
  body.c28-site .c23-benefits { grid-template-columns:1fr; gap:23px; }
  body.c28-site .c23-benefits p { font-size:16px; }
  body.c28-site .c23-benefits article { padding-top:18px; }
  body.c28-site .c23-feature-visual > img { height:340px!important; }
  body.c28-site .c23-scenario { padding-top:24px!important; }
  body.c28-site .c23-scenario h3 { font-size:28px; }
  body.c28-site .c23-fact-grid { gap:28px 20px; }
  body.c28-site .c23-fact strong { min-height:68px; }
  body.c28-site .c23-plan button.c23-plan-media { height:355px; padding:22px; }
  body.c28-site .c23-plan p { font-size:16px; }
  body.c28-site .c23-location-points article { border-top:1px solid var(--line); padding-block:20px; }
  body.c28-site .c23-location-points p { font-size:16px; }
  body.c28-site .c23-faq-list details p { font-size:16px; }
  body.c28-site .c23-offer-results { grid-template-columns:1fr; gap:20px; }
  body.c28-site .c23-offer-results p { font-size:15px; }
}
@media(hover:hover) and (pointer:fine) {
  body.c28-site .c23-gallery button:hover::after { opacity:1; transform:none; }
  body.c28-site :is(.c23-btn,.c23-text-link):hover::after { transform:translate(3px,-3px); }
}
@media(prefers-reduced-motion:reduce) {
  body.c28-site :is(.c28-scenery-svg,.c28-scenery-light) { animation:none!important; transform:none!important; }
  body.c28-site :is(.c23-btn,.c23-text-link)::after { transition:none; }
  body.c28-site .c28-motion-toggle { display:none!important; }
}
@media print { body.c28-site .c28-scenery { display:none; } }


/* C29 · 13 October 2026. The buyer asked for compact desktop chapters,
   body-sized introductions below headings and visible, considered motion. */
body.c28-site { --space:clamp(54px,5.2vw,78px); }
body.c28-site .c23-intro { display:block; width:100%; max-width:960px; margin:0 0 30px; }
body.c28-site .c23-intro > :is(p,.c23-lead) { font-size:clamp(16px,1.25vw,18px); line-height:1.6; max-width:76ch; margin-top:18px; }
body.c28-site .c23-intro h2 { max-width:26ch; font-size:clamp(34px,3.55vw,54px); line-height:1.08; }
body.c28-site .c23-kicker { margin-bottom:14px; }
body.c28-site .c23-numbers .c23-intro { margin-bottom:32px; }
body.c28-site :is(.c23-feature-copy,.c23-location-copy,.c23-offer-copy) > .c23-lead { font-size:17px; line-height:1.65; max-width:67ch; margin-top:20px; }
body.c28-site :is(.c23-feature-copy,.c23-location-copy,.c23-offer-copy) h2 { font-size:clamp(34px,3.5vw,52px); line-height:1.08; }
body.c28-site .c23-feature-visual > img { height:clamp(370px,37vw,490px); }
body.c28-site .c23-feature-grid { gap:32px 6%; }
body.c28-site .c23-benefits { gap:23px 28px; margin-block:26px 30px; }
body.c28-site .c23-benefits h3 { font-size:20px; line-height:1.25; letter-spacing:-.025em; }
body.c28-site .c23-benefits p { font-size:15px; line-height:1.6; }
body.c28-site .c23-benefits article { padding-top:16px; }
body.c28-site .c23-plan button.c23-plan-media { height:270px; padding:18px; }
body.c28-site .c23-plan-grid { gap:26px; }
body.c28-site .c23-plan h3 { margin-top:20px; font-size:clamp(21px,1.7vw,26px); line-height:1.24; }
body.c28-site .c23-plan p { font-size:15px; line-height:1.6; margin-block:12px 16px; }
body.c28-site .c23-plan .c23-text-link { font-size:14px; min-height:46px; gap:18px; }
body.c28-site .c23-plan-more { gap:26px; margin-top:32px; padding-top:25px; }
body.c28-site .c23-plan-alternative { gap:30px 5%; }
body.c28-site .c23-plan-alternative > img { height:310px; }
body.c28-site .c23-numbers-visual { height:270px; margin-top:32px; }
body.c28-site .c23-fact strong { min-height:74px; font-size:clamp(40px,4.4vw,64px); }
body.c28-site .c23-fact strong:is(.c23-value-text,.c23-value-long) { font-size:clamp(25px,2.4vw,34px); }
body.c28-site .c23-step p { font-size:15px; line-height:1.6; }
body.c28-site .c23-step-number { margin-bottom:24px; }
body.c28-site .c23-offer-copy img { height:235px; margin-top:25px; }
body.c28-site .c23-offer-results { margin-top:25px; gap:22px; }
body.c28-site .c23-offer-results p { font-size:14px; }
body.c28-site .c23-page-hero { padding-block:44px; }
body.c28-site .c23-page-hero .c23-lead { font-size:17px; line-height:1.65; max-width:72ch; }

/* Genuine media shortages do not leave empty half-columns. The factual role
   remains a complete typographic composition when its repeated photo is removed. */
body.c28-site .c23-feature-grid:not(:has(>.c23-feature-visual)) { display:block; }
body.c28-site .c23-feature-grid:not(:has(>.c23-feature-visual)) .c23-feature-copy { max-width:1080px; }
body.c28-site .c23-feature-grid:not(:has(>.c23-feature-visual)) .c23-feature-copy > .c23-lead { max-width:80ch; }
body.c28-site .c23-feature-grid:not(:has(>.c23-feature-visual)) .c23-benefits { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
body.c28-site .c23-gallery:not(:has(figure)) { display:none; }
body.c28-site .c23-plan-alternative:not(:has(>img)) { display:block; }
body.c28-site .c23-plan-alternative:not(:has(>img)) > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
body.c28-site .c23-plan-alternative:not(:has(>img)) > div > div:has(>.c23-btn) { grid-column:1/-1; }
body.c28-site .c23-plan-alternative:not(:has(>img)) .c23-format { border-top:1px solid var(--line); padding-top:22px; }
body.c28-site .c23-plan-alternative:not(:has(>img)) > div:has(>.c23-format:only-of-type) { display:block; max-width:76ch; }

/* Four real categories become one balanced row at 1180+, and a paired catalog
   below that. They stay in the same DOM order and use the existing viewer. */
body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) > .c23-intro { grid-column:1/-1; margin-bottom:0; }
body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) > :is(.c23-plan-grid,.c23-plan-more) { display:contents; }
body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) .c23-plan { display:flex; gap:0; }

/* Rolling numeric windows show the true authored value underneath. The animated
   visual clone is aria-hidden, is removed after 1.2–1.6 seconds and never changes
   the source text, price, range, units, date or accessibility label. */
body.c28-site .c29-counter-host { position:relative; font-variant-numeric:lining-nums tabular-nums; }
body.c28-site .c29-counter-source { display:contents; }
body.c28-site .c29-counter-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:inherit; align-items:inherit; font:inherit; letter-spacing:inherit; line-height:inherit; pointer-events:none; }
body.c28-site .c29-counter-host.c29-is-counting > .c29-counter-source { opacity:0; }
body.c28-site .c29-counter-host.c29-is-counting > .c29-counter-source > * { opacity:0; }
body.c28-site .c29-counter-host.c29-is-counting { color:transparent; }
body.c28-site .c29-counter-host.c29-is-counting > .c29-counter-overlay { color:var(--ink); }
body.c28-site .c23-steps .c29-counter-host.c29-is-counting > .c29-counter-overlay { color:var(--accent); }
body.c28-site .c29-counter-line { display:block; white-space:nowrap; }
body.c28-site .c29-digit { position:relative; display:inline-block; height:1.04em; line-height:1.04; overflow:hidden; vertical-align:-.08em; }
body.c28-site .c29-digit-anchor { opacity:0; }
body.c28-site .c29-digit-column { position:absolute; top:0; left:0; right:0; display:flex; flex-direction:column; will-change:transform; }
body.c28-site .c29-digit-column > span { display:block; height:1.04em; flex:0 0 1.04em; line-height:1.04; }
body.c28-site .c29-reveal-target { opacity:1; }

/* Camera and thin white paths share the real Hero frame; neither covers inputs.
   No JavaScript means the authored static image and full text remain visible. */
body.c28-site .c29-hero-camera { transform:scale(1.02); transform-origin:50% 50%; }
body.c28-site.c29-motion-ready .c29-hero-camera { animation:c29-camera 22s ease-in-out infinite alternate paused; }
body.c28-site.c29-motion-ready.c29-motion-on .c29-hero-visible .c29-hero-camera { animation-play-state:running; }
@keyframes c29-camera { from { transform:scale(1.02); } to { transform:scale(1.085); } }
body.c28-site .c29-hero-flow { position:absolute; inset:0; pointer-events:none; z-index:1; overflow:hidden; color:#fff; opacity:.23; -webkit-mask-image:linear-gradient(180deg,#000,transparent 58%); mask-image:linear-gradient(180deg,#000,transparent 58%); }
body.c28-site .c29-hero-flow svg { width:125%; max-width:none; height:105%; position:absolute; left:-12%; top:-15%; }
body.c28-site .c29-hero-flow path { fill:none; stroke:currentColor; stroke-width:1.1; vector-effect:non-scaling-stroke; stroke-dasharray:190 28 430 32; }
body.c28-site.c29-motion-ready .c29-hero-flow svg { animation:c29-flow 15s linear infinite paused; }
body.c28-site.c29-motion-ready.c29-motion-on .c29-hero-visible .c29-hero-flow svg { animation-play-state:running; }
@keyframes c29-flow { from { transform:translate3d(-1%,1%,0) rotate(-2deg); } to { transform:translate3d(4%,-2%,0) rotate(2deg); } }
body.c28-site .c23-hero-scene .c28-scenery { --c28-scene-opacity:.13; }
body.c28-site.c29-motion-ready:not(.c29-motion-on) .c29-counter-overlay { display:none; }
body.c28-site.c29-motion-ready:not(.c29-motion-on) .c29-is-counting { color:inherit; }
body.c28-site.c29-motion-ready:not(.c29-motion-on) .c29-counter-source,
body.c28-site.c29-motion-ready:not(.c29-motion-on) .c29-counter-source > * { opacity:1; }

@media(min-width:1001px) {
  body.c28-site .c23-feature-visual { position:relative; top:auto; }
  body.c28-site .c23-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.c28-site[data-c28-motif=canopy] .c23-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.c28-site[data-c28-motif=canopy] .c23-feature-visual > img { height:490px; }
  body.c28-site[data-c28-motif=river] .c23-gallery[data-count="2"] figure:first-child img { height:310px!important; }
  body.c28-site[data-c28-motif=river] .c23-gallery[data-count="2"] figure:nth-child(2) { margin-top:40px; }
  body.c28-site[data-c28-motif=river] .c23-gallery[data-count="2"] figure:nth-child(2) img { height:270px!important; }
  body.c28-site .c23-gallery[data-count="3"] figure:first-child img { height:330px!important; }
  body.c28-site .c23-gallery[data-count="3"] figure:nth-child(2) img { height:290px!important; }
  body.c28-site .c23-gallery[data-count="3"] figure:nth-child(3) img { height:260px!important; }
  body.c28-site .c23-gallery[data-count="3"] figure:nth-child(2) { margin-top:25px; }
  body.c28-site .c23-gallery[data-count="3"] figure:nth-child(3) { margin-top:50px; }
  body.c28-site[data-c28-motif=courtyard] .c23-gallery[data-count="3"] figure:first-child { display:block; grid-column:auto; }
  body.c28-site[data-c28-motif=courtyard] .c23-gallery[data-count="3"] { grid-template-columns:1.25fr 1fr 1fr; }
  body.c28-site .c23-gallery[data-count="2"] img,body.c28-site .c23-gallery[data-count="2"] figure:first-child img { height:310px!important; }
  body.c28-site .c23-gallery[data-count="1"] { display:block!important; max-width:1100px; }
  body.c28-site .c23-gallery[data-count="1"] figure { display:grid!important; grid-template-columns:1.8fr 1fr!important; gap:35px; align-items:center; }
  body.c28-site .c23-gallery[data-count="1"] figure img { height:330px!important; }
  body.c28-site .c23-gallery[data-count="1"] figure figcaption { padding-top:0!important; }
  body.c28-site .c23-numbers .c23-wrap:not(:has(>.c23-numbers-visual)) { display:block; }
  body.c28-site .c23-numbers .c23-wrap:not(:has(>.c23-numbers-visual)) .c23-fact-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.c28-site[data-c28-motif=river] .c23-numbers .c23-intro,
  body.c28-site[data-c28-motif=courtyard] .c23-numbers .c23-intro { margin-bottom:32px; }
  body.c28-site[data-c28-motif=river] .c23-numbers-visual,
  body.c28-site[data-c28-motif=courtyard] .c23-numbers-visual { min-height:320px; }
}
@media(min-width:1180px) {
  body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
  body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) .c23-plan-media { height:245px; padding:15px; }
  body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) .c23-plan h3 { font-size:21px; }
  body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) .c23-plan p { font-size:14px; line-height:1.55; }
}
@media(max-width:1000px) {
  body.c28-site .c23-feature-grid:not(:has(>.c23-feature-visual)) .c23-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.c28-site .c23-plan-media { height:285px; }
  body.c28-site .c23-numbers .c23-wrap:not(:has(>.c23-numbers-visual)) { display:block; }
}
@media(max-width:800px) {
  body.c28-site .c23-section { padding-block:52px; }
  body.c28-site .c23-intro { margin-bottom:28px; }
  body.c28-site .c23-intro > :is(p,.c23-lead) { font-size:16px; line-height:1.65; margin-top:18px; }
  body.c28-site .c23-intro h2 { font-size:clamp(32px,5vw,42px); }
  body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.c28-site .c23-feature-visual > img { height:340px!important; }
  body.c28-site .c23-plan-alternative:not(:has(>img)) > div { grid-template-columns:1fr; }
  body.c28-site .c23-numbers .c23-wrap:not(:has(>.c23-numbers-visual)) .c23-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.c28-site .c29-hero-flow { opacity:.2; -webkit-mask-image:linear-gradient(180deg,#000,transparent 40%); mask-image:linear-gradient(180deg,#000,transparent 40%); }
}
@media(max-width:520px) {
  body.c28-site .c23-feature-grid:not(:has(>.c23-feature-visual)) .c23-benefits { grid-template-columns:1fr; }
  body.c28-site .c23-plan button.c23-plan-media { height:300px; padding:22px; }
  body.c28-site .c23-plans > .c23-wrap:has(>.c23-plan-more>.c23-plan:only-child) { grid-template-columns:1fr; }
  body.c28-site .c23-plan-grid { gap:32px; }
  body.c28-site .c23-plan p { font-size:15px; }
  body.c28-site .c23-fact strong { min-height:60px; }
  body.c28-site .c23-offer-results { gap:20px; }
}
@media(prefers-reduced-motion:reduce) {
  body.c28-site :is(.c29-hero-camera,.c29-hero-flow svg,.c29-digit-column) { animation:none!important; transform:none!important; }
  body.c28-site .c29-counter-overlay { display:none!important; }
  body.c28-site .c29-is-counting { color:inherit!important; }
  body.c28-site .c29-counter-source,body.c28-site .c29-counter-source > * { opacity:1!important; }
  body.c28-site .c29-reveal-target { opacity:1!important; transform:none!important; }
}

/* Small visible scenario ordinals participate in the same finite roll. */
body.c28-site .c23-scenario-index { display:block; width:max-content; font-size:36px; line-height:1.08; margin-bottom:14px; }
body.c28-site .c23-scenario-index.c29-is-counting > .c29-counter-overlay { color:var(--accent); }

/* Percentage gaps on a single-column grid must not spill beyond its section. */
@media(max-width:800px) {
 body.c28-site .c23-feature-grid { row-gap:32px; }
 body.c28-site .c23-plan-alternative { row-gap:28px; }
}
/* Five distinct Amadu concepts remain five whole plans in one wide catalog. */
@media(min-width:1180px) {
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-plans > .c23-wrap { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; }
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-plans > .c23-wrap > .c23-intro { grid-column:1/-1; margin-bottom:0; }
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-plans > .c23-wrap > :is(.c23-plan-grid,.c23-plan-more) { display:contents; }
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-plans .c23-plan { display:flex; gap:0; }
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-plans .c23-plan-media { height:225px; padding:12px; }
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-plans .c23-plan h3 { font-size:21px; }
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-plans .c23-plan p { font-size:14px; line-height:1.55; }
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-plans .c23-plan .c23-text-link { font-size:13px; gap:12px; }
}
/* Native hero caption span rules must not shrink the counter's visual windows.
   Preserve the genuine .c23-value-unit sizing rather than resetting all spans. */
body.c28-site .c29-counter-host :is(.c29-counter-source,.c29-counter-overlay,.c29-counter-line,.c29-digit,.c29-digit-anchor,.c29-digit-column,.c23-value-number),
body.c28-site .c29-counter-host .c29-digit-column > span {
 font:inherit; line-height:inherit; margin:0; color:inherit;
}
body.c28-site .c29-counter-host .c29-counter-source { display:contents; }
body.c28-site .c29-counter-host .c29-digit,
body.c28-site .c29-counter-host .c29-digit-column > span { line-height:1.04; }
body.c28-site .c29-counter-host .c29-digit-column > span { height:1.04em; flex:0 0 1.04em; }
/* KATUNA's dated preliminary facts need their own narrow-screen measure. */
@media(max-width:390px) {
 body.c28-site[data-c28-project="katuna-start.ru"] .c23-hero-facts { grid-template-columns:1fr; gap:17px; }
 body.c28-site[data-c28-project="katuna-start.ru"] .c23-hero-facts > div { padding:0; border-left:0; }
 body.c28-site[data-c28-project="katuna-start.ru"] .c23-hero-facts strong { font-size:25px; }
}
/* C30 · spatial project signatures. Keep C29's compact reading and real media.
   The field is continuous; its breathing room is concentrated above/below text. */
body.c28-site { --c30-field-opacity:.32; }
body.c28-site .c28-scenery { color:var(--accent); -webkit-mask-image:none!important; mask-image:none!important; }
body.c28-site .c28-scenery-svg { opacity:var(--c30-field-opacity); left:-10%; top:-22%; width:122%; height:144%; }
body.c28-site .c28-scenery-svg path { stroke-width:2.1; }
body.c28-site .c28-scenery-svg .c28-ribbon { stroke-width:100; opacity:.19; }
body.c28-site .c28-scenery-svg .c28-secondary-line { opacity:.8; }
body.c28-site .c28-scenery-light { opacity:.15; inset:-18%; background:radial-gradient(ellipse at 82% 18%,var(--accent),transparent 48%); }
body.c28-site .c28-scene > .c28-scenery { -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 13%,#0002 29%,#0001 70%,#000 90%,#000 100%)!important; mask-image:linear-gradient(180deg,#000 0%,#000 13%,#0002 29%,#0001 70%,#000 90%,#000 100%)!important; }
body.c28-site .c23-features > .c28-scenery { color:var(--paper); --c30-field-opacity:.38; }
body.c28-site .c23-plans > .c28-scenery { --c30-field-opacity:.28; }
body.c28-site .c23-numbers > .c28-scenery { --c30-field-opacity:.35; }
body.c28-site .c23-faq > .c28-scenery { --c30-field-opacity:.29; }
body.c28-site .c28-scenery::before { content:''; position:absolute; width:56%; aspect-ratio:1; right:-20%; top:-18%; border:1px solid currentColor; border-radius:50%; opacity:.2; box-shadow:0 0 0 30px color-mix(in srgb,currentColor 5%,transparent),0 0 0 72px color-mix(in srgb,currentColor 3%,transparent); transform:rotate(-18deg) scaleX(.8); }
body.c28-site[data-c28-motif=alpine] .c28-scenery::before { border-radius:0; width:68%; top:-35%; right:-29%; transform:rotate(33deg); box-shadow:26px 26px 0 -25px currentColor,65px 65px 0 -64px currentColor; }
body.c28-site[data-c28-motif=facade] .c28-scenery::before { border-radius:0; top:-5%; right:-25%; transform:rotate(8deg) skewY(-8deg); }
body.c28-site[data-c28-motif=canopy] .c28-scenery-svg { width:148%; left:-25%; height:153%; top:-26%; }
body.c28-site[data-c28-motif=river] .c28-scenery-svg { --c28-base-turn:-8deg; }
body.c28-site[data-c28-motif=coast] .c28-scenery-svg { --c28-base-turn:3deg; height:158%; top:-30%; }
body.c28-site[data-c28-motif=courtyard] .c28-scenery-svg { --c28-base-turn:-2deg; }
body.c28-site .c28-scenery.c28-motion-active .c28-scenery-svg { animation-name:c30-spatial-drift; }
body.c28-site .c28-scenery.c28-motion-active .c28-scenery-light { animation-name:c30-light-crossing; animation-duration:12s; }
@keyframes c30-spatial-drift {
 0%,100% { transform:translate3d(-34px,22px,0) rotate(calc(var(--c28-base-turn,0deg) - 2deg)) scale(.98); }
 50% { transform:translate3d(44px,-26px,0) rotate(calc(var(--c28-base-turn,0deg) + 2deg)) scale(1.04); }
}
@keyframes c30-light-crossing {
 0%,100% { transform:translate3d(-8%,6%,0); opacity:.07; }
 50% { transform:translate3d(9%,-5%,0); opacity:.18; }
}
/* Three white paths cross the clear upper Hero atmosphere; the factual panel
   and form retain their own plane. The camera remains inside a clipped image. */
body.c28-site .c23-hero-scene > .c28-scenery { display:none; }
body.c28-site .c29-hero-flow { opacity:.52; -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 43%,transparent 75%); mask-image:linear-gradient(180deg,#000 0%,#000 43%,transparent 75%); }
body.c28-site .c29-hero-flow svg { left:-20%; top:-16%; width:145%; height:130%; }
body.c28-site .c29-hero-flow path { stroke-width:1.8; stroke-dasharray:none; }
body.c28-site.c29-motion-ready .c29-hero-flow svg { animation:c30-hero-sweep 18s ease-in-out infinite alternate paused; }
body.c28-site.c29-motion-ready.c29-motion-on .c29-hero-visible .c29-hero-flow svg { animation-play-state:running; }
@keyframes c30-hero-sweep { from { transform:translate3d(-5%,7%,0) rotate(-8deg); } to { transform:translate3d(8%,-6%,0) rotate(5deg); } }
body.c28-site.c29-motion-ready .c29-hero-camera { animation:c30-camera 19s ease-in-out infinite alternate paused; }
body.c28-site.c29-motion-ready.c29-motion-on .c29-hero-visible .c29-hero-camera { animation-play-state:running; }
@keyframes c30-camera { from { transform:scale(1.035) translate3d(-.6%,.4%,0); } to { transform:scale(1.115) translate3d(.7%,-.5%,0); } }
/* Native view progress, supported browsers only. Animation switches are shared
   with the ambient controller; no scroll callback, pinning or permanent JS RAF. */
@supports(animation-timeline:view()) {
 body.c28-site.c29-motion-ready .c30-media-scroll { animation:c30-media-pass 1s linear both paused; animation-timeline:view(); animation-range:entry 0% exit 100%; }
 body.c28-site.c29-motion-ready.c29-motion-on .c30-media-scroll { animation-play-state:running; }
 @keyframes c30-media-pass { from { transform:translate3d(0,12px,0) scale(1.025); } to { transform:translate3d(0,-12px,0) scale(1.045); } }
}
@media(max-width:800px) {
 body.c28-site .c28-scenery-svg { width:162%; left:-32%; height:126%; top:-13%; }
 body.c28-site .c28-scene > .c28-scenery { -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 7%,#0001 20%,#0001 82%,#000 95%); mask-image:linear-gradient(180deg,#000 0%,#000 7%,#0001 20%,#0001 82%,#000 95%); }
 body.c28-site .c29-hero-flow { opacity:.45; }
 body.c28-site .c28-scenery::before { width:110%; right:-55%; top:-7%; }
}
@media(prefers-reduced-motion:reduce) {
 body.c28-site :is(.c29-hero-camera,.c29-hero-flow svg,.c28-scenery-svg,.c28-scenery-light,.c30-media-scroll) { animation:none!important; transform:none!important; }
}
/* Photo cameras are confined to their existing semantic image windows. */
body.c28-site :is(.c23-feature-visual,.c23-scenario-image,.c23-numbers-visual) { overflow:hidden; }
/* Dimensional project sculpture: metallic front plane, shifted dark back plane,
   fine specular edge. It is abstract graphic material, not a property model. */
body.c28-site .c28-scenery::before { display:none; }
body.c28-site .c30-sculpture { position:absolute; width:clamp(340px,42vw,620px); height:115%; right:-12%; top:-14%; overflow:visible; opacity:.58; transform-origin:50% 50%; transform:perspective(900px) rotateY(-24deg) rotateX(8deg) rotateZ(-12deg); }
body.c28-site .c30-sculpture path { fill:none; stroke-linecap:round; stroke-linejoin:round; }
body.c28-site .c30-sculpture-back { stroke:currentColor; stroke-width:23; opacity:.25; transform:translate(12px,12px); }
body.c28-site .c30-sculpture-face { stroke-width:21; }
body.c28-site .c30-sculpture-edge { stroke:white; stroke-width:1.2; opacity:.75; transform:translate(-5px,-4px); }
body.c28-site .c23-plans .c30-sculpture { right:-23%; top:-14%; opacity:.36; }
body.c28-site .c23-features .c30-sculpture { top:-21%; right:-18%; opacity:.68; }
body.c28-site .c28-scenery.c28-motion-active .c30-sculpture { animation:c30-depth-orbit 27s ease-in-out infinite paused; }
body.c28-site .c28-scenery.is-c28-running .c30-sculpture { animation-play-state:running; }
@keyframes c30-depth-orbit {
 0%,100% { transform:perspective(900px) translate3d(-12px,16px,0) rotateY(-26deg) rotateX(9deg) rotateZ(-12deg); }
 50% { transform:perspective(900px) translate3d(18px,-20px,0) rotateY(19deg) rotateX(-8deg) rotateZ(9deg); }
}
@media(max-width:800px) { body.c28-site .c30-sculpture { width:380px; right:-230px; height:85%; top:-10%; opacity:.58; } body.c28-site .c23-plans .c30-sculpture { right:-250px; } }
@media(prefers-reduced-motion:reduce) { body.c28-site .c30-sculpture { animation:none!important; transform:perspective(900px) rotateY(-24deg) rotateZ(-12deg)!important; } }
/* Keep the prominent project name outside the moving white contour field. */
body.c28-site .c29-hero-flow {
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 44%,#000 70%),linear-gradient(180deg,#000 0%,#000 43%,transparent 75%);
 mask-image:linear-gradient(90deg,transparent 0%,transparent 44%,#000 70%),linear-gradient(180deg,#000 0%,#000 43%,transparent 75%);
 -webkit-mask-composite:source-in; mask-composite:intersect;
}
/* No-JS inner-page fallback reserves its reading column; measured masks replace
   it once JS/fonts/layout are ready, restoring the surrounding field. */
body.c28-site .c23-page-hero > .c28-scenery { -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 65%,#000 86%)!important; mask-image:linear-gradient(90deg,transparent 0%,transparent 65%,#000 86%)!important; }
@media(max-width:800px) { body.c28-site .c23-page-hero > .c28-scenery { -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 82%,#000 100%)!important; mask-image:linear-gradient(90deg,transparent 0%,transparent 82%,#000 100%)!important; } }
/* C31 adaptation of the supplied architecture films: one full visual stage,
   stable reading and lead planes. The authentic project image owns the scene. */
@media(min-width:801px) {
 body.c28-site .c23-hero { padding:0; }
 body.c28-site .c23-hero-grid { position:relative; isolation:isolate; max-width:none; margin:0; grid-template-columns:minmax(0,1fr) minmax(340px,400px); gap:4%; min-height:690px; padding-right:var(--gutter); background:var(--deep); }
 body.c28-site .c23-hero-scene { position:static; isolation:auto; background:none; min-height:690px; padding:42px var(--gutter); }
 body.c28-site .c23-hero-image { inset:0; z-index:-2; }
 body.c28-site .c23-hero-scene::before { z-index:-1; background:linear-gradient(90deg,rgba(6,16,13,.58),rgba(6,16,13,.14) 61%,rgba(6,16,13,.17)),linear-gradient(0deg,rgba(5,14,11,.69),transparent 55%); }
 body.c28-site .c23-hero-form { position:relative; z-index:3; padding:24px; margin-block:24px; align-self:center; background:color-mix(in srgb,var(--paper) 95%,transparent); border:1px solid #fff8; box-shadow:0 12px 38px #0002; }
 body.c28-site .c23-hero-name { font-size:clamp(88px,12vw,184px); line-height:.91; margin-block:20px; max-width:9ch; }
 body.c28-site .c23-hero-bottom { max-width:670px; }
 body.c28-site .c23-hero-title { font-size:clamp(28px,2.65vw,39px); }
 body.c28-site .c23-hero-desc { font-size:16px; line-height:1.6; max-width:57ch; }
 body.c28-site .c23-hero-facts { padding-block:20px; gap:18px; }
 body.c28-site .c23-hero-facts strong { font-size:26px; }
 body.c28-site .c23-hero-facts > div { padding-left:12px; }
 body.c28-site .c23-hero-form .form-title { margin-bottom:18px; }
 body.c28-site .c23-hero-form .form-title strong { font-size:24px; }
 body.c28-site .c23-hero-form .form-title span { font-size:13px; line-height:1.5; }
 body.c28-site .c29-hero-flow { width:64%; }
}
body.c28-site .c29-hero-camera { transform:none; animation:none!important; }
body.c28-site.c29-motion-ready .c31-hero-camera { animation:c31-camera 23s ease-in-out infinite alternate paused; }
body.c28-site.c29-motion-ready.c29-motion-on .c29-hero-visible .c31-hero-camera { animation-play-state:running; }
@keyframes c31-camera { from { transform:scale(1); } to { transform:scale(1.035) translate3d(.3%,-.3%,0); } }
/* Whole calm reading plane prevents disconnected strokes between paragraphs.
   On static fallback preserve the same large clear columns, never a checkerboard. */
body.c28-site .c23-features > .c28-scenery { -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 39%,transparent 52%,transparent 96%,#000 100%)!important; mask-image:linear-gradient(90deg,#000 0%,#000 39%,transparent 52%,transparent 96%,#000 100%)!important; }
body.c28-site .c23-features .c30-sculpture { right:-27%; }
body.c28-site .c23-plans .c30-sculpture { right:-34%; }
@media(max-width:800px) {
 body.c28-site .c23-hero-scene { min-height:580px; }
 body.c28-site .c23-hero-name { font-size:clamp(65px,15vw,95px); }
 body.c28-site .c23-hero-form { padding:30px var(--gutter); }
 body.c28-site .c23-features > .c28-scenery { -webkit-mask-image:linear-gradient(90deg,#000,transparent 9%,transparent 93%,#000); mask-image:linear-gradient(90deg,#000,transparent 9%,transparent 93%,#000); }
 body.c28-site .c30-sculpture { right:-290px; }
}
@media(prefers-reduced-motion:reduce) { body.c28-site .c31-hero-camera { animation:none!important; transform:none!important; } }
/* Only the visual Hero stage clips its bounded camera; the page and buyer
   content retain their natural height and overflow behavior. */
body.c28-site .c23-hero-grid { overflow:clip; }
/* Mobile title and buyer copy occupy the lower half of the authentic image.
   Keep all three white paths in the upper-right sky, never through the H1. */
@media(max-width:800px) {
 body.c28-site .c29-hero-flow {
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 48%,#000 76%),linear-gradient(180deg,#000 0%,#000 19%,transparent 34%);
  mask-image:linear-gradient(90deg,transparent 0%,transparent 48%,#000 76%),linear-gradient(180deg,#000 0%,#000 19%,transparent 34%);
  -webkit-mask-composite:source-in; mask-composite:intersect;
 }
}
/* The longer desktop names share one quiet wordmark plane. Choreography stays
   above that plane in the architecture's upper negative space. */
@media(min-width:801px) {
 body.c28-site .c29-hero-flow {
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 33%,#000 58%),linear-gradient(180deg,#000 0%,#000 13%,transparent 20%);
  mask-image:linear-gradient(90deg,transparent 0%,transparent 33%,#000 58%),linear-gradient(180deg,#000 0%,#000 13%,transparent 20%);
  -webkit-mask-composite:source-in; mask-composite:intersect;
 }
}
/* C31 continuous project choreography in existing section background fields.
   No added interstitial section and no separate empty animation strip. */
body.c28-site main > .c23-section { padding-block:clamp(70px,6vw,96px); }
body.c28-site main > .c23-section > .c28-scenery { display:none; }
body.c28-site .c31-motion-island { position:absolute!important; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
body.c28-site .c31-motion-island .c28-scenery { color:var(--accent); --c30-field-opacity:.5; }
body.c28-site .c31-motion-island--features .c28-scenery { color:var(--paper); --c30-field-opacity:.62; }
body.c28-site .c31-motion-island .c28-scenery-svg { left:-18%; top:-32%; width:134%; height:164%; opacity:var(--c30-field-opacity); }
body.c28-site .c31-motion-island .c28-scenery-svg .c28-ribbon { stroke-width:140; opacity:.3; }
body.c28-site .c31-motion-island .c28-scenery-svg .c28-primary-line { stroke-width:3; }
body.c28-site .c31-motion-island .c28-scenery-svg .c28-secondary-line { stroke-width:1.8; opacity:.9; }
body.c28-site .c31-motion-island .c30-sculpture { right:-10%; top:-8%; width:clamp(360px,47vw,740px); height:118%; opacity:.75; }
body.c28-site .c31-motion-island--features .c30-sculpture { left:-19%; right:auto; }
body.c28-site .c31-motion-island .c28-scenery.c28-motion-active .c28-scenery-svg { animation-name:c31-flowing-field; }
body.c28-site .c31-motion-island .c28-scenery.c28-motion-active .c30-sculpture { animation-name:c31-dimensional-flow; animation-duration:16s; }
@keyframes c31-flowing-field { 0%,100% { transform:translate3d(-60px,30px,0) rotate(-3deg) scale(.98); } 50% { transform:translate3d(72px,-38px,0) rotate(4deg) scale(1.04); } }
@keyframes c31-dimensional-flow { 0%,100% { transform:perspective(900px) translate3d(-25px,20px,0) rotateY(-24deg) rotateX(6deg) rotateZ(-8deg); } 50% { transform:perspective(900px) translate3d(30px,-26px,0) rotateY(22deg) rotateX(-9deg) rotateZ(11deg); } }
@media(max-width:800px) {
 body.c28-site main > .c23-section { padding-block:66px; }
 body.c28-site .c31-motion-island .c28-scenery-svg { left:-45%; width:195%; top:-18%; height:136%; }
 body.c28-site .c31-motion-island .c30-sculpture { width:470px; left:auto; right:-240px; opacity:.68; }
 body.c28-site .c31-motion-island--features .c30-sculpture { left:-240px; right:auto; }
}
@media(prefers-reduced-motion:reduce) { body.c28-site .c31-motion-island :is(.c28-scenery-svg,.c30-sculpture) { animation:none!important; transform:none!important; } }
/* Balance the feature photograph with its actual neighbouring copy, without
   making the section taller; FAQ reads as one complete calm accordion. */
@media(min-width:1001px) {
 body.c28-site .c23-feature-grid { align-items:stretch; }
 body.c28-site .c23-feature-visual { position:relative; min-height:490px; }
 body.c28-site .c23-feature-visual > img { position:absolute; inset:0; height:100%!important; width:100%; object-fit:cover; }
}
body.c28-site .c23-faq-grid { display:block; max-width:1080px; margin-inline:auto; }
body.c28-site .c23-faq-title { position:relative; top:auto; display:block; max-width:900px; margin-bottom:32px; }
body.c28-site .c23-faq-title h2 { max-width:24ch; }
body.c28-site .c23-faq-list { width:100%; }
body.c28-site .c23-faq-list summary { font-size:clamp(18px,1.65vw,23px); padding-block:22px; }
/* FAQ stays one compact readable chapter, rather than a tall screen of rows. */
body.c28-site .c23-faq-title { margin-bottom:24px; }
body.c28-site .c23-faq-title h2 { max-width:none; }
body.c28-site .c23-faq-list summary { font-size:clamp(18px,1.45vw,20px); padding-block:18px; }
/* C33: stable, immediately visible photographs; one camera transform only. */
@supports(animation-timeline:view()) {
 body.c28-site.c29-motion-ready .c30-media-scroll { animation:none; animation-timeline:auto; }
}
body.c28-site.c29-motion-ready .c30-media-scroll { animation:c33-photo-depth 18s ease-in-out infinite alternate paused; transform-origin:center; }
body.c28-site.c29-motion-ready.c29-motion-on .c30-media-scroll { animation-play-state:running; }
@keyframes c33-photo-depth { from { transform:scale(1.015) translate3d(0,0,0); } to { transform:scale(1.03) translate3d(0,-3px,0); } }
body.c28-site .c31-motion-island .c28-scenery.c28-motion-active .c30-sculpture { animation-duration:11s; }
body.c28-site .c31-motion-island .c28-scenery-light { animation-duration:9s; }
/* Mobile feature image becomes a genuine composed photograph with a complete
   dimensional signature around its upper/left plane, not a20px outside rim. */
@media(max-width:800px) {
 body.c28-site .c23-feature-visual { height:340px; padding:30px 24px 22px; margin-inline:-10px; overflow:visible; }
 body.c28-site .c23-feature-visual > img { height:288px!important; width:100%; object-fit:cover; position:relative; z-index:1; }
 body.c28-site .c31-motion-island--features .c30-sculpture { width:420px; height:430px; left:-150px; right:auto; top:-80px; opacity:.72; }
 body.c28-site .c31-motion-island--features .c28-scenery-svg { width:160%; left:-25%; top:-10%; height:120%; }
 body.c28-site .c23-feature-grid:not(:has(>.c23-feature-visual)) .c23-feature-copy { padding-top:84px; }
 body.c28-site .c23-feature-grid:not(:has(>.c23-feature-visual)) .c23-kicker { margin-top:0; }
 body.c28-site[data-c28-motif=solar] .c31-motion-island--features .c30-sculpture { width:330px; height:330px; top:-80px; left:auto; right:-62px; }
}
@media(prefers-reduced-motion:reduce) { body.c28-site .c30-media-scroll { animation:none!important; transform:none!important; clip-path:none!important; } }
body.c28-site.c29-motion-ready.c29-motion-on .c30-media-scroll:not(.c33-media-visible) { animation-play-state:paused; }

/* A fixed photograph window prevents moving edges from reading as a slide. */
body.c28-site :is(.c23-gallery button,.c23-feature-visual,.c23-numbers-visual,.c33-scenario-visual) { overflow:hidden; }
body.c28-site .c30-media-scroll { opacity:1; clip-path:none; }
body.c28-site .c33-scenario-visual { margin:0; background:var(--paper); }
body.c28-site .c33-scenario-visual img { display:block; width:100%; height:100%; object-fit:cover; }
body.c28-site .c33-scenario-composition { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr); align-items:center; gap:clamp(36px,6vw,88px); }
body.c28-site .c33-scenario-composition .c33-scenario-visual { height:450px; max-width:330px; }
body.c28-site .c33-scenario-composition .c23-scenarios { display:block; }
body.c28-site .c33-scenario-composition .c23-scenario { padding-block:22px!important; }
body.c28-site .c33-scenario-composition .c23-scenario:first-child { padding-top:0!important; }
body.c28-site .c33-scenario-composition .c23-scenario>div:not(.c23-scenario-image) { display:block; }
body.c28-site .c33-scenario-composition .c23-scenario h3 { margin-bottom:12px; }
body.c28-site .c33-scenario-composition .c23-scenario p { max-width:60ch; }
body.c28-site .c33-numbers-media .c23-wrap { display:grid!important; grid-template-columns:1fr 1.2fr; gap:32px 6%; align-items:center; }
body.c28-site .c33-numbers-media .c23-intro { grid-column:1/-1; margin-bottom:0; }
body.c28-site .c33-numbers-media .c23-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
body.c28-site .c33-numbers-media .c23-numbers-visual { grid-column:2; grid-row:2; height:auto; min-height:0; margin:0; aspect-ratio:1.55; }
body.c28-site .c33-numbers-media .c23-numbers-visual img { width:100%; height:100%; object-fit:cover; }
@media(max-width:1000px) {
 body.c28-site .c33-scenario-composition { gap:32px; grid-template-columns:.65fr 1.35fr; }
 body.c28-site .c33-scenario-composition .c33-scenario-visual { height:420px; }
 body.c28-site .c33-numbers-media .c23-wrap { grid-template-columns:1fr 1fr; gap:28px; }
}
@media(max-width:800px) {
 body.c28-site .c23-feature-visual { height:clamp(270px,74vw,390px); padding:0; margin-inline:0; overflow:hidden; }
 body.c28-site .c23-feature-visual > img { height:100%!important; }
 body.c28-site .c33-scenario-composition { grid-template-columns:1fr; gap:30px; }
 body.c28-site .c33-scenario-composition .c33-scenario-visual { width:100%; max-width:none; height:320px; }
 body.c28-site .c33-scenario-composition .c33-scenario-visual img { object-position:center 40%; }
 body.c28-site .c33-numbers-media .c23-wrap { display:block!important; }
 body.c28-site .c33-numbers-media .c23-intro { margin-bottom:28px; }
 body.c28-site .c33-numbers-media .c23-numbers-visual { margin-top:28px; aspect-ratio:1.65; }
}

/* User-selected architectural cutout: complete silhouette, no photograph box. */
body.c28-site .c33-scenario-composition .c33-scenario-cutout { background:transparent; height:520px; max-width:370px; overflow:visible; }
body.c28-site .c33-scenario-cutout img { object-fit:contain; object-position:center; animation:none!important; transform:none!important; }
@media(max-width:800px) {
 body.c28-site .c33-scenario-composition .c33-scenario-cutout { height:390px; max-width:290px; margin-inline:auto; }
}

/* The architectural accent and reading column are one composition. */
body.c28-site .c33-scenario-composition--architecture { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:clamp(32px,5vw,72px); }
body.c28-site .c33-scenario-composition .c33-architectural-cutout { height:auto; max-width:none; overflow:visible; background:transparent; align-self:center; }
body.c28-site .c33-architectural-cutout button { display:block; width:100%; padding:0; border:0; background:transparent!important; cursor:zoom-in; overflow:visible; }
body.c28-site .c33-architectural-cutout img { display:block; width:100%; height:clamp(250px,33vw,430px)!important; object-fit:contain!important; object-position:center; opacity:1; animation:none!important; transform:none!important; }
body.c28-site .c33-architectural-cutout figcaption { max-width:42ch; margin:0 auto; padding-top:20px; }
body.c28-site .c33-architectural-cutout figcaption h3 { font-size:20px; margin:0 0 8px; }
body.c28-site .c33-architectural-cutout figcaption p { font-size:15px; margin:0; line-height:1.5; color:var(--muted); }
body.c28-site .c33-project-cutout { max-width:900px; margin:36px auto 0; background:transparent; }
body.c28-site .c33-project-cutout img { height:400px!important; }
body.c28-site .c23-gallery[data-count="1"] { display:block; }
body.c28-site .c23-gallery[data-count="1"] > figure { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:40px; align-items:center; }
body.c28-site .c23-gallery[data-count="1"] > figure img { height:420px!important; }
body.c28-site .c23-gallery[data-count="1"] > figure figcaption { padding:0; }
@media(max-width:800px) {
 body.c28-site .c33-scenario-composition--architecture { grid-template-columns:1fr; }
 body.c28-site .c33-architectural-cutout img { height:290px!important; }
 body.c28-site .c33-architectural-cutout figcaption { margin:0; padding-top:16px; }
 body.c28-site .c33-project-cutout img { height:250px!important; }
 body.c28-site .c23-gallery[data-count="1"] > figure { display:block; }
 body.c28-site .c23-gallery[data-count="1"] > figure img { height:280px!important; }
 body.c28-site .c23-gallery[data-count="1"] > figure figcaption { padding-top:20px; }
}

/* SVG contains only the extraction outline; RGB always comes from the unchanged
   project source. One real image coordinate system owns the mask and picture. */
body.c28-site .c33-source-silhouette { display:block; width:min(100%,calc(var(--c33-image-ratio) * 430px)); aspect-ratio:var(--c33-image-ratio); margin-inline:auto; mask-size:100% 100%; -webkit-mask-size:100% 100%; mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat; }
body.c28-site .c33-source-silhouette img { display:block; width:100%!important; height:100%!important; max-height:none!important; object-fit:fill!important; animation:none!important; transform:none!important; }
body.c28-site .c33-scenario-cutout .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 520px)); }
@media(max-width:800px) {
 body.c28-site .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 320px)); }
 body.c28-site .c33-scenario-cutout .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 390px)); }
}

/* Compact editorial scenarios: one small index beside a stable reading column. */
body.c28-site .c33-scenario-composition .c23-scenario { display:grid; grid-template-columns:38px minmax(0,1fr); gap:18px; border-left:0!important; padding:22px 0!important; background:transparent!important; }
body.c28-site .c33-scenario-composition .c23-scenario-index { display:block; margin:0; font-size:27px; line-height:1.16; }
body.c28-site .c33-scenario-composition .c23-scenario h3 { font-size:clamp(23px,2vw,28px); line-height:1.18; margin:0 0 12px; }
body.c28-site .c33-scenario-composition .c23-scenario p { font-size:16px; line-height:1.6; }
@media(max-width:800px) { body.c28-site .c33-scenario-composition .c23-scenario { grid-template-columns:30px minmax(0,1fr); gap:14px; } }

/* The visible architecture, rather than its former photograph canvas, defines
   composition. The original RGB and mask share identical source coordinates. */
body.c28-site .c33-source-silhouette { position:relative; overflow:hidden; mask-image:none!important; -webkit-mask-image:none!important; }
body.c28-site .c33-source-silhouette img { position:absolute; width:var(--c33-source-width)!important; height:var(--c33-source-height)!important; left:var(--c33-source-left); top:var(--c33-source-top); max-width:none!important; mask-image:var(--c33-mask); -webkit-mask-image:var(--c33-mask); mask-size:100% 100%; -webkit-mask-size:100% 100%; mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat; }
body.c28-site .c33-scenario-composition .c33-scenario-cutout { height:auto; }

/* Each source perspective anchors the architecture to the composition. */
body.c28-site [data-c33-composition="right-top"] > figure { order:2; align-self:start; justify-self:end; width:100%; }
body.c28-site [data-c33-composition="right-top"] > .c23-scenarios { order:1; }
body.c28-site [data-c33-position="right-top"] .c33-source-silhouette { margin-inline:auto 0; }
body.c28-site [data-c33-position="left-bottom"] { align-self:end!important; }
body.c28-site [data-c33-position="left-bottom"] .c33-source-silhouette { margin-inline:0 auto; width:min(100%,calc(var(--c33-image-ratio) * 450px)); }
body.c28-site [data-c33-composition="panorama"] { display:flex; flex-direction:column; gap:36px; align-items:stretch; }
body.c28-site [data-c33-composition="panorama"] > .c23-scenarios { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
body.c28-site [data-c33-composition="panorama"] > figure { width:100%; }
body.c28-site [data-c33-position="panorama"] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 440px)); margin-inline:auto; }
body.c28-site [data-c33-position="panorama"] figcaption { max-width:none; display:grid; grid-template-columns:1fr 1fr; gap:32px; }
@media(max-width:800px) {
 body.c28-site [data-c33-composition="right-top"] > figure { order:0; }
 body.c28-site [data-c33-composition="panorama"] > .c23-scenarios { grid-template-columns:1fr; gap:0; }
 body.c28-site [data-c33-position] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 330px)); }
 body.c28-site [data-c33-position="panorama"] figcaption { display:block; }
 body.c28-site [data-c33-position="panorama"] figcaption h3 { margin-bottom:8px; }
}
/* Right-anchored vertical architecture leaves the broader column to reading. */
@media(min-width:801px) { body.c28-site [data-c33-composition="right-top"] { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); } }

/* C34: architecture meets a real section edge. The unchanged masked RGB is
   static; only its scale and grounded placement change. Captions precede the
   silhouette visually so no caption creates an air gap below the building. */
body.c28-site main > .c23-section[data-c34-architecture] { padding-bottom:0; }
body.c28-site [data-c34-architecture] > .c23-wrap { width:calc(100% - var(--gutter)*2); max-width:none; }
body.c28-site [data-c34-architecture] .c33-scenario-composition { align-items:end; }
body.c28-site [data-c34-architecture] .c33-scenario-composition > .c23-scenarios { padding-bottom:clamp(40px,4vw,64px); }
body.c28-site [data-c34-edge] { display:flex!important; flex-direction:column; align-self:end!important; gap:20px; margin-top:0; }
body.c28-site [data-c34-edge] > figcaption { order:-1; margin:0; padding:0; max-width:46ch; }
body.c28-site [data-c34-edge] > button { display:block; }
body.c28-site [data-c34-edge] .c33-source-silhouette { margin-bottom:0; }
body.c28-site [data-c34-edge="right"] { width:calc(100% + var(--gutter))!important; margin-inline:0 calc(-1 * var(--gutter)); }
body.c28-site [data-c34-edge="right"] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 550px)); margin-inline:auto 0; }
body.c28-site[data-c28-project="altay-umun.ru"] [data-c34-edge="right"] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 600px)); }
body.c28-site [data-c34-edge="left"] { width:calc(100% + var(--gutter))!important; margin-inline:calc(-1 * var(--gutter)) 0; }
body.c28-site [data-c34-edge="left"] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 450px)); margin-inline:0 auto; }
body.c28-site [data-c34-edge="left"] > figcaption { margin-left:var(--gutter); }
body.c28-site [data-c34-edge="panorama"] { width:calc(100% + var(--gutter)*2)!important; margin-inline:calc(-1 * var(--gutter)); }
body.c28-site [data-c34-edge="panorama"] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 400px)); margin-inline:0 auto; }
body.c28-site [data-c34-edge="panorama"] > figcaption { margin-inline:var(--gutter); max-width:none; }
body.c28-site [data-c34-architecture="panorama"] .c33-scenario-composition { gap:24px; }
body.c28-site [data-c34-architecture="panorama"] .c33-scenario-composition > .c23-scenarios { padding-bottom:0; }
body.c28-site [data-c34-edge="right-top"] { width:calc(100% + var(--gutter))!important; margin-inline:0 calc(-1 * var(--gutter)); align-self:start!important; }
body.c28-site [data-c34-edge="right-top"] .c33-source-silhouette { width:100%; margin-inline:auto 0; }
body.c28-site main > .c23-section[data-c34-architecture="right-top"] { padding-bottom:clamp(40px,4vw,64px); }
body.c28-site [data-c34-architecture="right-top"] .c33-scenario-composition > .c23-scenarios { padding-bottom:0; }
body.c28-site [data-c34-architecture] .c33-project-cutout { max-width:none; margin-top:28px; }
body.c28-site [data-c34-architecture] .c23-gallery:has(.c33-source-silhouette) { display:block!important; }
body.c28-site [data-c34-architecture] .c23-gallery:has(.c33-source-silhouette) > figure { gap:24px; }

/* A single numerical reading row and a photographic base replace the floating
   picture beside the facts. Existing sources only: no new visual claims. */
body.c28-site .c23-numbers:has(.c23-numbers-visual) > .c23-wrap { display:grid!important; grid-template-columns:1fr; gap:28px; }
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-intro { grid-column:1; grid-row:1; margin-bottom:0; }
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid { grid-column:1; grid-row:2; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:24px; }
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { grid-column:1!important; grid-row:3!important; width:100%; height:clamp(200px,20vw,290px)!important; aspect-ratio:auto; min-height:0; margin:0!important; }
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img { width:100%; height:100%!important; object-fit:cover; object-position:50% 58%; }
body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img { object-fit:contain; background:var(--paper); }
@media(max-width:1000px) {
 body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:800px) {
 body.c28-site [data-c34-architecture] .c33-scenario-composition { gap:28px; }
 body.c28-site [data-c34-edge] { gap:16px; }
 body.c28-site [data-c34-edge] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 360px)); }
 body.c28-site[data-c28-project="altay-umun.ru"] [data-c34-edge="right"] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 400px)); }
 body.c28-site [data-c34-edge="right"] > figcaption { margin-right:var(--gutter); }
 body.c28-site [data-c34-edge="panorama"] .c33-source-silhouette { width:100%; }
 body.c28-site [data-c34-edge="panorama"] > figcaption { display:block; }
 body.c28-site [data-c34-architecture] .c33-scenario-composition > figure { order:2!important; }
 body.c28-site [data-c34-architecture] .c33-scenario-composition > .c23-scenarios { order:1!important; padding-bottom:0; }
 body.c28-site main > .c23-section[data-c34-architecture="right-top"] { padding-bottom:0; }
 body.c28-site [data-c34-architecture="right-top"] [data-c34-edge="right-top"] { align-self:end!important; }
 body.c28-site .c23-numbers:has(.c23-numbers-visual) > .c23-wrap { gap:24px; }
 body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid { gap:24px 18px; }
 body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { height:220px!important; }
}

/* The photographic base is attached to the section, not another floating tile. */
body.c28-site main > .c23-numbers:has(.c23-numbers-visual) { padding-bottom:0; }
body.c28-site .c23-numbers:has(.c23-numbers-visual) > .c23-wrap { width:calc(100% - var(--gutter)*2); max-width:none; }
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { width:calc(100% + var(--gutter)*2); margin-inline:calc(-1 * var(--gutter))!important; }

/* Explicitly defeat legacy cutout max-width and figure margins. */
body.c28-site .c33-scenario-composition > figure[data-c34-edge] { max-width:none!important; min-width:0; }
body.c28-site [data-c34-edge="right"],body.c28-site [data-c34-edge="right-top"] { margin-inline:0 calc(-1 * var(--gutter))!important; }
body.c28-site [data-c34-edge="left"] { margin-inline:calc(-1 * var(--gutter)) 0!important; }
body.c28-site [data-c34-edge="panorama"] { margin-inline:calc(-1 * var(--gutter))!important; }
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img { object-position:50% 80%; }
/* Per-source photographic framing: four floors and entrances fit the Umun
   frontage at desktop width; shared-site master plan remains fully contained. */
body.c28-site[data-c28-project="altay-umun.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { height:clamp(300px,35vw,500px)!important; }
body.c28-site[data-c28-project="altay-umun.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img { object-position:50% 68%; }
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { height:clamp(260px,24vw,340px)!important; }
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img { object-position:50% 64%; }
body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { height:clamp(260px,24vw,340px)!important; }
body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { height:clamp(300px,35vw,500px)!important; }
body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img { object-position:50% 74%; }
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img { object-position:50% 85%; }
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img { object-position:50% 64%; }
@media(max-width:800px) {
 body.c28-site[data-c28-project] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { height:240px!important; }
 body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { height:260px!important; }
}
/* Compact the reading region rather than crop away the architectural base. */
body.c28-site main > .c23-numbers:has(.c23-numbers-visual) { padding-top:clamp(48px,4vw,64px); }
body.c28-site .c23-numbers:has(.c23-numbers-visual) > .c23-wrap { row-gap:20px; }
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-intro h2 { font-size:clamp(34px,3.3vw,50px); }
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-intro .c23-kicker { margin-bottom:12px; }

/* C35 starts with readable navigation, preserved native controls and steady
   images. No text, field or photograph has an opacity/curtain entrance. */
body.c28-site .c23-header { min-height:88px; height:auto; gap:clamp(16px,1.8vw,28px); padding-block:12px; }
body.c28-site .c23-brand { font-size:clamp(21px,1.9vw,28px); line-height:1.15; max-width:290px; }
body.c28-site .c23-nav { font-size:16px; gap:clamp(16px,1.55vw,24px); }
body.c28-site .c23-nav a { display:inline-flex; align-items:center; min-height:44px; line-height:1.25; white-space:nowrap; }
body.c28-site .c23-header-cta { font-size:15px; line-height:1.3; min-height:40px; display:inline-flex; align-items:center; padding-block:7px; }
body.c28-site .c23-menu { width:48px; height:48px; padding:11px; }
body.c28-site .c23-menu span { height:2px; margin:7px 0; }
@media(max-width:1180px) {
 body.c28-site .c23-menu { display:block; margin-left:auto; }
 body.c28-site .c23-header-cta { display:none; }
 body.c28-site .c23-nav { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:8px; padding:18px var(--gutter) 24px; background:var(--paper); border-bottom:1px solid var(--line); font-size:18px; }
 body.c28-site .c23-nav.is-open { display:flex; }
 body.c28-site .c23-nav a { min-height:48px; padding-block:8px; }
}
@media(max-width:800px) {
 body.c28-site .c23-header { min-height:78px; padding-block:5px; gap:16px; }
 body.c28-site .c23-brand { max-width:calc(100% - 64px); font-size:23px; }
}

/* The accepted Umun silhouette is modestly enlarged, not redrawn. */
body.c28-site[data-c28-project="altay-umun.ru"] [data-c34-edge="right"] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 660px)); }
@media(max-width:800px) { body.c28-site[data-c28-project="altay-umun.ru"] [data-c34-edge="right"] .c33-source-silhouette { width:min(100%,calc(var(--c33-image-ratio) * 435px)); } }

/* Low-cost presentation keeps a real photograph and one flat contour visible. */
body.c28-site[data-motion-quality="lite"] :is(.c30-sculpture,.c29-hero-flow,.c28-scenery-light,.c28-ribbon,.c28-secondary-line) { display:none!important; }
body.c28-site[data-motion-quality="lite"] :is(.c29-hero-camera,.c31-hero-camera,.c30-media-scroll,.c35-photo-plane) { animation:none!important; transform:none!important; filter:none!important; }
body.c28-site[data-motion-quality="lite"] .c23-hero-form { backdrop-filter:none!important; -webkit-backdrop-filter:none!important; background:var(--paper); }
body.c28-site[data-motion-quality="lite"] .c28-scenery-svg { filter:none!important; }

/* Full project context is the graceful fallback for an incomplete extraction.
   Source bytes and every architectural detail remain unchanged. */
body.c28-site figure[data-c35-media="context"] { display:block!important; width:100%!important; max-width:none!important; margin-inline:0!important; }
body.c28-site figure[data-c35-media="context"] .c33-source-silhouette { display:block; width:100%!important; aspect-ratio:var(--c35-context-ratio); margin:0!important; overflow:hidden; }
body.c28-site figure[data-c35-media="context"] .c33-source-silhouette img { position:static!important; display:block; width:100%!important; height:auto!important; max-width:100%!important; object-fit:contain!important; mask:none!important; -webkit-mask:none!important; }
body.c28-site .c35-context-window { position:relative; display:block; width:100%; aspect-ratio:var(--c35-context-ratio); overflow:hidden; background:var(--paper); }
body.c28-site .c35-photo-plane { position:absolute; inset:0; width:100%; height:100%; }
body.c28-site .c35-context-window .c35-photo-plane > img { position:absolute; left:var(--c35-source-left,0%); top:var(--c35-source-top,0%); width:var(--c35-source-width,100%)!important; height:var(--c35-source-height,100%)!important; max-width:none!important; mask:none!important; -webkit-mask:none!important; animation:none!important; transform:none!important; }
body.c28-site[data-c28-project="a45-resort.ru"] .c23-gallery[data-count="1"] > figure { display:block; }
body.c28-site[data-c28-project="a45-resort.ru"] .c23-gallery[data-count="1"] > figure figcaption { padding-top:18px!important; max-width:70ch; }
body.c28-site[data-c28-project="a45-resort.ru"] .c23-offer-copy > img { height:auto!important; max-height:none; object-fit:contain; }

/* Sakhalin has its own island/forest voice, separate from ALTO's alpine tower. */
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] { --paper:#eef1ec; --ink:#193b3d; --muted:#426166; --accent:#2e666f; --tint:#d8e4de; --deep:#16393c; --line:#b8cbc3; --display:Prata; color:var(--ink); background:var(--paper); }
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] :is(h1,h2,.c23-hero-name) { font-family:Prata,Georgia,serif; font-weight:400; letter-spacing:-.035em; }
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c23-hero-name { font-size:clamp(48px,8.4vw,112px); max-width:11ch; line-height:1.08; }
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c23-project .c23-intro h2 { max-width:25ch; }
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c23-project .c33-project-cutout { margin-top:28px; }
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c23-project .c33-source-silhouette { max-width:1280px; }
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c28-scenery-svg { color:#759e91; }
@media(max-width:800px) {
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c23-hero-name { font-size:clamp(48px,12vw,76px); }
 body.c28-site[data-c28-project="a45-resort.ru"] .c23-offer-copy > img { max-height:none; }
}
body.c28-site[data-c28-project="alto-dombay-resort.ru"] figure[data-c35-media="context"] { width:min(100%,430px)!important; margin-left:auto!important; }
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] figure[data-c35-media="context"] .c33-source-silhouette { max-width:1280px; }
@media(max-width:800px) {
 body.c28-site[data-c28-project="alto-dombay-resort.ru"] figure[data-c35-media="context"] { width:100%!important; }
}

/* Whole photographic scenes hold their own frame. The photo meets a deliberate
   grid edge; it is never an incomplete floating house or a masked white tile. */
body.c28-site figure[data-c35-media="context"] > button { display:block; width:100%; }
body.c28-site figure[data-c35-media="context"] .c35-context-window { border-radius:0; }
body.c28-site[data-c28-project="a45-resort.ru"] figure[data-c35-media="context"] { width:min(100%,600px)!important; }
body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] figure[data-c35-media="context"] { width:min(100%,640px)!important; }
body.c28-site[data-c28-project="sunset-krym.ru"] figure[data-c35-media="context"] { width:100%!important; }
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] figure[data-c35-media="context"] { margin-top:4px!important; }
body.c28-site[data-c28-project="kremdelyakrym.ru"] figure[data-c35-media="context"] { margin-top:26px!important; }
@media(max-width:800px) {
 body.c28-site figure[data-c35-media="context"] { width:100%!important; }
 body.c28-site .c35-context-window { max-height:none; }
}

/* The shore belongs to a coherent editorial spread, not a cropped decorative
   stripe. Four facts retain their full reading order alongside a real scene. */
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) > .c23-wrap,
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) > .c23-wrap,
body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) > .c23-wrap { grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important; align-items:start; column-gap:clamp(32px,4vw,64px); padding-bottom:clamp(48px,4vw,64px); }
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-intro,
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-intro,
body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-intro { grid-column:2!important;grid-row:1!important;display:block!important; }
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid,
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid,
body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid { grid-column:2!important;grid-row:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 22px; }
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual,
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual,
body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual { grid-column:1!important;grid-row:1/3!important;width:100%!important;height:auto!important;margin:0!important;align-self:start; }
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img,
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img,
body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual img { display:block;width:100%;height:auto!important;object-fit:contain!important; }
@media(max-width:1000px) {
 body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) > .c23-wrap,
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) > .c23-wrap,
 body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) > .c23-wrap {grid-template-columns:1fr!important;gap:24px;padding-bottom:0;}
 body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-intro,
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-intro,
 body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-intro {grid-column:1!important;grid-row:1!important;}
 body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid,
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid,
 body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid {grid-column:1!important;grid-row:2!important;}
 body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual,
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual,
 body.c28-site[data-c28-project="katuna-start.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual {grid-column:1!important;grid-row:3!important;width:calc(100% + var(--gutter)*2)!important;margin-inline:calc(-1 * var(--gutter))!important;}
}
/* Defeat the legacy single-gallery fixed height at its actual specificity. */
body.c28-site figure[data-c35-media="context"] .c35-context-window .c35-photo-plane > img { width:var(--c35-source-width,100%)!important; height:var(--c35-source-height,100%)!important; object-fit:fill!important; }
body.c28-site figure[data-c35-media="context"] .c33-source-silhouette > img { width:100%!important; height:auto!important; object-fit:contain!important; }
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c23-project figure[data-c35-media="context"] { width:min(100%,960px)!important; margin-inline:0 auto!important; }
@media(max-width:1180px) {
 html:not(.c23-js) body.c28-site .c23-header {flex-wrap:wrap;height:auto;padding-block:18px;}
 html:not(.c23-js) body.c28-site .c23-menu {display:none;}
 html:not(.c23-js) body.c28-site .c23-nav {display:flex;position:static;flex-direction:row;flex-wrap:wrap;width:100%;padding:8px 0 0;font-size:16px;border:0;gap:4px 20px;}
}
body.c28-site .c23-gallery[data-count] figure[data-c35-media="context"] { display:block!important; grid-template-columns:none!important; }
body.c28-site .c23-gallery[data-count] figure[data-c35-media="context"] .c35-context-window .c35-photo-plane > img { width:var(--c35-source-width,100%)!important; height:var(--c35-source-height,100%)!important; object-fit:fill!important; }
body.c28-site .c23-gallery[data-count] figure[data-c35-media="context"] .c33-source-silhouette > img {height:auto!important;}
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual[data-c35-media="context"] .c35-context-window .c35-photo-plane > img {width:var(--c35-source-width,100%)!important;height:var(--c35-source-height,100%)!important;object-fit:fill!important;}
body.c28-site [data-c35-stable] .c35-photo-plane {animation:none!important;transform:none!important;}
body.c28-site .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual[data-c35-media="context"] {height:auto!important;aspect-ratio:var(--c35-context-ratio);}
/* Riviera's true frontal source is a wide architectural view: use its whole
   width below a compact fact row rather than squeeze it into half a spread. */
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) > .c23-wrap {grid-template-columns:1fr!important;gap:22px;padding-bottom:0;}
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-intro {grid-column:1!important;grid-row:1!important;}
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid {grid-column:1!important;grid-row:2!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;}
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-numbers-visual {grid-column:1!important;grid-row:3!important;width:100%!important;margin-inline:0!important;}
@media(max-width:1000px){body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers:has(.c23-numbers-visual) .c23-fact-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
/* The three broad sources stay complete in a balanced editorial pair, instead
   of adding another full-height image screen below a row of small text. */
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition,
body.c28-site[data-c28-project="lazurny-bereg-azov.ru"] .c33-scenario-composition,
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c33-scenario-composition {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)!important;gap:clamp(32px,5vw,72px)!important;align-items:center;}
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition > .c23-scenarios,
body.c28-site[data-c28-project="lazurny-bereg-azov.ru"] .c33-scenario-composition > .c23-scenarios,
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c33-scenario-composition > .c23-scenarios {display:grid!important;grid-template-columns:1fr!important;grid-column:1!important;grid-row:1!important;width:100%;padding-bottom:44px!important;gap:26px;}
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition > figure[data-c35-media="context"],
body.c28-site[data-c28-project="lazurny-bereg-azov.ru"] .c33-scenario-composition > figure[data-c35-media="context"],
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c33-scenario-composition > figure[data-c35-media="context"] {grid-column:2!important;grid-row:1!important;width:100%!important;align-self:end!important;}
body.c28-site[data-c28-project="lazurny-bereg-azov.ru"] .c33-scenario-composition > .c23-scenarios {grid-column:2!important;}
body.c28-site[data-c28-project="lazurny-bereg-azov.ru"] .c33-scenario-composition > figure[data-c35-media="context"] {grid-column:1!important;}
@media(max-width:800px){
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition,
 body.c28-site[data-c28-project="lazurny-bereg-azov.ru"] .c33-scenario-composition,
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c33-scenario-composition {grid-template-columns:1fr!important;gap:28px!important;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition > .c23-scenarios,
 body.c28-site[data-c28-project="lazurny-bereg-azov.ru"] .c33-scenario-composition > .c23-scenarios,
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c33-scenario-composition > .c23-scenarios {grid-column:1!important;grid-row:1!important;padding-bottom:0!important;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition > figure[data-c35-media="context"],
 body.c28-site[data-c28-project="lazurny-bereg-azov.ru"] .c33-scenario-composition > figure[data-c35-media="context"],
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c33-scenario-composition > figure[data-c35-media="context"] {grid-column:1!important;grid-row:2!important;}
}

/* C35 review: Amadu gives the evening architecture the main visual mass.
   Three compact reading columns precede one complete 1100px photograph. */
@media(min-width:801px) {
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] main > .c23-section.c23-scenarios {padding-top:48px;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition {grid-template-columns:1fr!important;gap:24px!important;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition > .c23-scenarios {grid-column:1!important;grid-row:1!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px;padding-bottom:0!important;align-items:start;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition .c23-scenario {padding-top:0!important;min-height:0;grid-template-columns:34px minmax(0,1fr);gap:14px;align-content:start;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition .c23-scenario h3 {font-size:22px;line-height:1.22;margin:0;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition .c23-scenario p {font-size:15px;line-height:1.6;margin-top:12px;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition > figure[data-c35-media="context"] {grid-column:1!important;grid-row:2!important;width:min(100%,1100px)!important;margin-inline:0 auto!important;align-self:stretch!important;}
}
@media(min-width:801px) {
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c33-scenario-composition .c23-scenario {margin-top:0!important;}
}

/* C36: the architecture is transparent again. A grounded silhouette joins
   the reading space to the section edge, without a photograph rectangle. */
body.c28-site main > .c23-section.c36-architecture-scene { padding-bottom:0; }
body.c28-site .c36-architecture-scene > .c23-wrap { width:calc(100% - var(--gutter)*2); max-width:none; }
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {
 display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 align-items:end; column-gap:clamp(32px,5vw,76px)!important; row-gap:28px!important;
}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition > .c23-scenarios {
 display:grid!important; grid-template-columns:1fr!important; gap:0!important;
 width:100%; min-width:0; grid-row:1!important; grid-column:2!important;
 padding-bottom:clamp(38px,4vw,60px)!important; order:0!important;
}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition .c23-scenario {
 margin-top:0!important; min-height:0; padding:22px 0!important;
 grid-template-columns:36px minmax(0,1fr); gap:17px; align-content:start;
}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition .c23-scenario:first-child {padding-top:22px!important;}
body.c28-site .c36-architecture-scene .c23-scenario h3 {font-size:clamp(23px,2vw,30px);line-height:1.22;max-width:24ch;}
body.c28-site .c36-architecture-scene .c23-scenario p {font-size:16px;line-height:1.65;max-width:55ch;}
body.c28-site[data-c28-project] .c36-architecture-scene figure[data-c36-cutout] {
 display:block!important; grid-row:1!important; grid-column:1!important;
 width:calc(100% + var(--gutter))!important; max-width:none!important; height:auto!important;
 margin:0!important; margin-inline:calc(-1 * var(--gutter)) 0!important;
 padding:0; gap:0; align-self:end!important; background:transparent!important;
 overflow:visible; order:0!important; border:0; border-radius:0;
}
body.c28-site[data-c28-project] .c36-architecture-scene figure[data-c36-cutout] > button {
 display:block; width:100%; height:auto; padding:0; background:transparent!important;
 border:0; overflow:visible; border-radius:0; line-height:0;
}
body.c28-site[data-c28-project] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {
 display:block; position:relative; width:min(100%,var(--c36-house-max),calc(var(--c33-image-ratio) * var(--c36-house-height)))!important;
 height:auto!important; aspect-ratio:var(--c33-image-ratio); max-width:none!important;
 margin:0!important; padding:0; overflow:hidden; background:transparent!important;
 mask-image:none!important; -webkit-mask-image:none!important; transform-origin:bottom left;
}
body.c28-site[data-c28-project] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette > img {
 position:absolute!important; display:block; width:var(--c33-source-width,100%)!important;
 height:var(--c33-source-height,100%)!important; left:var(--c33-source-left,0%); top:var(--c33-source-top,0%);
 max-width:none!important; max-height:none!important; object-fit:fill!important;
 mask-image:var(--c33-mask)!important; -webkit-mask-image:var(--c33-mask)!important;
 mask-size:100% 100%; -webkit-mask-size:100% 100%; mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat;
 opacity:1; animation:none!important; transform:none!important; filter:none!important;
 transform-origin:bottom left;
}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="right"] > .c23-scenarios {grid-column:1!important;align-self:start;}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="right"] > figure[data-c36-cutout] {
 grid-column:2!important; margin-inline:0 calc(-1 * var(--gutter))!important;
}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="right"] figure[data-c36-cutout] .c36-source-silhouette {margin-inline:auto 0!important;transform-origin:bottom right;}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] {
 grid-template-columns:1fr!important; row-gap:28px!important;
}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] > .c23-scenarios {
 grid-column:1!important; grid-row:1!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
 column-gap:clamp(24px,3vw,42px)!important; padding-bottom:0!important;
}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] > figure[data-c36-cutout] {
 grid-column:1!important; grid-row:2!important; width:calc(100% + var(--gutter)*2)!important;
 margin-inline:calc(-1 * var(--gutter))!important;
}
body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] .c36-source-silhouette {margin-inline:0 auto!important;}
body.c28-site[data-c28-project] .c36-architecture-scene[data-c36-architecture^="project-"] figure[data-c36-cutout] {
 width:calc(100% + var(--gutter)*2)!important; margin-inline:calc(-1 * var(--gutter))!important; margin-top:30px!important;
}
body.c28-site[data-c28-project] .c36-architecture-scene[data-c36-architecture="project-right"] figure[data-c36-cutout] .c36-source-silhouette {margin-inline:auto 0!important;transform-origin:bottom right;}
body.c28-site[data-c28-project] .c36-architecture-scene .c23-gallery:has(figure[data-c36-cutout]) {display:block!important;margin:0;}

/* Source-specific geometry retains the character of each project. */
body.c28-site[data-c28-project="altay-umun.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)!important;}
body.c28-site[data-c28-project="alto-dombay-resort.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr)!important;}
body.c28-site[data-c28-project="katuna-start.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;}
body.c28-site[data-c28-project="sunset-krym.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)!important;}
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] .c36-source-silhouette {margin-inline:auto 0!important;}
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene .c23-intro {max-width:1100px;}
body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:100%!important;}
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c36-architecture-scene .c33-scenario-composition .c23-scenario h3 {font-size:clamp(23px,1.8vw,28px);margin-bottom:12px;}
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c36-architecture-scene .c33-scenario-composition .c23-scenario p {font-size:16px;line-height:1.65;}
@media(max-width:1000px) and (min-width:801px) {
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition .c23-scenario {grid-template-columns:30px minmax(0,1fr);gap:12px;}
 body.c28-site .c36-architecture-scene .c23-scenario h3 {font-size:23px;}
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] > .c23-scenarios {grid-template-columns:1fr!important;}
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] > figure[data-c36-cutout] .c36-source-silhouette {--c36-house-height:440px;}
}
@media(max-width:800px) {
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:1fr!important;gap:24px!important;}
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] > .c23-scenarios {
  grid-column:1!important;grid-row:1!important;grid-template-columns:1fr!important;padding-bottom:0!important;order:0!important;
 }
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] > figure[data-c36-cutout] {
  grid-column:1!important;grid-row:2!important;order:1!important;width:calc(100% + var(--gutter))!important;
 }
 body.c28-site[data-c28-project] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:100%!important;max-height:none;}
 body.c28-site[data-c28-project] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette > img {mask-image:var(--c36-mask-mobile,var(--c33-mask))!important;-webkit-mask-image:var(--c36-mask-mobile,var(--c33-mask))!important;}
 body.c28-site[data-c28-project] .c36-architecture-scene [data-c36-layout="right"] figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,calc(var(--c33-image-ratio) * 470px))!important;}
 body.c28-site[data-c28-project] .c36-architecture-scene [data-c36-layout="panorama"] > figure[data-c36-cutout] {
  width:calc(100% + var(--gutter)*2)!important;margin-inline:calc(-1 * var(--gutter))!important;
 }
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition .c23-scenario {grid-template-columns:30px minmax(0,1fr);gap:14px;padding:22px 0!important;}
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition .c23-scenario:first-child {padding-top:22px!important;}
 body.c28-site .c36-architecture-scene .c23-scenario h3 {font-size:24px;line-height:1.2;}
 body.c28-site .c36-architecture-scene .c23-scenario p {font-size:16px;line-height:1.6;}
 body.c28-site[data-c28-project] .c36-architecture-scene[data-c36-architecture^="project-"] figure[data-c36-cutout] {margin-top:26px!important;}
}

/* Equal breathing room above every scenario, including the first item. */
body.c28-site main > .c23-section[data-kfu="scenarios"] .c23-scenario {padding-top:22px!important;}
body.c28-site main > .c23-section[data-kfu="scenarios"] .c23-scenario:first-child {padding-top:22px!important;}
@media(max-width:800px) {
 body.c28-site main > .c23-section[data-kfu="scenarios"] .c23-scenario {padding-top:22px!important;}
 body.c28-site main > .c23-section[data-kfu="scenarios"] .c23-scenario:first-child {padding-top:22px!important;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] {overflow:hidden;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] > button {overflow:hidden;}
 body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] .c36-source-silhouette {width:calc(100% + 160px)!important;}
 body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout],
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] {overflow:hidden;}
 body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] > button,
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] > button {overflow:hidden;}
 body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] .c36-source-silhouette {width:calc(100% + 300px)!important;}
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout="panorama"] figure[data-c36-cutout] .c36-source-silhouette {width:calc(100% + 150px)!important;}
}

/* The genuine Krem source is an architectural detail, cut at its top. Its
   source edge now meets the section edge, instead of an arbitrary crop inside
   a white card. No missing roof is invented. */
body.c28-site[data-c28-project="kremdelyakrym.ru"] main > .c23-project.c36-architecture-scene {
 padding-top:0; padding-bottom:0;
}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene > .c23-wrap {
 display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,4vw,64px); align-items:end;
}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro {
 display:block; grid-column:1; grid-row:1; margin:0; padding-block:clamp(40px,4.5vw,66px); min-width:0;
}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro h2 {
 font-size:clamp(33px,3.25vw,49px); line-height:1.1; margin-bottom:24px;
}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro .c23-lead {
 font-size:18px; line-height:1.6;
}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery {
 grid-column:2; grid-row:1; min-width:0; height:auto; align-self:start;
}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] {
 width:calc(100% + var(--gutter))!important; margin:0!important; margin-inline:0 calc(-1 * var(--gutter))!important;
}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] .c36-source-silhouette {
 width:100%!important; margin:0!important;
}
@media(max-width:1000px) and (min-width:801px) {
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene > .c23-wrap {grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:30px;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro {padding-block:30px;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro h2 {font-size:32px;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro .c23-lead {font-size:16px;}
}
@media(min-width:801px) and (max-width:1180px) {
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery {align-self:stretch;position:relative;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] {
  position:absolute;top:0;bottom:0;right:calc(-1 * var(--gutter));height:100%!important;width:calc(100% + var(--gutter))!important;
  margin:0!important;overflow:hidden;
 }
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] > button {position:relative;height:100%;overflow:hidden;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] .c36-source-silhouette {
  position:absolute;top:0;bottom:0;right:0;left:auto;width:auto!important;height:100%!important;aspect-ratio:var(--c33-image-ratio);margin:0!important;
 }
}
@media(max-width:800px) {
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene > .c23-wrap {display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,.4fr);gap:18px;align-items:stretch;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery {align-self:stretch;margin:0;height:auto;position:relative;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro {padding-block:38px 40px;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro h2 {font-size:29px;line-height:1.15;letter-spacing:-.04em;overflow-wrap:normal;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro .c23-lead {font-size:16px;line-height:1.6;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] {
  position:absolute;top:0;bottom:0;right:calc(-1 * var(--gutter));width:calc(100% + var(--gutter))!important;height:100%!important;
  margin:0!important;overflow:hidden;
 }
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] > button {height:100%;position:relative;overflow:hidden;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] .c36-source-silhouette {
  position:absolute;right:0;left:auto;top:0;bottom:0;width:auto!important;height:100%!important;aspect-ratio:var(--c33-image-ratio);margin:0!important;
 }
}

/* C37: individual source geometry and complete editorial blocks. */
body.c28-site[data-c28-project] .c37-project-editorial[data-count="1"] figure {
 display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;
 gap:clamp(28px,4vw,58px)!important;align-items:center!important;
}
body.c28-site[data-c28-project] .c37-project-editorial figure > button {height:auto!important;min-height:0!important;width:100%;aspect-ratio:1.32;}
body.c28-site[data-c28-project] .c37-project-editorial figure img {width:100%!important;height:100%!important;object-fit:cover!important;}
body.c28-site[data-c28-project] .c37-project-editorial figcaption {padding:0!important;max-width:54ch;}
body.c28-site[data-c28-project] .c37-project-editorial figcaption h3 {font-size:clamp(25px,2.4vw,34px);line-height:1.2;margin:0 0 18px;}
body.c28-site[data-c28-project] .c37-project-editorial figcaption p {font-size:17px;line-height:1.65;}
body.c28-site .c37-editorial-facts {margin:24px 0 0;display:grid;gap:18px;}
body.c28-site .c37-editorial-facts div {padding-top:16px;border-top:1px solid var(--line);}
body.c28-site .c37-editorial-facts dt {font-weight:600;font-size:19px;margin-bottom:6px;}
body.c28-site .c37-editorial-facts dd {font-size:16px;line-height:1.6;margin:0;color:var(--muted);}
body.c28-site[data-c28-project="a45-resort.ru"] [data-kfu="offer"] .c23-offer-copy > img {height:235px!important;max-height:235px!important;min-height:0!important;object-fit:cover!important;width:100%!important;}
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] [data-kfu="project"] .c23-gallery figcaption {min-height:0!important;padding-bottom:0!important;}
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] [data-kfu="project"] .c23-gallery figcaption h3 {font-size:22px;max-width:25ch;}
body.c28-site[data-c28-project="amadu-gornoaltaisk.ru"] main > [data-kfu="project"] {padding-bottom:54px;}

/* Raw source edges meet the page edge; scale comes from the allocated column. */
body.c28-site[data-c28-project="a45-resort.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette,
body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette,
body.c28-site[data-c28-project="yuzhny-briz-yalta.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:100%!important;}
body.c28-site[data-c28-project="alto-dombay-resort.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;}
body.c28-site[data-c28-project="alto-dombay-resort.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,600px,calc(var(--c33-image-ratio) * 900px))!important;}
body.c28-site[data-c28-project="sunset-krym.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)!important;gap:38px!important;}
body.c28-site[data-c28-project="sunset-krym.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:100%!important;}
body.c28-site[data-c28-project="lazurny-bereg-azov.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:100%!important;}
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:100%!important;}
@media(min-width:801px) {
 body.c28-site[data-c28-project="altay-umun.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,760px,calc(var(--c33-image-ratio) * 790px))!important;}
}

/* Put the Aina introduction in the genuine transparent sky, away from roofs. */
@media(min-width:1100px) {
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene .c23-intro {position:relative;z-index:2;max-width:calc(100% - 180px);}
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene[data-c36-architecture] figure[data-c36-cutout] {margin-top:-230px!important;}
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene .c23-intro .c23-lead {max-width:850px;}
}

/* Override old motif grids explicitly: no half-empty row under the facts. */
body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c23-numbers > .c23-wrap {display:grid!important;grid-template-columns:1fr!important;gap:28px!important;}
body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c23-numbers .c23-intro {grid-column:1!important;grid-row:1!important;}
body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c23-numbers .c23-fact-grid {grid-column:1!important;grid-row:2!important;}
body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c23-numbers .c23-numbers-visual {grid-column:1!important;grid-row:3!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;}
body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c23-numbers .c35-context-window {width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:2.2124600638977636!important;}
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers .c23-numbers-visual {max-width:1080px!important;width:100%!important;justify-self:center!important;margin-inline:auto!important;}
body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers .c35-context-window {aspect-ratio:2.8382978723404255!important;height:auto!important;max-height:none!important;}

/* An authentic Krem facade detail is framed by the block, with a quieter scale. */
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene > .c23-wrap {grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;align-items:stretch;gap:48px;}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro {padding-block:70px;align-self:center;}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery {position:relative;align-self:stretch;}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] {position:absolute!important;inset:0 auto 0 0;height:100%!important;overflow:hidden;}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] > button {height:100%!important;position:relative;overflow:hidden;}
body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-gallery figure[data-c36-cutout] .c36-source-silhouette {position:absolute!important;inset:0 0 0 auto;height:100%!important;width:auto!important;aspect-ratio:var(--c33-image-ratio);}
body.c28-site .c37-concept-note {font-size:13px;line-height:1.5;max-width:70ch;margin:16px auto;padding-inline:var(--gutter);}
@media(max-width:800px) {
 body.c28-site[data-c28-project] .c37-project-editorial[data-count="1"] figure {grid-template-columns:1fr!important;gap:24px!important;}
 body.c28-site[data-c28-project] .c37-project-editorial figure > button {aspect-ratio:1.45;}
 body.c28-site[data-c28-project] .c37-project-editorial figcaption h3 {font-size:27px;}
 body.c28-site[data-c28-project] .c37-project-editorial figcaption p {font-size:16px;}
 body.c28-site .c37-editorial-facts {gap:16px;margin-top:20px;}
 body.c28-site[data-c28-project="alto-dombay-resort.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout],
 body.c28-site[data-c28-project="sunset-krym.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:1fr!important;gap:24px!important;}
 body.c28-site[data-c28-project="alto-dombay-resort.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,calc(var(--c33-image-ratio) * 700px))!important;}
 body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c23-numbers .c35-context-window {aspect-ratio:2.2124600638977636!important;}
 body.c28-site[data-c28-project="moinaco-evpatoria.ru"] .c23-numbers .c35-context-window {aspect-ratio:2.8382978723404255!important;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene > .c23-wrap {grid-template-columns:minmax(0,1fr) minmax(96px,.5fr)!important;gap:20px!important;}
 body.c28-site[data-c28-project="kremdelyakrym.ru"] .c36-architecture-scene .c23-intro {padding-block:38px 40px;}
}
/* C38: paired columns have one visual rhythm at wide and narrow widths. */
@media(min-width:801px) {
 body.c28-site[data-c28-project] .c37-project-editorial[data-count="1"] figure {align-items:stretch!important;grid-template-columns:minmax(0,1.07fr) minmax(0,1fr)!important;gap:clamp(32px,4vw,64px)!important;}
 body.c28-site[data-c28-project] .c37-project-editorial figure > button {aspect-ratio:auto!important;min-height:460px!important;height:100%!important;position:relative;}
 body.c28-site[data-c28-project] .c37-project-editorial figure > button img {position:absolute;inset:0;height:100%!important;object-fit:cover!important;}
 body.c28-site[data-c28-project] .c37-project-editorial figcaption {display:flex;flex-direction:column;justify-content:center;max-width:none;}
 body.c28-site[data-c28-project] .c37-project-editorial figcaption h3 {font-size:clamp(27px,2.25vw,36px);line-height:1.2;max-width:24ch;}
 body.c28-site[data-c28-project] .c37-project-editorial figcaption p {font-size:17px;line-height:1.6;}
 body.c28-site .c37-editorial-facts {margin-top:22px;gap:16px;}
 body.c28-site .c37-editorial-facts div {padding-top:14px;}
 body.c28-site .c37-editorial-facts dt {font-size:19px;line-height:1.3;}
 body.c28-site .c37-editorial-facts dd {font-size:16px;line-height:1.6;}
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout]:not([data-c36-layout="panorama"]) {align-items:center!important;}
 body.c28-site[data-c28-project] .c36-architecture-scene .c33-scenario-composition[data-c36-layout]:not([data-c36-layout="panorama"]) > .c23-scenarios {align-self:center!important;padding-block:24px!important;}
 body.c28-site[data-c28-project="a45-resort.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)!important;}
 body.c28-site[data-c28-project="a45-resort.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,calc(var(--c33-image-ratio) * 650px))!important;}
 body.c28-site[data-c28-project="yuzhny-briz-yalta.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,calc(var(--c33-image-ratio) * 600px))!important;}
 body.c28-site[data-c28-project="alto-dombay-resort.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)!important;gap:clamp(32px,4vw,64px)!important;}
 body.c28-site[data-c28-project="alto-dombay-resort.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,calc(var(--c33-image-ratio) * 660px))!important;}
 body.c28-site[data-c28-project="alto-dombay-resort.ru"] .c36-architecture-scene .c23-intro {margin-bottom:32px;}
 body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,calc(var(--c33-image-ratio) * 540px))!important;}
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;gap:40px!important;align-items:center!important;}
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] > .c23-scenarios {grid-column:2!important;grid-row:1!important;grid-template-columns:1fr!important;align-self:center!important;padding-block:30px!important;}
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] > figure[data-c36-cutout] {grid-column:1!important;grid-row:1!important;width:calc(100% + var(--gutter))!important;margin-inline:calc(-1 * var(--gutter)) 0!important;}
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:100%!important;}
 body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c36-architecture-scene .c23-scenario h3 {font-size:clamp(23px,1.9vw,29px);}
}
/* A photographic scene supports the figures in the same row. */
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair > .c23-wrap {display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)!important;gap:32px 54px!important;align-items:stretch;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-intro {grid-column:1/-1!important;grid-row:1!important;margin-bottom:0!important;max-width:1100px;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact-grid {grid-column:2!important;grid-row:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-content:stretch;gap:24px 28px!important;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact {padding-top:20px!important;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact strong {font-size:clamp(45px,4.5vw,70px)!important;line-height:1.15;min-height:0!important;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact strong.c23-value-long {font-size:clamp(29px,2.7vw,44px)!important;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact h3 {font-size:18px;line-height:1.3;margin-top:16px;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact p {font-size:15px;line-height:1.6;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-numbers-visual {grid-column:1!important;grid-row:2!important;max-width:none!important;width:100%!important;height:100%!important;min-height:370px!important;margin:0!important;position:relative;align-self:stretch;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c35-context-window {aspect-ratio:auto!important;height:100%!important;position:absolute;inset:0;}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-numbers-visual > img {width:100%!important;height:100%!important;position:absolute;inset:0;object-fit:cover;}
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] main > .c23-section.c23-numbers.c38-numbers-pair > .c23-wrap {grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)!important;}
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] main > .c23-section.c23-numbers.c38-numbers-pair .c23-numbers-visual {grid-column:2!important;}
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact-grid {grid-column:1!important;}
/* Quiet section artwork keeps the building as the dominant form. */
body.c28-site[data-c28-project] :is(.c37-project-editorial,main > .c23-section.c23-numbers.c38-numbers-pair) {position:relative;}
body.c28-site[data-c28-project="a45-resort.ru"] [data-kfu="scenarios"] > .c28-scenery,
body.c28-site[data-c28-project="alto-dombay-resort.ru"] [data-kfu="scenarios"] > .c28-scenery,
body.c28-site[data-c28-project="yuzhny-briz-yalta.ru"] :is([data-kfu="project"],[data-kfu="scenarios"]) > .c28-scenery,
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] :is([data-kfu="scenarios"],[data-kfu="numbers"]) > .c28-scenery,
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair > .c28-scenery {opacity:.24;}
@media(max-width:1099px) and (min-width:801px) {
 body.c28-site[data-c28-project] .c37-project-editorial[data-count="1"] figure {gap:28px!important;grid-template-columns:1fr 1fr!important;}
 body.c28-site[data-c28-project] .c37-project-editorial figcaption h3 {font-size:25px;}
 body.c28-site[data-c28-project] .c37-project-editorial figcaption p {font-size:16px;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair > .c23-wrap {gap:28px!important;grid-template-columns:1fr 1fr!important;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact-grid {gap:20px 18px!important;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact strong {font-size:52px!important;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact strong.c23-value-long {font-size:30px!important;}
}
@media(max-width:800px) {
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair > .c23-wrap {grid-template-columns:1fr!important;gap:26px!important;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-intro {grid-column:1!important;grid-row:1!important;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact-grid {grid-column:1!important;grid-row:2!important;gap:24px 18px!important;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-numbers-visual {grid-column:1!important;grid-row:3!important;height:250px!important;min-height:0!important;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact strong {font-size:55px!important;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact strong.c23-value-long {font-size:31px!important;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact h3 {font-size:17px;}
 body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-fact p {font-size:14px;}
 body.c28-site[data-c28-project="alto-dombay-resort.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,calc(var(--c33-image-ratio) * 470px))!important;}
}

body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c23-numbers-visual > svg {display:block;position:absolute;inset:0;width:100%;height:100%;}

body.c28-site[data-c28-project="a45-resort.ru"] [data-kfu="project"] .c28-scenery {opacity:.2!important;}
body.c28-site[data-c28-project="yuzhny-briz-yalta.ru"] :is([data-kfu="project"],[data-kfu="scenarios"]) .c28-scenery {opacity:.2!important;}
body.c28-site[data-c28-project="alto-dombay-resort.ru"] [data-kfu="scenarios"] .c28-scenery {opacity:.2!important;}
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] :is([data-kfu="scenarios"],[data-kfu="numbers"]) .c28-scenery {opacity:.18!important;}

body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair {padding-bottom:56px!important;}

body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] .c38-numbers-pair .c23-numbers-visual > img {object-position:85% 50%!important;}
@media(min-width:801px) {
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene > .c23-wrap {display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;gap:clamp(30px,4vw,64px)!important;align-items:center;}
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene .c23-intro {grid-column:1;grid-row:1;max-width:none!important;margin:0!important;padding-block:24px 44px;}
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene .c23-intro h2 {font-size:clamp(32px,3.5vw,58px);max-width:20ch;}
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene .c23-intro .c23-lead {font-size:17px;line-height:1.7;max-width:60ch;}
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene .c23-gallery {grid-column:2;grid-row:1;align-self:end;}
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene[data-c36-architecture] figure[data-c36-cutout] {width:calc(100% + var(--gutter))!important;margin-inline:0 calc(-1 * var(--gutter))!important;margin-top:0!important;}
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene figure[data-c36-cutout] .c36-source-silhouette {width:min(100%,1180px)!important;margin-inline:auto 0!important;}
}
@media(min-width:801px) and (max-width:1099px) {
 body.c28-site[data-c28-project="katuna-start.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout],
 body.c28-site[data-c28-project="kedrovy-sheregesh.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout],
 body.c28-site[data-c28-project="sunset-krym.ru"] .c36-architecture-scene .c33-scenario-composition[data-c36-layout] {grid-template-columns:1fr!important;gap:24px!important;}
 body.c28-site:is([data-c28-project="katuna-start.ru"],[data-c28-project="kedrovy-sheregesh.ru"],[data-c28-project="sunset-krym.ru"]) .c36-architecture-scene .c33-scenario-composition[data-c36-layout] > .c23-scenarios {grid-column:1!important;grid-row:1!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;padding-block:0!important;align-items:start;}
 body.c28-site:is([data-c28-project="katuna-start.ru"],[data-c28-project="kedrovy-sheregesh.ru"],[data-c28-project="sunset-krym.ru"]) .c36-architecture-scene .c33-scenario-composition[data-c36-layout] > figure[data-c36-cutout] {grid-column:1!important;grid-row:2!important;width:calc(100% + var(--gutter)*2)!important;margin-inline:calc(-1 * var(--gutter))!important;}
 body.c28-site:is([data-c28-project="katuna-start.ru"],[data-c28-project="kedrovy-sheregesh.ru"],[data-c28-project="sunset-krym.ru"]) .c36-architecture-scene .c33-scenario-composition[data-c36-layout] .c36-source-silhouette {width:min(100%,calc(var(--c33-image-ratio) * 360px))!important;}
 body.c28-site:is([data-c28-project="katuna-start.ru"],[data-c28-project="kedrovy-sheregesh.ru"],[data-c28-project="sunset-krym.ru"]) .c36-architecture-scene .c33-scenario-composition .c23-scenario {grid-template-columns:26px minmax(0,1fr);gap:10px;}
 body.c28-site:is([data-c28-project="katuna-start.ru"],[data-c28-project="kedrovy-sheregesh.ru"],[data-c28-project="sunset-krym.ru"]) .c36-architecture-scene .c23-scenario h3 {font-size:22px;}
 body.c28-site:is([data-c28-project="katuna-start.ru"],[data-c28-project="kedrovy-sheregesh.ru"],[data-c28-project="sunset-krym.ru"]) .c36-architecture-scene .c23-scenario p {font-size:15px;line-height:1.6;}
}

body.c28-site[data-c28-project] .c38-numbers-pair .c23-numbers-visual:has(.c38-roi-plane) {container-type:size;overflow:hidden;}
body.c28-site[data-c28-project] .c38-roi-plane {position:absolute;display:block;top:50%;left:50%;width:100%;aspect-ratio:var(--c38-ratio);transform:translate(-50%,-50%);overflow:hidden;}
@supports(width:1cqw) {body.c28-site[data-c28-project] .c38-roi-plane {width:max(100cqw,calc(100cqh * var(--c38-ratio)));}}
body.c28-site[data-c28-project] main > .c23-section.c23-numbers.c38-numbers-pair .c38-roi-plane > img {position:absolute;display:block;left:var(--c38-source-left);top:var(--c38-source-top);width:var(--c38-source-width)!important;height:var(--c38-source-height)!important;max-width:none!important;max-height:none!important;object-fit:fill!important;transform:none!important;animation:none!important;}
@media(min-width:801px) {
 body.c28-site[data-c28-project="dolina-aina-sakhalin.ru"] .c36-architecture-scene[data-c36-architecture] > .c23-wrap > figure[data-c36-cutout] {grid-column:2!important;grid-row:1!important;}
}
body.c28-site[data-c28-project="zhk-atlant-sevastopol.ru"] main > .c23-section.c23-numbers.c38-numbers-pair .c23-numbers-visual > img {object-fit:cover!important;object-position:85% 50%!important;}
