/* Content must fit the viewport before decorative clipping is considered. */
.hero-copy,.intro-grid>* , .direction-card,.story-content,.team-card,.article-card,.contact-layout>*,.form-row>label{min-width:0}
h1,h2,h3,.story-chapter summary,.album-links a{overflow-wrap:break-word}
select:focus-visible{outline:3px solid #8baf27;outline-offset:4px}
@media(max-width:1320px){
  .menu-button{width:44px;height:44px;align-items:center;flex-shrink:0;padding:0}
  .site-language{min-height:44px}
  .site-header nav{top:100%;max-height:calc(100dvh - 104px);overflow-y:auto;overscroll-behavior:contain;padding:12px 30px 20px;gap:0;box-shadow:0 18px 25px #173e3510}
  .site-header nav a{display:flex;align-items:center;width:100%;min-height:48px;padding:10px 0;border-bottom:1px solid var(--line)}
  .site-header nav a:after{display:none}
}
@media(max-width:900px){
  .wrap{width:calc(100% - 48px)}
  .hero{grid-template-columns:1fr;gap:36px;padding-block:40px 60px;min-height:0}
  .hero-copy{max-width:650px}
  html .hero h1{font-size:clamp(48px,8.5vw,72px);letter-spacing:-2.8px}
  html[lang=ru] .hero h1{font-size:clamp(38px,7.5vw,64px)}
  .hero-description{font-size:16px;max-width:560px}
  .hero-visual{width:min(100%,520px);height:440px;margin:0 auto}
  .main-photo{height:390px;left:32px;right:15px}
  .orbit-seal{left:6px;top:12px}
  .inset-photo{left:8px;bottom:0}
  .intro-grid{grid-template-columns:1fr;gap:12px}
  .intro-text{min-height:0}
  .section-heading{gap:24px}
  .direction-grid{grid-template-columns:1fr}
  .direction-card{padding:28px}
  .direction-card .card-top{margin-bottom:24px}
  .direction-card p{min-height:0;font-size:16px}
  .direction-people{align-items:flex-start;flex-direction:column;gap:10px}
  .contact-layout{grid-template-columns:1fr;gap:32px}
  .contact-layout>div{max-width:620px}
  .form-row{grid-template-columns:1fr 1fr;gap:24px}
  .social-links{flex-wrap:wrap;gap:4px 16px}
  .social-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
  .album-links{flex-wrap:wrap}
  .album-links a{min-height:44px}
}
@media(max-width:650px){
  html{scroll-padding-top:88px}
  .wrap{width:calc(100% - 40px)}
  .site-header{height:72px;padding-inline:16px;gap:8px}
  .site-header .brand{gap:7px;min-width:0;flex-shrink:1}
  .site-header .brand img{width:32px;height:32px;flex-shrink:0}
  .site-header .brand>span{font-size:21px;letter-spacing:-1px}
  .site-header .brand small{max-width:100px;font-size:7px;letter-spacing:.7px;line-height:1.3}
  .site-language{width:100px;min-width:0;max-width:100px;padding:8px 4px;font-size:12px}
  .site-header nav{max-height:calc(100dvh - 72px);padding-inline:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .section,.story{padding-block:56px}
  .section-top{gap:16px;align-items:flex-start;margin-bottom:28px}
  .section-top .eyebrow{flex:1;line-height:1.6}
  .section-note{max-width:42%;font-size:11px;line-height:1.6}
  html h2,html:not([lang=en]) h2,html .contact h2,html .story-heading h2,html:not([lang=en]) .story-heading h2{font-size:clamp(32px,9vw,48px);line-height:1.15;letter-spacing:-1.5px;overflow-wrap:anywhere}
  .hero{padding-top:30px;padding-bottom:40px;gap:30px}
  html .hero h1{font-size:clamp(43px,12vw,64px);line-height:1.08;letter-spacing:-2px;margin:22px 0}
  html[lang=ru] .hero h1{font-size:clamp(33px,9.7vw,54px);letter-spacing:-1.6px}
  html[lang=uz] .hero h1{font-size:clamp(39px,10.5vw,58px);letter-spacing:-1.6px}
  .hero .eyebrow{font-size:9px;letter-spacing:.6px;gap:8px;line-height:1.7}
  .hero-description{line-height:1.7;margin-bottom:20px}
  html .hero-actions{align-items:stretch;gap:8px 16px;margin-top:20px;flex-wrap:wrap}
  .hero-actions .text-link{min-height:48px;font-size:13px;justify-content:center}
  .hero-community{margin-top:18px;gap:10px}
  .hero-community p{font-size:12px;min-width:0}
  .avatars{flex-shrink:0}
  .hero-visual{height:clamp(290px,91vw,390px);width:100%;max-width:430px;margin-inline:auto}
  .main-photo{height:85%;left:24px;right:10px;border-radius:135px 135px 16px 16px}
  .orbit-seal{width:88px;height:88px;left:0;top:8px}
  .orbit-seal>span{font-size:38px}
  .inset-photo{width:56%;max-width:220px;left:10px;bottom:0}
  .inset-photo img{height:auto;aspect-ratio:1.75}
  .inset-photo figcaption{font-size:10px;gap:6px;padding:8px 3px}
  .photo-label{gap:10px;font-size:7px;letter-spacing:.8px;left:18px;right:18px;bottom:20px}
  .photo-label span:last-child{white-space:nowrap}
  .visual-cross{font-size:32px;bottom:2px;right:8px}
  .language-tabs{gap:5px}
  .language-tabs button{min-height:44px;padding:9px 14px;font-size:13px}
  .stats{gap:24px 0}
  .stats strong{font-size:38px}
  .stats span{font-size:12px;display:block;line-height:1.5}
  .direction-card{padding:24px;border-radius:14px}
  .direction-card a{min-height:48px;padding-top:16px;margin-top:22px}
  .direction-people p{line-height:2;margin-top:0}
  .story-heading{margin-bottom:32px}
  .story-stage{padding:0 16px 108px 0}
  .story .story-portrait{height:clamp(350px,105vw,470px);border-top-left-radius:100px}
  .story .story-caption{left:20px;right:18px;bottom:25px}
  .story .story-caption h3{font-size:clamp(29px,8vw,37px)}
  .story .story-caption span{font-size:10px;line-height:1.5}
  .story-year{right:0;top:22px;width:112px;padding:14px 7px}
  .story-year strong{font-size:38px}
  .story-year span{font-size:9px}
  .story-memory{width:53%;right:8px;bottom:0}
  .story-memory figcaption{font-size:9px}
  .story-layout{gap:32px}
  html .story-quote,html:not([lang=en]) .story-quote{font-size:23px;line-height:1.5}
  .chapter-body{padding-left:0}
  .story .story-accordions:before{display:none}
  .story .story-chapter summary{gap:12px;font-size:16px;min-height:76px}
  .story .story-num{width:38px;height:38px;flex-basis:38px}
  .story .story-accordions .chapter-body p{font-size:16px;line-height:1.8}
  .story-cta{width:100%;gap:16px;text-align:center;white-space:normal}
  .team-grid{gap:28px 16px}
  .team-card h3{font-size:18px}
  .team-card>p{font-size:13px;min-height:0;line-height:1.6}
  .article-card{gap:12px;padding-block:22px}
  .article-card h3{font-size:18px;line-height:1.45}
  .article-card .article-arrow{width:34px;height:34px}
  .round-button{width:44px;height:44px;flex-shrink:0}
  .gallery-controls{gap:8px}
  .gallery-item{flex-basis:90%;height:auto;aspect-ratio:1.3}
  .gallery-track{overscroll-behavior-x:contain}
  .album-links{gap:8px 20px}
  .form-row{grid-template-columns:1fr;gap:0}
  .contact label{font-size:13px}
  .contact input,.contact textarea{min-width:0;min-height:48px;font-size:16px;line-height:1.5;padding:14px 0;margin-bottom:24px}
  .form-bottom{flex-direction:column;gap:12px}
  .form-bottom #form-status:empty{display:none}
  .form-bottom #form-status{max-width:100%;font-size:14px}
  .form-bottom .button{width:100%;min-height:52px}
  .site-footer{gap:20px;padding-block:28px}
  .site-footer .brand{width:auto}
  .site-footer .brand small{font-size:7px;letter-spacing:1px;max-width:145px;line-height:1.5}
  .site-footer>div{gap:20px;border-top:1px solid var(--line);padding-top:12px}
  .site-footer button,.site-footer .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
  dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:12px 20px 24px;overscroll-behavior:contain;border-radius:18px}
  .dialog-close{position:sticky;display:block;top:0;right:auto;margin:0 -8px 0 auto;width:44px;height:44px;background:var(--paper);z-index:2}
  html[lang] dialog h2{font-size:clamp(24px,6.6vw,30px);line-height:1.25;overflow-wrap:anywhere;letter-spacing:-.8px;margin-top:16px}
  dialog p{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
  dialog .dialog-category{letter-spacing:1px;font-size:10px}
  dialog .article-original-icon{width:52px;height:52px;margin-left:15px}
  .js .reveal{transform:translateY(14px);transition-duration:.55s}
  .js .reveal.visible{transform:none}
}
@media(max-width:380px){
  .wrap{width:calc(100% - 32px)}
  .site-header{gap:6px;padding-inline:12px}
  .site-header .brand img{width:28px;height:28px}
  .site-header .brand>span{font-size:20px}
  .site-header .brand small{max-width:80px;font-size:6.5px;letter-spacing:.4px}
  .site-language{width:94px}
  .hero-actions>*{width:100%}
  .team-grid{grid-template-columns:1fr}
  .team-photo{aspect-ratio:1}
  .team-card h3{font-size:21px;margin-top:14px}
  .site-footer{flex-direction:column;align-items:flex-start}
  .story .story-chapter summary{gap:9px}
}
@media(hover:none){
  .direction-card:hover,.button:hover,.story-stage:hover .story-year{transform:none}
  .team-card:hover img,.gallery-item:hover img,.main-photo:hover>img{transform:none}
}
@media(prefers-reduced-motion:reduce){.js .reveal{transform:none;transition:none}}
