/* «Машина времени» (/museum/) — тёмная витрина-музей внутри обычной страницы
   сайта: шапка, подвал, og-теги и метрика приходят из общего шаблона
   (build_museum), а этот файл оформляет только <main class="museum-shell">.
   Все правила скоупятся под .museum-shell, чтобы не спорить с сайтовым
   бандлом; классы, которые есть и в бандле (hero, section, tag), у музея
   с префиксом mu-. Палитра прототипа ББШ: тёмно-синий, золото, бумага. */
.museum-shell h1,.museum-shell h2,.museum-shell h3{font-family:inherit;max-width:none;color:inherit;overflow-wrap:normal}
.museum-shell{color-scheme:dark;--navy:#081726;--gold:#eecb54;--paper:#f6f4e9;--muted:#bac6d0;--hair:rgba(255,255,255,.20)}
.museum-shell *{box-sizing:border-box}
.museum-shell{margin:0;background:var(--navy);color:#fff;font-family:Inter,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
.museum-shell button,.museum-shell input{font:inherit}
.museum-shell a{color:inherit}
.museum-shell button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.museum-shell button:focus-visible,.museum-shell input:focus-visible,.museum-shell a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.museum-shell .museum{min-height:calc(100svh - 64px);position:relative;isolation:isolate;overflow:hidden;background:#14232d}
.museum-shell .backdrop{position:absolute;inset:0;z-index:-4;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.09);opacity:.78;transition:opacity .4s}
.museum-shell .backdrop[hidden]{display:none}
.museum-shell .museum:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,21,.94) 0,rgba(4,12,21,.68) 38%,rgba(4,12,21,.35) 73%,rgba(4,12,21,.60) 100%),linear-gradient(0deg,rgba(4,12,21,.85),transparent 40%);z-index:-3}
.museum-shell .rulings{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(14.285% - 1px),rgba(255,255,255,.085) calc(14.285% - 1px),rgba(255,255,255,.085) 14.285%);z-index:-2}
.museum-shell .grain{position:absolute;inset:0;pointer-events:none;opacity:.19;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.29'/%3E%3C/svg%3E")}
.museum-shell .pill{border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;border-radius:999px;padding:11px 21px;text-decoration:none;font-size:13px;white-space:nowrap}
.museum-shell .pill:hover{border-color:var(--gold);color:var(--gold)}
.museum-shell .mu-hero{display:grid;grid-template-columns:39% 61%;align-items:center;min-height:calc(100svh - 64px);gap:10px;padding:2vh clamp(20px,5vw,80px) 152px}
.museum-shell .intro{position:relative;z-index:4;max-width:500px}
.museum-shell .micro{color:var(--gold);font-weight:800;font-size:14px;letter-spacing:.02em;margin-bottom:24px}
.museum-shell .intro h1{font-weight:950;letter-spacing:-.05em;font-size:clamp(43px,5vw,86px);line-height:.99;margin:0 0 25px}
.museum-shell .intro h1 strong{color:var(--gold)}
.museum-shell .intro p{max-width:425px;font-size:clamp(14px,1.1vw,17px);line-height:1.65;color:#d9e0e4}
.museum-shell .intro .bar{width:40px;height:3px;background:var(--gold);margin:22px 0}
.museum-shell .hint{font-size:14px!important;color:#aebdc7!important;margin:0}
.museum-shell .intro-btns{display:flex;flex-wrap:wrap;gap:11px;margin-top:26px}
.museum-shell .solid{border:1px solid var(--gold);background:var(--gold);color:var(--navy);border-radius:99px;padding:12px 19px;font-weight:800}
.museum-shell .solid:hover{background:#ffe081}
.museum-shell .stage{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:410px;gap:0;padding-left:3vw;isolation:isolate}
.museum-shell .era-card{position:relative;display:flex;flex-direction:column;flex:0 0 clamp(150px,13.8vw,222px);height:265px;padding:0;border:1.5px solid rgba(255,255,255,.52);background:rgba(9,21,32,.6);color:#fff;text-align:left;margin-left:-17px;box-shadow:0 22px 40px rgba(0,0,0,.23);overflow:hidden;transition:transform .25s,box-shadow .25s,background .25s}
.museum-shell .era-card:nth-child(1){transform:translateY(-58px);z-index:1}
.museum-shell .era-card:nth-child(2){transform:translateY(38px);z-index:4}
.museum-shell .era-card:nth-child(3){transform:translateY(-38px);z-index:3}
.museum-shell .era-card:nth-child(4){transform:translateY(35px);z-index:2}
.museum-shell .era-card:hover{z-index:9;box-shadow:0 27px 60px rgba(0,0,0,.45);outline:2px solid var(--gold)}
.museum-shell .era-card .year{display:block;font-weight:950;font-size:clamp(33px,3vw,53px);letter-spacing:-.055em;line-height:1;padding:15px 17px 8px}
.museum-shell .era-card .title{display:block;font-weight:750;font-size:13px;line-height:1.3;padding:0 17px}
.museum-shell .era-card .mini-photo{height:50%;width:100%;margin-top:auto;object-fit:cover;filter:grayscale(1) contrast(1.16)}
.museum-shell .era-card .mini-photo[hidden]{display:none}
.museum-shell .era-card .mini-text{font-size:11px;line-height:1.3;padding:11px 16px;margin-top:auto;color:inherit}
.museum-shell .era-card.is-active{background:var(--gold);border-color:var(--gold);color:#102336;z-index:5}
.museum-shell .era-card.is-active .mini-photo{filter:grayscale(1)}
.museum-shell .era-card.is-light{background:var(--paper);color:#152430;border-color:var(--paper)}
.museum-shell .era-card.is-outline{background:rgba(5,16,28,.4);border-color:var(--gold)}
.museum-shell .timeline{position:absolute;z-index:12;bottom:32px;left:clamp(20px,5vw,80px);right:clamp(20px,5vw,80px);display:flex;align-items:end;gap:18px}
.museum-shell .stepper{display:flex;gap:8px;flex:0 0 auto}
.museum-shell .stepper button{width:42px;height:42px;color:#fff;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.52);border-radius:50%;font-size:22px}
.museum-shell .stepper button:hover{background:var(--gold);color:var(--navy)}
.museum-shell .years{display:flex;flex:1;gap:18px;align-items:center;overflow-x:auto;scrollbar-width:thin;padding-bottom:10px;border-bottom:1px solid var(--hair)}
.museum-shell .year-tab{padding:8px 0;background:none;color:#d0d9de;border:0;font-size:13px;font-weight:700;white-space:nowrap;position:relative}
.museum-shell .year-tab[aria-current=true]{color:var(--gold)}
.museum-shell .year-tab[aria-current=true]:after{content:"";position:absolute;height:3px;background:var(--gold);left:0;right:0;bottom:-12px}
.museum-shell .page-no{white-space:nowrap;color:#c4cbd0;font-size:12px}
.museum-shell .page-no strong{font-size:25px;color:var(--gold)}
.museum-shell .mu-section{padding:clamp(44px,6vw,105px) clamp(20px,6vw,105px)}
.museum-shell .section-label{letter-spacing:.02em;font-size:14px;color:var(--gold);font-weight:850}
.museum-shell .details{background:#071423}
.museum-shell .details a{color:var(--gold)}
.museum-shell .detail-header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}
.museum-shell .detail-header h2{font-size:clamp(32px,4.5vw,68px);line-height:1.04;letter-spacing:-.05em;margin:10px 0 0}
.museum-shell .detail-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,64px);align-items:center}
.museum-shell .feature-figure{margin:0}
.museum-shell .big-photo{width:100%;height:clamp(240px,36vw,500px);object-fit:cover;filter:grayscale(.55);border:1px solid rgba(255,255,255,.2);display:block;background:linear-gradient(135deg,#283d52,#091c30)}
.museum-shell .big-photo[hidden]{display:none}
/* Кадрирование вертикального портрета — от верха, чтобы в рамке оставалось лицо */
.museum-shell img.is-portrait{object-position:50% 0}
.museum-shell .big-photo.is-small{object-fit:scale-down;object-position:50% 50%}
.museum-shell .photo-open{border-radius:0}
.museum-shell .photo-open[hidden]{display:none}
.museum-shell .photo-open.no-zoom{cursor:default}
.museum-shell .photo-open.no-zoom::after{display:none}
.museum-shell .photo-open.no-zoom img{transform:none!important}
.museum-shell .photo-unavailable{display:none;background:linear-gradient(130deg,#213650,#0a1725);border:1px solid rgba(255,255,255,.14);min-height:240px;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;padding:28px}
.museum-shell .photo-unavailable strong{font-weight:900;font-size:clamp(26px,4vw,38px);letter-spacing:-.02em;color:rgba(255,255,255,.28)}
.museum-shell .photo-unavailable span{font-size:13px;line-height:1.55;color:#9fb2c0;max-width:360px}
.museum-shell .photo-unavailable.show{display:flex}
.museum-shell .photo-caption{font-size:12px;color:#b8c6d0;line-height:1.6;padding:12px 0}
.museum-shell .photo-caption a{color:var(--gold)}
.museum-shell .photo-caption .mu-tag{font-size:10px;border:1px solid rgba(255,255,255,.2);padding:4px 7px;display:inline-block;margin-left:8px}
.museum-shell .detail-copy .bigyear{font-size:clamp(65px,10vw,180px);font-weight:950;letter-spacing:-.085em;line-height:1;color:var(--gold)}
.museum-shell .detail-copy p{font-size:clamp(16px,1.5vw,21px);color:#e0e6e9;line-height:1.72}
.museum-shell .detail-copy .source-link{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px;font-size:15px}
.museum-shell .gallery{background:#ebebdf;color:#102336}
.museum-shell .gallery .section-label{color:#637288}
.museum-shell .gallery h2{font-size:clamp(34px,4.8vw,70px);letter-spacing:-.065em;line-height:1;margin:14px 0}
.museum-shell .gallery-desc{max-width:740px;color:#3b4e60;line-height:1.6}
.museum-shell .photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px}
.museum-shell .photo-item{margin:0;background:#fff;box-shadow:0 7px 25px rgba(16,35,54,.09);overflow:hidden;display:flex;flex-direction:column}
.museum-shell .photo-item img{display:block;aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;filter:grayscale(.6);background:#b8c5cc}
.museum-shell .photo-item .photo-text{padding:14px}
.museum-shell .photo-item h3{font-size:15px;margin:0 0 8px}
.museum-shell .photo-item p{font-size:12px;color:#5c6775;line-height:1.5;margin:8px 0}
.museum-shell .photo-item a{color:#133e65;font-size:12px}
.museum-shell .label-rights{font-size:10px;border:1px solid #c8ccd0;border-radius:3px;padding:3px 5px;display:inline-block}
.museum-shell .label-rights.ok{border-color:#9db7b0;color:#316658}
.museum-shell .gallery-pending{max-width:900px;margin:28px 0 0;color:#3b4e60;font-size:14px;line-height:1.7}
.museum-shell .gallery-pending a{color:#133e65}
.museum-shell .details.no-photo .feature-figure{display:none}
.museum-shell .details.no-photo .detail-columns{grid-template-columns:minmax(0,1fr);max-width:900px}
.museum-shell .detail-links{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:8px}
.museum-shell .detail-links[hidden]{display:none}
.museum-shell .detail-links a{color:var(--gold);font-size:15px;text-underline-offset:3px}
.museum-shell .detail-pending{font-size:14px!important;color:#b8c6d0!important;line-height:1.6!important}
.museum-shell .photo-blank{aspect-ratio:4/3;background:#d6d5c9;display:flex;align-items:center;justify-content:center;color:#63717a;font-size:13px;padding:16px;text-align:center;line-height:1.5}
.museum-shell .birthday-section{background:#102536}
.museum-shell .birthday-card{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.museum-shell .birthday-card h2{font-size:clamp(32px,4vw,63px);letter-spacing:-.055em;line-height:1.05;margin:12px 0 18px}
.museum-shell .birthday-card .gold{color:var(--gold)}
.museum-shell .birthday-card p{line-height:1.7;color:#cdd6dc}
.museum-shell .birthday-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.museum-shell .birthday-form label{display:block;margin-bottom:10px;font-size:12px;color:#d9e4eb}
.museum-shell .birthday-form input{width:180px;max-width:100%;background:#f6f4e9;border:0;border-radius:4px;padding:13px 12px;color:#102536;min-height:46px}
.museum-shell .birthday-result{background:rgba(238,203,84,.12);border-left:3px solid var(--gold);padding:13px 15px;margin-top:18px;line-height:1.55;min-height:44px}
.museum-shell .archive-call{margin:16px 0 0;font-size:14px;line-height:1.6;color:#cdd6dc}
.museum-shell .archive-call a{color:var(--gold);font-weight:700}
.museum-shell .museum-note{background:#06121f;padding:28px clamp(20px,6vw,105px);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#9faeb9;font-size:12px}
.museum-shell .museum-note a{color:var(--gold)}
@media(max-width:1180px){
.museum-shell .mu-hero{grid-template-columns:40% 60%}
.museum-shell .stage{min-height:320px}
.museum-shell .era-card{flex-basis:158px;height:230px;margin-left:-29px}
.museum-shell .era-card .year{font-size:37px}
.museum-shell .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
.museum-shell .mu-hero{display:block;padding:50px 25px 180px;min-height:calc(100svh - 64px)}
.museum-shell .intro h1{font-size:clamp(48px,9vw,75px)}
.museum-shell .intro p{max-width:570px}
.museum-shell .stage{margin-top:30px;min-height:285px;justify-content:flex-start;overflow-x:auto;scrollbar-width:thin;padding:24px 0}
.museum-shell .era-card{flex:0 0 165px;margin:0 8px 0 0;height:230px}
.museum-shell .era-card:nth-child(n){transform:none}
.museum-shell .timeline{left:25px;right:25px;bottom:22px;gap:12px}
.museum-shell .timeline .page-no{display:none}
.museum-shell .year-tab{font-size:12px}
.museum-shell .detail-columns{grid-template-columns:1fr}
.museum-shell .detail-copy{order:-1}
.museum-shell .detail-copy .bigyear{font-size:76px}
.museum-shell .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.museum-shell .birthday-card{grid-template-columns:1fr;gap:20px}
}
@media(max-width:520px){
.museum-shell .mu-hero{padding:43px 18px 162px}
.museum-shell .intro h1{font-size:clamp(43px,11vw,65px)}
.museum-shell .intro p{font-size:14px}
.museum-shell .stage{margin-top:25px}
.museum-shell .era-card{flex-basis:165px}
.museum-shell .timeline{left:18px;right:18px}
.museum-shell .stepper button{width:35px;height:35px}
.museum-shell .years{gap:12px}
.museum-shell .photo-grid{grid-template-columns:1fr}
.museum-shell .detail-header{display:block}
.museum-shell .mu-section{padding:50px 18px}
.museum-shell .birthday-form{display:block}
.museum-shell .birthday-form button{margin-top:14px}
.museum-shell .museum-note{padding:24px 18px}
}
@media(prefers-reduced-motion:reduce){
.museum-shell *,.museum-shell *:before,.museum-shell *:after{transition:none!important}
}
