/* Николай Хондзинский — вёрстка по макету KHO_WEB_07.pdf.
   Макет 1440px: контейнер 1160, три колонки по 362 с зазором 38. */

:root{
  --bg:#181313;
  --card:#221e1e;
  --card-hover:#2a2525;
  --ink:#e8e4e4;
  --ink-dim:#a89e9e;
  --ink-muted:#786d6d;
  --accent:#6075d6;
  --line:rgba(120,109,109,0.45);
  --col:362px;
  --gap:38px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',-apple-system,'Segoe UI',Arial,sans-serif;
  font-weight:300;
  line-height:1.35;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

/* 1202 + по 20px паддинга = контент 1162px, как в макете (139…1301). */
.inner{max-width:1202px;margin:0 auto;padding:0 20px;}

/* ---------- Шапка ---------- */
.header{
  position:fixed;top:0;left:0;right:0;z-index:60;
  padding:22px 0;
  transition:background .25s;
}
.header.scrolled{background:rgba(24,19,19,0.92);backdrop-filter:blur(8px);}
.header-inner{display:flex;align-items:center;gap:44px;padding:0 60px;}
.logo{font-size:19px;font-weight:300;color:var(--ink);white-space:nowrap;}
.nav{display:flex;gap:36px;flex:1;}
.nav a{font-size:17px;font-weight:300;color:var(--accent);transition:color .15s;}
.nav a:hover{color:#8b9ce6;}
.nav a.is-active{color:var(--ink);}
/* На внутренних страницах шапка всегда на тёмном фоне. */
.inner-page .header{background:var(--bg);}
.socials{display:flex;align-items:center;gap:18px;}
/* По макету: иконки приглушены, при наведении загораются фирменным цветом. */
.socials a{color:#6f6666;transition:color .18s;}
.socials svg{width:22px;height:22px;fill:currentColor;}
.socials a[aria-label="Telegram"]:hover{color:#2aabee;}
.socials a[aria-label="Facebook"]:hover{color:#1877f2;}
.socials a[aria-label="Instagram"]:hover{color:#e1306c;}
.socials a[aria-label="SoundCloud"]:hover{color:#ff5500;}
.socials a[aria-label="YouTube"]:hover{color:#ff0000;}

/* ---------- Первый экран ---------- */
.hero{height:862px;background:url('../img/hero.jpg') center/cover no-repeat;}

/* ---------- Заголовок внутренней страницы ---------- */
.page-head{padding:150px 0 60px;}
/* «Эхо» из копий заголовка со смещением вниз — как в макете. */
.page-title{position:relative;height:180px;}
.page-title span{
  position:absolute;left:0;top:0;
  font-size:120px;font-weight:200;line-height:1;
  color:var(--accent);white-space:nowrap;
}
.page-title span:nth-child(1){opacity:.28;transform:translateY(-32px);}
.page-title span:nth-child(2){opacity:.45;transform:translateY(-16px);}
.page-title span:nth-child(3){opacity:1;}
.page-title span:nth-child(4){opacity:.45;transform:translateY(16px);}
.page-title span:nth-child(5){opacity:.28;transform:translateY(32px);}

/* ---------- Биография ---------- */
.bio-hero{position:relative;min-height:862px;}
.bio-hero__photo{
  position:absolute;left:0;top:0;width:760px;height:862px;object-fit:cover;object-position:top center;
}
/* Растворение фото вправо и вниз — как в макете. */
.bio-hero::after{
  content:'';position:absolute;left:0;top:0;width:900px;height:862px;pointer-events:none;
  background:
    linear-gradient(to right,rgba(24,19,19,0) 40%,var(--bg) 88%),
    linear-gradient(to bottom,rgba(24,19,19,0) 60%,var(--bg) 100%);
}
.bio-hero__inner{position:relative;z-index:2;padding-top:300px;}
.bio-hero__title{font-size:120px;font-weight:200;line-height:1;color:var(--accent);text-align:right;}
.bio-hero__quote{margin-top:210px;text-align:left;padding-left:400px;}
.bio-hero__quote .quote-author{text-align:right;margin-top:6px;}
.bio-lead{font-size:24px;font-weight:300;color:var(--ink-dim);line-height:1.5;max-width:1160px;margin:70px auto 0;}

.year{font-size:90px;font-weight:200;color:var(--accent);line-height:1;margin-bottom:26px;}
.bio-block{margin:96px 0;}
.bio-block__text{font-size:20px;color:var(--ink-dim);line-height:1.55;max-width:760px;}
.bio-block--center{text-align:center;}
.bio-block--center .bio-block__text{margin:0 auto;text-align:left;max-width:700px;}
.bio-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.bio-quote{font-size:56px;font-weight:200;line-height:1.1;color:var(--ink-muted);}
.bio-quote-author{margin-top:18px;font-size:22px;color:var(--accent);text-align:right;font-style:italic;}
.bio-photo{width:100%;object-fit:cover;}
.bio-photo--wide{width:100%;max-height:715px;}

/* ---------- Страница проектов ---------- */
.project-block{margin-bottom:130px;}
.project-block__top{display:grid;grid-template-columns:400px 1fr;gap:var(--gap);align-items:start;}
.project-block__name{font-size:90px;font-weight:200;line-height:0.98;color:var(--accent);}
.project-block__kind{
  font-size:15px;letter-spacing:0.1em;line-height:1.5;color:var(--ink);
  text-transform:uppercase;margin-top:22px;
}
.project-block__hero{width:100%;height:715px;object-fit:cover;}
.project-block__bottom{display:grid;grid-template-columns:var(--col) 1fr;gap:var(--gap);margin-top:40px;align-items:start;}
.project-block__text{font-size:20px;color:var(--ink);line-height:1.55;}
.project-block__text + .project-block__text{margin-top:26px;color:var(--ink-dim);}
.project-block__text i{color:var(--ink-dim);}
.project-block__logo{max-width:310px;margin-left:auto;}
.project-block__photos{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:40px;}
.project-block__photos img{width:100%;height:300px;object-fit:cover;}

/* ---------- Контакты ---------- */
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.contacts-grid .contact-line b{font-size:32px;}
.contacts-map{width:100%;height:420px;object-fit:cover;}

/* ---------- Закрытые концерты ---------- */
.concert{background:var(--card);display:grid;grid-template-columns:1fr 1fr;margin-bottom:38px;}
.concert--reverse .concert__side{order:2;}
.concert__side{position:relative;padding:36px 40px 44px;display:flex;flex-direction:column;}
.concert__collage{display:flex;gap:0;margin-bottom:-40px;}
.concert__collage img{width:50%;height:190px;object-fit:cover;}
.concert__name{font-size:64px;font-weight:200;line-height:1.02;color:var(--accent);position:relative;z-index:2;}
.concert__tagline{font-size:26px;font-weight:300;color:var(--ink);margin-top:8px;}
.concert__more{margin:34px 0 26px;font-size:17px;color:var(--accent);text-align:center;}
.concert__photo{width:100%;height:100%;object-fit:cover;min-height:560px;}
.concert .btn-ghost{margin:0 auto;}

/* ---------- Пожертвование ---------- */
.donate{display:grid;grid-template-columns:var(--col) 1fr;gap:var(--gap);align-items:start;}
.donate__title{font-size:65px;font-weight:200;color:var(--ink-muted);line-height:1.05;}
.donate__text{font-size:20px;color:var(--ink-dim);line-height:1.5;margin:26px 0 34px;}
.sums{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:30px;}
.sum{
  border:1px solid var(--ink-muted);color:var(--ink);
  font-size:22px;font-weight:200;padding:14px 34px;transition:border-color .15s,color .15s;
}
.sum:hover,.sum.is-active{border-color:var(--accent);color:var(--accent);}
.ways{display:grid;grid-template-columns:repeat(3,var(--col));gap:var(--gap);margin-top:70px;}
.way{background:var(--card);padding:40px 30px;text-align:center;transition:background .2s;}
.way:hover{background:var(--card-hover);}
.way__title{font-size:28px;font-weight:300;color:var(--ink);margin-bottom:18px;}

/* ---------- Медиа ---------- */
.media-layout{display:grid;grid-template-columns:560px 560px;gap:var(--gap);justify-content:space-between;align-items:start;}
.media-col{display:flex;flex-direction:column;gap:var(--gap);}
.media-side .page-title{height:150px;}
.tags{margin:40px 0 0;text-align:center;}
.tags__label{font-size:15px;letter-spacing:0.12em;color:var(--ink-dim);margin-bottom:16px;}
.tags a{display:block;font-size:17px;letter-spacing:0.1em;color:var(--ink);margin-bottom:6px;}
.tags a:hover{color:var(--accent);}
.mcard{background:var(--card);display:flex;flex-direction:column;transition:background .2s;}
.mcard:hover{background:var(--card-hover);}
.mcard__head{display:flex;align-items:baseline;gap:14px;padding:24px 28px 0;}
.mcard__kind{font-size:38px;font-weight:300;color:var(--accent);}
.mcard__new{font-size:52px;font-weight:500;color:var(--ink);letter-spacing:-0.02em;}
.mcard__body{padding:14px 28px 0 70px;}
.mcard__pre{font-size:17px;color:var(--ink-dim);}
.mcard__title{font-size:26px;font-weight:200;color:var(--ink);line-height:1.15;margin:2px 0 4px;}
.mcard__src{font-size:17px;color:var(--ink-dim);}
.mcard__date{font-size:15px;font-style:italic;color:var(--ink-muted);margin-top:6px;}
.mcard__go{padding:26px 28px;font-size:17px;color:var(--accent);}
.mcard__go:hover{color:#8b9ce6;}
.mcard__img{width:100%;object-fit:cover;}

.grid-3{display:grid;grid-template-columns:repeat(3,var(--col));gap:56px var(--gap);justify-content:center;}
.row-sep{display:flex;justify-content:center;gap:14px;margin:34px 0;}
.row-sep i{width:9px;height:9px;background:var(--accent);transform:rotate(45deg);display:block;}

/* ---------- Цитаты ---------- */
.quote{font-size:65px;font-weight:200;line-height:1.08;color:var(--ink-muted);letter-spacing:-0.01em;}
.quote-author{font-size:24px;font-weight:200;color:var(--accent);line-height:1.2;}

.intro{padding:60px 0 0;}
.intro-grid{display:grid;grid-template-columns:var(--col) 1fr;gap:var(--gap);align-items:start;}
/* Текст стоит слева от чёрно-белого фото, на одном с ним уровне. */
.intro-left{padding-top:512px;}
/* Шире колонки и мельче — текст укладывается в меньшее число строк. */
.intro-text{font-size:19px;font-weight:300;color:var(--ink-dim);line-height:1.5;width:400px;max-width:100%;}
.intro-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;}
/* Пять строк цитаты должны уместиться в правую колонку без переносов. */
.intro-right .quote{width:100%;font-size:52px;}
.diamonds{display:flex;gap:14px;margin-bottom:26px;}
.diamonds i{width:9px;height:9px;background:var(--accent);transform:rotate(45deg);display:block;}

/* ---------- Биография ---------- */
.bio{padding:120px 0 0;}
.bio-row{display:grid;grid-template-columns:var(--col) 1fr;gap:var(--gap);align-items:start;margin-bottom:130px;}
.bio-row--wide{grid-template-columns:702px 1fr;gap:38px;align-items:center;}
.bio-copy{font-size:22px;font-weight:300;color:var(--ink-dim);line-height:1.5;}
.bio-copy u{text-decoration:none;border-bottom:1px solid var(--ink-muted);}
.link-more{
  display:inline-block;margin-top:22px;
  font-size:20px;color:var(--accent);
  border-bottom:1px solid var(--accent);padding-bottom:2px;
}
.link-more:hover{color:#8b9ce6;border-color:#8b9ce6;}

.intro-photo{margin-top:44px;width:560px;}

/* Цитата по центру полосы */
.quote-block{padding:90px 0 110px;}
.diamonds--center{justify-content:center;}
.quote--center{width:1000px;max-width:100%;margin:0 auto;}
.quote-author--right{text-align:right;width:1000px;max-width:100%;margin:6px auto 0;font-style:normal;}
.quote-author--right i{font-style:italic;}

/* ---------- Секции ---------- */
.section{padding:118px 0 0;}
.rule{border-top:1px dotted var(--line);margin:0 auto;max-width:1160px;}
.section-head{display:flex;align-items:baseline;gap:44px;margin:64px 0 56px;}
.section-head h2{font-size:65px;font-weight:200;color:var(--ink-muted);letter-spacing:-0.01em;line-height:1.1;}
.section-head .link-more{margin-top:0;font-size:24px;}

/* ---------- Карусели ---------- */
.carousel{position:relative;}
.carousel-track{
  display:flex;gap:var(--gap);
  overflow-x:auto;scroll-behavior:smooth;
  scrollbar-width:none;padding-bottom:4px;
}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:80px;display:flex;align-items:center;justify-content:center;
  background:none;border:none;cursor:pointer;color:var(--ink-muted);z-index:5;
}
.carousel-btn:hover{color:var(--ink-dim);}
.carousel-btn svg{width:30px;height:56px;stroke:currentColor;fill:none;stroke-width:1.2;}
.carousel-btn--prev{left:-58px;}
.carousel-btn--next{right:-58px;}

/* ---------- Карточка афиши ---------- */
.event{
  flex:0 0 var(--col);width:var(--col);
  background:var(--card);display:flex;flex-direction:column;
  transition:background .2s;
}
.event:hover{background:var(--card-hover);}
.event__img{width:100%;height:263px;object-fit:cover;}
/* Дата почти вплотную к краю, остальной текст с отступом 81px — как в макете. */
.event__body{padding:16px 4px 26px 80px;display:flex;flex-direction:column;flex:1;}
/* Дата заходит на нижнюю часть фото — как в макете. */
.event__date{display:flex;align-items:baseline;gap:12px;margin:-64px 0 14px -78px;position:relative;z-index:2;}
.event--photo-bottom .event__date{margin-top:6px;}
.event__img--inline{height:auto;margin:14px 0 0 -60px;width:341px;}
.event__day{font-size:90px;font-weight:500;line-height:0.86;color:var(--ink);letter-spacing:-0.03em;}
.event__time{font-size:36px;font-weight:500;color:var(--accent);}
.event__place{font-size:18px;color:var(--ink-dim);line-height:1.3;margin-bottom:4px;}
.event__title{font-size:28px;font-weight:200;color:var(--ink);line-height:1.08;margin-bottom:8px;}
.event__title i{font-style:italic;font-weight:200;}
.event__cast{font-size:18px;color:var(--ink-dim);line-height:1.32;}
.event__kind{font-size:14px;font-style:italic;color:var(--ink-muted);margin-top:5px;}
/* Прижаты к низу карточки, поэтому у всех событий стоят на одной линии. */
.event__more{margin:22px 0 20px;font-size:18px;color:var(--accent);}
.event__more{margin-top:auto;}
.event__more:hover{color:#8b9ce6;}
.btn-ghost{
  display:block;text-align:center;
  border:1px solid var(--ink-muted);color:var(--ink);
  font-size:24px;font-weight:200;padding:11px 10px;
  width:240px;margin:0 0 0 -20px;
  transition:border-color .15s,color .15s;
}
.btn-ghost:hover{border-color:var(--ink);color:#fff;}

/* ---------- Проекты ---------- */
.projects-grid{display:grid;grid-template-columns:repeat(3,var(--col));gap:var(--gap);}
.projects-col{display:flex;flex-direction:column;gap:var(--gap);}
.project{background:var(--card);transition:background .2s;}
.project:hover{background:var(--card-hover);}
.project__pad{padding:30px 26px 26px;display:flex;flex-direction:column;align-items:center;gap:26px;}
.project__name{font-size:27px;font-weight:400;color:var(--ink-dim);text-align:center;line-height:1.15;}
.project__logo{max-height:120px;width:auto;}
.arrows{font-size:18px;letter-spacing:0.35em;color:var(--accent);}
.project img.project__photo{width:100%;object-fit:cover;}

/* ---------- Публикации ---------- */
.media{
  flex:0 0 var(--col);width:var(--col);
  background:var(--card);display:flex;flex-direction:column;
  transition:background .2s;
}
.media:hover{background:var(--card-hover);}
.media__kind{font-size:38px;font-weight:300;color:var(--accent);padding:22px 24px 0;}
.media__body{padding:8px 24px 0 60px;}
.media__title{font-size:26px;font-weight:200;color:var(--ink);line-height:1.15;}
.media__src{font-size:16px;color:var(--ink-dim);margin-top:8px;line-height:1.3;}
.media__img{width:100%;height:250px;object-fit:cover;margin-top:auto;}
.media__more{padding:18px 24px 22px;font-size:16px;color:var(--accent);}
.media--photo-top{flex-direction:column;}
.media--photo-top .media__img{margin-top:0;order:-1;}

/* ---------- Поддержка ---------- */
.support-grid{display:grid;grid-template-columns:var(--col) var(--col) var(--col);gap:var(--gap);align-items:start;}
.support-text{font-size:20px;color:var(--ink-dim);line-height:1.5;}
.support-card{background:var(--card);display:flex;flex-direction:column;transition:background .2s;}
.support-card:hover{background:var(--card-hover);}
.support-card__pad{padding:34px 26px 28px;display:flex;flex-direction:column;align-items:center;gap:20px;flex:1;justify-content:center;}
.support-card__logo{max-width:320px;}
.support-card__title{font-size:27px;font-weight:300;color:var(--ink);text-align:center;line-height:1.2;}
.support-card__img{width:100%;height:200px;object-fit:cover;}
/* Цитата стоит в левой колонке и выходит за её ширину — как в макете. */
.support-quote{margin:120px 0 0;width:760px;}
.support-quote .quote{font-size:58px;}
.support-quote .quote-author{text-align:right;margin-top:10px;}

/* ---------- Партнёры ---------- */
.partners{display:grid;grid-template-columns:repeat(4,1fr);gap:46px 40px;align-items:center;margin-bottom:20px;}
.partners img{max-height:74px;width:auto;margin:0 auto;filter:grayscale(1) opacity(.85);transition:filter .2s;}
.partners img:hover{filter:none;}

/* ---------- Подвал ---------- */
.footer{margin-top:80px;background:#1b1616;padding:56px 0 0;}
.footer-grid{display:grid;grid-template-columns:240px 360px 1fr;gap:38px;}
.footer-name{font-size:22px;font-weight:200;color:var(--ink-muted);line-height:1.25;}
.footer-nav{display:flex;flex-direction:column;gap:8px;}
.footer-nav .up{color:var(--ink-dim);font-size:18px;}
.footer-nav a{font-size:19px;color:var(--accent);}
.footer-nav a:hover{color:#8b9ce6;}
.footer-socials{display:flex;gap:34px;margin-bottom:32px;}
.footer-socials svg{width:50px;height:50px;fill:#4a4444;transition:fill .18s;}
.footer-socials a[aria-label="Telegram"]:hover svg{fill:#2aabee;}
.footer-socials a[aria-label="Facebook"]:hover svg{fill:#1877f2;}
.footer-socials a[aria-label="Instagram"]:hover svg{fill:#e1306c;}
.footer-socials a[aria-label="SoundCloud"]:hover svg{fill:#ff5500;}
.footer-socials a[aria-label="YouTube"]:hover svg{fill:#ff0000;}
.contact-line{margin-bottom:22px;}
.contact-line b{
  display:inline-block;font-size:27px;font-weight:300;color:var(--ink);
  border-bottom:1px solid var(--ink-muted);padding-bottom:2px;
}
.contact-line span{display:block;margin-top:8px;font-size:17px;color:var(--accent);}
.footer-bottom{
  margin-top:52px;padding:20px 0;
  border-top:1px solid rgba(120,109,109,0.2);
  display:flex;gap:120px;
  font-size:17px;color:var(--ink-dim);
}

/* ---------- Адаптив ---------- */
@media (max-width:1320px){
  .carousel-btn--prev{left:-6px;}
  .carousel-btn--next{right:-6px;}
}
@media (max-width:1100px){
  .projects-grid{grid-template-columns:repeat(2,1fr);}
  .support-grid{grid-template-columns:1fr 1fr;}
  .bio-row,.bio-row--wide,.intro-grid{grid-template-columns:1fr;}
  .partners{grid-template-columns:repeat(3,1fr);}
  .quote{font-size:46px;}
  .section-head h2{font-size:40px;}
}
@media (max-width:760px){
  .nav,.socials{display:none;}
  .hero{height:70vh;}
  .projects-grid,.support-grid,.partners{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .quote{font-size:32px;}
  .section-head{flex-direction:column;gap:10px;}
  .section-head h2{font-size:32px;}
  .footer-bottom{flex-direction:column;gap:10px;}
}

/* Плашка возврата в портфолио перекрывала логотип: она закреплена в левом
   верхнем углу, там же, где шапка. Шапка здесь fixed, поэтому в поток плашку
   не убрать — опускаем её под шапку и сжимаем до круглой кнопки со стрелкой.
   Инлайновые стили из разметки перебиваем через !important. */
@media (max-width: 760px) {
  .vibe-back-badge {
    top: 84px !important; left: 12px !important;
    width: 42px; height: 42px; padding: 0 !important;
    justify-content: center; font-size: 0 !important;
    opacity: 0.92; box-shadow: 0 6px 18px rgba(0,0,0,0.3) !important;
  }
  .vibe-back-badge::before {
    content: "←";
    font: 700 18px/1 -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  }
}


/* ============ Мобильная адаптация (добавлено 2026-08-04) ============
   Вёрстка сделана по макету 1440px: колонки по 362px, крупные заголовки,
   горизонтальные ленты. На телефоне это давало прокрутку вбок до 1182px.
   Ниже — только мобильный слой; десктопные правила не менялись. */
@media (max-width: 760px) {
  /* --- контейнеры --- */
  .inner { padding: 0 16px; }
  .header-inner { padding: 0 16px; gap: 14px; }
  .rule { max-width: 100%; }
  .section { padding: 64px 0 0; }
  .section-head { margin: 36px 0 26px; }
  .page-head { padding: 104px 0 24px; }

  /* --- все многоколоночные сетки в одну колонку --- */
  /* minmax(0,1fr), а не 1fr: обычная колонка не сжимается ниже своего
     содержимого, и длинные строки (адреса, названия) распирали страницу. */
  .intro-grid, .bio-row, .bio-row--wide, .bio-split, .contacts-grid,
  .project-block__top, .project-block__bottom, .project-block__photos,
  .donate, .concert, .media-layout, .grid-3, .ways, .support-grid,
  .projects-grid, .partners, .footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  /* Фото и градиент-растворение в шапке биографии заданы в пикселях по макету
     (760 и 900) и вылезали за экран. */
  .bio-hero { min-height: 0; }
  .bio-hero__photo { width: 100%; height: 420px; position: relative; }
  .bio-hero::after { width: 100%; height: 420px; }
  .bio-hero__inner { padding-top: 28px; }
  .media-layout, .ways, .donate { gap: 22px; }
  .partners { gap: 26px; }

  /* --- заголовок страницы: «эхо» из пяти копий не помещается --- */
  .page-title { height: auto; }
  .page-title span { position: static; font-size: 40px; white-space: normal; }
  .page-title span:not(:nth-child(3)) { display: none; }
  .page-title span:nth-child(3) { opacity: 1; transform: none; }

  /* --- главная: вступление --- */
  .intro { padding: 28px 0 0; }
  .intro-left { padding-top: 0; }
  .intro-text { width: 100%; font-size: 17px; }
  .intro-right { align-items: flex-start; }
  .intro-right .quote { font-size: 28px; }
  .intro-photo { width: 100%; margin-top: 24px; }
  .diamonds { flex-wrap: wrap; margin-bottom: 18px; }

  /* --- цитаты --- */
  .quote, .quote--center { font-size: 27px; width: 100%; }
  /* Блок цитаты в разделе поддержки задан в 760px по макету. */
  .support-quote { width: 100%; margin-top: 56px; }
  .support-quote .quote { font-size: 26px; }
  .quote-author, .quote-author--right { width: 100%; text-align: left; font-size: 16px; }
  .quote-block { padding: 48px 0 56px; }

  /* --- ленты афиши и публикаций: карточка на ширину экрана --- */
  .carousel-track { gap: 14px; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; }
  .event { flex: 0 0 84vw; width: 84vw; scroll-snap-align: start; scroll-snap-stop: always; }
  .carousel-btn { display: none; }

  /* --- карточка афиши --- */
  .event__img { height: 190px; }
  .event__body { padding: 14px 16px 22px; }
  .event__date { margin: -34px 0 12px 0; }
  .event__day { font-size: 50px; }
  .event__time { font-size: 22px; }
  .event__title { font-size: 21px; }
  .event__place, .event__cast { font-size: 15px; }
  .event__img--inline { width: 100%; margin: 12px 0 0; }
  .btn-ghost { width: 100%; margin: 0; font-size: 18px; }

  /* --- биография --- */
  .bio { padding: 56px 0 0; }
  .bio-hero__title { font-size: 42px; text-align: left; }
  .bio-hero__quote { margin-top: 40px; padding-left: 0; }
  .bio-lead { font-size: 18px; margin-top: 36px; }
  .bio-block { margin: 52px 0; }
  .bio-block__text, .bio-copy { font-size: 17px; }
  .bio-quote { font-size: 26px; }
  .bio-quote-author { font-size: 16px; text-align: left; }
  .year { font-size: 44px; margin-bottom: 16px; }
  /* В разметке биографии у пары блоков стоят инлайновые отступы слева
     (200 и 280px) — по макету 1440. На телефоне они выталкивали текст за экран. */
  .bio-block [style*="margin-left"] { margin-left: 0 !important; }
  .bio-block__text, .bio-copy, .project-block__text, .mcard__title,
  .contact-line b, .event__title { overflow-wrap: anywhere; }
  .bio-photo--wide { max-height: 320px; }

  /* --- проекты --- */
  .project-block { margin-bottom: 64px; }
  .project-block__name { font-size: 38px; }
  .project-block__kind { font-size: 17px; }
  .project-block__hero { height: 260px; }
  .project-block__text { font-size: 17px; }
  .project-block__logo { max-width: 190px; margin: 18px 0 0; }
  .project__name { font-size: 22px; }

  /* --- поддержка --- */
  .concert { margin-bottom: 26px; }
  .concert--reverse .concert__side { order: 0; }
  .concert__side { padding: 24px 18px 28px; }
  .concert__name { font-size: 34px; }
  .concert__tagline { font-size: 18px; }
  .concert__photo { min-height: 220px; }
  .concert__collage { margin-bottom: 0; }
  .concert__collage img { height: 130px; }
  .donate__title { font-size: 34px; }
  .donate__text { font-size: 17px; margin: 18px 0 24px; }
  .sums { gap: 10px; }
  .sum { flex: 1 1 43%; text-align: center; }
  .way { padding: 26px 18px; }
  .way__title { font-size: 21px; }

  /* --- медиа --- */
  .media-side .page-title { height: auto; }
  .mcard__head { padding: 18px 18px 0; }
  .mcard__kind { font-size: 25px; }
  .mcard__new { font-size: 32px; }
  .mcard__body { padding: 12px 18px 0; }
  .mcard__title { font-size: 20px; }
  .mcard__go { padding: 18px; }
  .tags { margin-top: 26px; }

  /* --- контакты --- */
  .contacts-grid { gap: 28px; }
  .contacts-grid .contact-line b { font-size: 21px; }
  .contacts-map { height: 240px; }
  .contact-line b { word-break: break-word; }

  /* --- футер --- */
  .footer-grid { gap: 22px; }
  .footer-name { font-size: 20px; }
  /* Шесть иконок соцсетей с зазором 34px не помещались в ряд и вылезали за край. */
  .footer-socials { flex-wrap: wrap; gap: 18px; }
  .footer-socials svg { width: 20px; height: 20px; }
}
