/* Мобильная версия утверждённой страницы. Десктопные композиции сохранены. */
.social-footer .footer-top{
 display:block;align-self:end;justify-self:end;width:104px;min-width:44px;min-height:44px;
 padding:0;line-height:0;grid-column:3;
}
.footer-top .footer-mascot{width:100%;height:auto}
.footer-top:focus-visible{outline:2px solid var(--accent);outline-offset:8px}
.conversation>.conversation-note{width:48%;max-width:600px}
body:has(.strip-viewer[open]) .music-toggle{visibility:hidden}
@media(max-width:899px){
 :root{--page-gutter:40px;--body-size:21px;--section-space:72px;--paragraph-gap:32px}
 .intro-sequence{--phone-scene-h:var(--intro-h,100svh)}
 .intro-sequence:not(.enhanced){--phone-scene-h:max(640px,100svh)}
 .phone-screen{min-height:var(--phone-scene-h)}
 .phone-canvas{width:min(calc(var(--phone-scene-h) * 1.596774193548387),calc((100vw - 32px) * 3.2))}
 .phone-background{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0,#000 4%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%),linear-gradient(180deg,transparent 0,#000 4%,#000 92%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
 .chat-header{font-size:17px;gap:10px;padding-bottom:12px}
 .chat-avatar{width:42px;height:42px;flex-basis:42px}
 .chat-text{font-size:18px}
 /* Жест идёт странице; прокрутка сообщения при появлении фото остаётся программной. */
 .intro-sequence.enhanced .chat-messages{overflow:hidden}
 .text-message{padding:16px 14px}
 .author-layout{padding-block:32px;gap:20px}
 .photo-target{width:min(68%,240px)}
 .intro-sequence:not(.enhanced) .chat-messages{display:flex;flex-direction:column;overflow:hidden}
 .intro-sequence:not(.enhanced) .text-message{flex:none;padding:12px 10px}
 .intro-sequence:not(.enhanced) .chat-text{font-size:17px;line-height:1.3}
 .intro-sequence:not(.enhanced) .photo-message{flex:1;min-height:0;padding:0}
 .intro-sequence:not(.enhanced) .photo-source{height:100%;width:auto;max-width:100%;aspect-ratio:600/645;margin-inline:auto}
 .intro-sequence:not(.enhanced) .author-screen{min-height:0}
 .intro-sequence:not(.enhanced) .author-layout{padding-block:48px}
 .program.story-program{padding-top:var(--section-space)}
 .section.connection,.story-program+.connection{padding-top:var(--section-space)}
 .connection-portrait{width:calc(100% + 2 * var(--page-gutter));margin-left:calc(-1 * var(--page-gutter));height:auto;aspect-ratio:3/2;margin-bottom:24px}
 .connection-portrait img{position:static;width:100%;height:auto;max-width:100%;transform:none}
 .connection-text{padding:0}
 .section.conversation{padding-block:var(--section-space) 0}
 .conversation-text{width:100%;max-width:none}
 .conversation-audience{width:calc(100% + 2 * var(--page-gutter));margin:28px calc(-1 * var(--page-gutter)) 0}
 .conversation>.conversation-note{width:100%;max-width:none;margin-top:28px}
 .section.schedule{padding-block:var(--section-space)}
 .schedule .schedule-intro{font-size:26px}
 .schedule .date-list{row-gap:32px;column-gap:32px}
 .closing{padding-block:var(--section-space) 80px}
 .closing .closing-line{font-size:clamp(36px,5.6vw,52px);line-height:1.14}
 .closing .signature{font-size:34px}
 .closing .contact-link{font-size:20px}
 .social-footer{grid-template-columns:minmax(0,1fr) 84px;gap:28px 24px;padding:36px 0 84px}
 .footer-project{grid-column:1/-1}
 .social-footer h2{min-height:0}
 .social-footer .footer-top{width:84px;grid-column:2;grid-row:2}
 .footer-logo{width:240px}
 .footer-top .footer-mascot{width:100%}
 .music-toggle{width:44px;height:44px;top:auto;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}
 .strip-viewer{width:100%;height:100dvh;max-height:none;max-width:none;margin:0}
 .strip-viewer-bar{padding:calc(12px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) 12px}
 .strip-viewer-stage{padding:calc(64px + env(safe-area-inset-top,0px)) 12px 16px}
 .strip-viewer-nav{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:599px){
 :root{--page-gutter:24px;--body-size:20px;--section-space:56px;--paragraph-gap:28px}
 .author-rule{margin-block:24px}
 .story-program .program-gallery{margin-block:48px}
 .conversation .conversation-phrase{font-size:clamp(34px,8vw,42px);line-height:1.13;margin-block:24px}
 .schedule .schedule-intro{font-size:24px;margin-bottom:32px}
 .schedule .date-list{column-gap:24px;margin-top:0}
 .schedule .date-featured .date-days{font-size:clamp(82px,22vw,132px)}
 .schedule .date-featured .date-month{font-size:clamp(44px,11.6vw,64px)}
 .schedule .date-featured .year{font-size:26px}
 .schedule .date-days{font-size:36px}
 .schedule .date-month{font-size:26px}
 .schedule .year{font-size:21px}
 .schedule .date-list a{gap:8px;padding-top:20px}
 .schedule .date-featured a{gap:16px;padding-top:0}
 .schedule .arrow{width:26px}
 .schedule .date-featured .arrow{width:38px;margin-top:20px}
 .schedule .date-badge{font-size:20px}
 .closing:before{width:80px;margin-bottom:32px}
 .closing .closing-line{font-size:clamp(32px,8.55vw,44px)}
 .closing .signature{font-size:30px;margin-top:32px}
 .closing .contact-link{gap:20px;font-size:19px;margin-top:24px}
 .footer-logo{width:220px}
}
@media(max-width:374px){
 :root{--page-gutter:20px}
 .schedule .date-list{column-gap:20px}
 .schedule .date-days{font-size:31px}
 .schedule .date-month{font-size:24px}
 .schedule .date-featured .year{font-size:25px}
 .social-footer{column-gap:16px}
}
