/* Adaptive release: keep the established visual system and resolve its cascade. */
html{scrollbar-gutter:stable}
.hero{background:var(--dark);padding-bottom:48px}
.hero-photo figcaption{color:var(--line)}
.technology .eyebrow{color:var(--line)}
.service-row,.service-row:nth-child(2),.service-row:nth-child(3){grid-template-columns:minmax(0,1fr) 32px}
.mechanism{display:block;min-width:0}
.tech-main>* ,.section-intro>* ,.works-intro>* ,.company-row>*{min-width:0}
.scene-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.scene-tabs>button{white-space:normal;overflow-wrap:break-word}
.languages button{min-width:40px;min-height:44px;opacity:.85}
.map-marker{min-width:44px;min-height:44px}
.gallery-arrow,.lightbox-close{width:44px;height:44px}
.gallery-controls{flex-wrap:wrap}
.gallery-thumbs{flex-shrink:0}
.gallery-thumb{min-width:44px;min-height:44px}
.well-list button{white-space:normal;overflow-wrap:break-word;min-height:44px}
.project-dialog,.gallery-lightbox{overscroll-behavior:contain}
.project-close{position:sticky;grid-column:1/-1;top:12px;float:right;margin:12px 12px -56px auto}
.project-card{display:block}
.project-visual{float:left;width:50%;min-height:640px}
.project-copy{margin-left:50%;min-height:640px}
.project-card:after{content:'';display:block;clear:both}
.project-copy h2,.project-location{overflow-wrap:anywhere}
.partner-river:hover .partners-track,.partner-river:focus-within .partners-track{animation-play-state:paused}
@media(min-width:1100px) and (max-height:899px){
  .technology-scroll{height:auto}
  .tech-screen{position:relative;top:auto}
}
@media(min-width:901px) and (max-width:1150px){
  html:not([lang="ru"]) .hero-lead,.hero-lead{max-width:440px}
  .hero-subtitle{max-width:440px}
  html[lang="en"] .hero h1>span{font-size:5.1vw}
  html[lang="en"] .hero h1>strong{font-size:7.4vw}
  html[lang="es"] .hero h1>span,html[lang="es"] .hero h1>strong{font-size:6.4vw}
}
@media(max-width:760px){
  .gallery-expand{top:auto;bottom:10px;right:10px}
  .project-visual{float:none;width:100%;min-height:0;padding:20px}
  .project-copy{margin-left:0;min-height:0;padding:24px}
  .project-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
  #project-photo{height:clamp(180px,32vh,300px)}
  .gallery-controls{flex-wrap:nowrap}
  .project-card-footer{flex-wrap:wrap}
}
@media(max-width:700px){
  .hero{padding-bottom:48px}
  .hero-inner{min-height:0;padding-bottom:0}
  .hero h1>span{white-space:normal;overflow-wrap:break-word}
  .hero-actions{gap:16px;margin-top:40px}
  .hero-subtitle{margin-top:36px}
  .hero-lead{margin-top:28px}
  .hero-visual{margin-top:48px;margin-bottom:0}
  .hero-photo figcaption{margin-top:28px;min-height:0}
  .mechanism h3{font-size:clamp(23px,6.5vw,29px)}
  .service-row h3{font-size:clamp(21px,5.6vw,26px)}
  .scene-tabs>button{padding-left:6px;padding-right:6px;font-size:12px}
  .header-actions>.languages{bottom:2px;right:24px;display:flex}
  .header-actions .languages button{min-width:40px;min-height:44px;display:block}
  .header-inner{padding-bottom:46px;min-height:138px}
  .site-header.is-fixed .header-inner{padding-bottom:44px;min-height:124px}
  .main-nav{height:calc(100dvh - 138px);padding:20px 24px}
  .site-header.is-fixed .main-nav{height:calc(100dvh - 124px)}
  .main-nav>a{font-size:clamp(21px,5.8vw,26px)}
  .map-board{margin-left:0;margin-right:0}
  /* Compact map pins have equivalent full-size controls in the location list. */
  .map-marker{min-width:27px;min-height:35px;width:27px;height:35px;padding:4px 5px}
  .map-marker img{width:15px;height:25px}
  .contact-email{font-size:clamp(17px,5.3vw,25px);gap:8px}
  .footer{gap:20px}
  .footer .languages{gap:4px}
  .footer .languages button{min-height:44px}
  .gallery-controls{flex-wrap:wrap;gap:6px}
  .gallery-thumbs{gap:6px}
  .gallery-thumb{width:44px;height:44px}
  :root{--header:124px}
}
@media(max-width:360px){
  .header-actions>.languages{right:20px}
  .project-gallery{padding:12px}
  .project-copy{padding:20px 16px 16px}
  .gallery-controls{column-gap:4px}
  .gallery-thumbs{gap:4px}
}
@media(max-height:500px) and (max-width:1150px){
  .site-header .header-inner{min-height:76px;padding-top:6px;padding-bottom:6px;align-items:center}
  .site-header .brand{flex-basis:156px;padding:4px 8px}
  .site-header .brand img{width:140px;height:auto}
  .header-actions>.languages{position:static;display:flex}
  .header-actions{gap:8px}
  .main-nav,.site-header.is-fixed .main-nav{height:calc(100dvh - 76px);padding:12px 24px}
  .main-nav>a{font-size:20px;padding:8px 0}
  .main-nav .mobile-contact{margin-top:8px}
  .scroll-rail{top:100px}
  :root{--header:76px}
}
@media(prefers-reduced-motion:reduce){
  .technology-scroll{height:auto!important}
  .tech-screen{position:relative!important;top:auto!important}
}
