body{margin:0;background:#0E0E10}
*{box-sizing:border-box}
img{max-width:100%}
a{color:#F6F2EA;text-decoration:none}a:hover{color:#F2A93B}
input::placeholder{color:#7E786E}
@media (max-width: 768px){
  section{padding-top:64px!important;padding-bottom:64px!important;padding-left:16px!important;padding-right:16px!important}
  .site-header{padding:0 16px!important}
  .site-nav{gap:16px!important;font-size:14px!important;overflow-x:auto;flex-wrap:nowrap!important;white-space:nowrap}
  .site-logo{height:72px!important}
  .site-actions{width:100%;justify-content:space-between}
  .footer-logo{height:64px!important}
  .footer-slogan{font-size:22px!important}
  h1{font-size:38px!important}
  h2{font-size:26px!important}
  [style*="grid-column: span 2"]{grid-column:auto!important}
  [style*="grid-template-columns: 2fr 1fr"]{grid-template-columns:1fr!important}
  [style*="height: 420px"]{height:240px!important}
  [style*="min-height: 520px"]{min-height:320px!important}
  [style*="minmax(340px"],[style*="minmax(320px"],[style*="minmax(300px"],[style*="minmax(280px"],[style*="minmax(260px"]{grid-template-columns:1fr!important}
  [style*="width: 760px; height: 760px"]{width:420px!important;height:420px!important;right:-160px!important;top:-180px!important}
  form{padding:24px!important}
}

/* Admin-managed landing content can have longer names and missing images. */
.landing-project-grid,
.landing-project-card,
.landing-project-card-content,
.landing-project-facts > *,
.landing-completed-card,
.landing-completed-photos > *,
.landing-completed-content,
.landing-completed-tags > *,
.landing-gallery-item,
.landing-review-card,
.landing-review-attribution{min-width:0;overflow-wrap:anywhere}
.landing-completed-photos-single{grid-template-columns:1fr!important}
.landing-completed-card:nth-child(even) .landing-completed-photos{order:2}
.landing-completed-card:nth-child(even) .landing-completed-content{order:1}
.landing-gallery-item-wide{grid-column:span 2}
.landing-gallery-caption{max-width:calc(100% - 28px);overflow-wrap:anywhere}
.landing-empty{grid-column:1/-1}
.landing-request,.landing-stages,.landing-completed-projects,.landing-reviews{position:relative}
.landing-legacy-anchor{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;pointer-events:none}
@media (max-width:768px){
  .landing-gallery-item-wide{grid-column:auto}
}

/* Native anchor navigation keeps URLs and keyboard behavior intact. */
html{scroll-behavior:smooth;scroll-padding-top:var(--landing-scroll-offset,24px)}
.landing-page :is(a,button,input,select):focus-visible{outline:2px solid #F2A93B;outline-offset:4px}
.landing-page :is(a,button){-webkit-tap-highlight-color:rgba(242,169,59,.25)}
.landing-page a{transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}
.landing-page button{transition:background-color .18s ease,box-shadow .18s ease}
.landing-page :is(a,button):active{box-shadow:inset 0 0 0 2px rgba(242,169,59,.65)}
.landing-page a[style*="background: #F2A93B"]:active,
.landing-request button:active{background:#DB922B!important;color:#0E0E10!important}
@media (hover:hover){
  .landing-page a:not([style*="background: #F2A93B"]):hover{color:#F2A93B!important}
  .landing-page a[style*="background: #F2A93B"]:hover,
  .landing-request button:hover{background:#FFC163!important;color:#0E0E10!important}
  .landing-geography a[href="#zayavka"]:hover{background-color:rgba(242,169,59,.12);box-shadow:0 0 0 1px #F2A93B}
}

/* Markup stays visible unless JavaScript successfully enables reveals. */
.landing-reveal-enabled .reveal{
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--reveal-delay,0s);
}
.landing-reveal-enabled .reveal:not(.is-visible){opacity:0;transform:translateY(24px);filter:blur(6px)}
.landing-reveal-enabled .reveal.is-visible{opacity:1;transform:none;filter:none}
@media (max-width:768px){
  .landing-page a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;max-width:100%}
  .site-nav{padding:4px 0;scrollbar-width:thin;scrollbar-color:#F2A93B #1C1C20}
  .site-nav a{flex-shrink:0}
  .landing-page button{min-height:44px;min-width:44px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .landing-page :is(a,button),.landing-reveal-enabled .reveal{transition:none!important;transition-delay:0s!important}
  .landing-reveal-enabled .reveal:not(.is-visible){opacity:1;transform:none;filter:none}
}

/* Preserve the video's own proportions instead of stretching to the form. */
.landing-video-card{margin:0;min-width:0;align-self:start;border:1px solid #34343A;border-radius:14px;background:#1C1C20;overflow:hidden}
.landing-video-frame{position:relative;aspect-ratio:16/9;background:#1C1C20}
.landing-video-frame video{display:block;width:100%;height:100%;object-fit:contain}
.landing-video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:88px;height:88px;border:0;border-radius:50%;background:#F2A93B;color:#0E0E10;cursor:pointer;box-shadow:0 4px 24px #0005}
.landing-video-play svg{margin-left:4px;pointer-events:none}
.landing-video-play[hidden],.landing-video-error[hidden]{display:none}
.landing-video-caption{padding:24px;text-align:left;font:400 15px/22px 'Manrope',sans-serif;color:#A39C90}
.landing-video-label{font:700 12px/16px 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#F2A93B}
.landing-video-caption p{margin:12px 0 0}
.landing-video-error{margin:0;padding:0 24px 24px;font:400 13px/19px 'Manrope',sans-serif;color:#A39C90}
.landing-video-error a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:768px){.landing-video-caption{padding:20px}.landing-video-play{width:72px;height:72px}}

/* The external form owns its fields; the shell keeps the landing layout. */
.landing-page .landing-form-card { min-width: 0; border: 1px solid #34343A; border-radius: 14px; background: #1C1C20; overflow: hidden; }
.landing-page .landing-form-intro { margin: 0; padding: 28px 24px 8px; font: 500 18px/28px 'Manrope', sans-serif; }
.landing-page .landing-yandex-form { display: block; width: 100%; max-width: 100%; border: 0; background: #1C1C20; }
.landing-page .landing-form-help, .landing-page .landing-form-unavailable { margin: 0; padding: 8px 24px 20px; font: 400 13px/19px 'Manrope', sans-serif; color: #A39C90; }
.landing-page .landing-form-help a, .landing-page .landing-form-unavailable a { color: #F6F2EA; }
@media (max-width: 768px) {
  .landing-page .landing-form-intro { padding: 24px 16px 8px; }
  .landing-page .landing-form-help, .landing-page .landing-form-unavailable { padding-left: 16px; padding-right: 16px; }
}
