.container{max-width:1180px}

  .two-cols {
  display: flex;
  position: relative;
  gap: 0; /* Разделитель по центру, отступы задаём паддингами колонок */
}

  .two-cols::before{
    content:"";
    position:absolute;
    top:0; bottom:0;
    left:50%;
    width:1px;
    background:#ccc; /* центральный разделитель */
    transform:translateX(-0.5px);
  }

.two-cols .col {
  flex: 1;
}

.two-cols .left { padding-right: 30px; }
.two-cols .right { padding-left: 30px; }

/* Разделительная полоска уже учтена выше */

.two-cols h4 {
  margin-bottom: 10px;
}

  /* Вертикальный отступ под плашкой "Управляемый репортаж" */
  .long .two-cols{margin-top:16px}

ul.bul {
  list-style-type: disc;
  margin: 0;
  padding-left: 20px;
}

  /* Hero */
  header.hero{position:relative;padding-top:64px}
  .hero-wrap{min-height:86svh;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
  .hero-media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
  .hero-media::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.2) 100%)}
  .hero-media::after{content:"";position:absolute;inset:-10%;pointer-events:none;z-index:2;
    background: linear-gradient(115deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.22) 50%, rgba(255,255,255,0) 70%);
    filter: blur(12px); opacity:.35; transform: translateX(0) rotate(12deg);
    will-change: transform;
    mix-blend-mode: screen;
  }
  .hero-media:hover{box-shadow:var(--shadow)}
  
  .hero-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(105%) brightness(90%);transform:none;transition:none}
  .hero-media:hover img{transform:none}
  @keyframes sheen{to{transform:translateX(100%)}}
  .badge{display:inline-flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.12);padding:6px 10px;border-radius:999px;font-size:12px;opacity:.9;backdrop-filter:blur(2px)}
  .badge i{width:8px;height:8px;border-radius:999px;background:var(--accent)}
  .hero h2{margin:16px 0 10px;font-size:var(--h-size);line-height:1.2;letter-spacing:.04em;text-transform:uppercase}
  .hero h2 .hero-role{display:block;font-size:calc(var(--h-size) * 1.4);line-height:1.2}
  .hero h2 .hero-name{display:block;white-space:normal;text-transform:none;font-size:calc(var(--h-size) * 1.4)}
  .hero p{color:#D9D9D9;margin:0 0 18px}
  .hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:32px}

  /* Секции и общие паттерны */
  section{padding:80px 0;border-top:1px solid rgba(255,255,255,.06);scroll-margin-top:64px}
  #services .s-title .s-title-sub{display:inline}

  /* Расширенный блок — Контентная съёмка */
  .split{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center}
  .chip{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);font-size:12px}
  .pro-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
  .pro{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00));border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;display:flex;gap:10px;align-items:flex-start}
  .pro i{width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,var(--accent),var(--accent-2));margin-top:6px;box-shadow:0 0 0 6px rgba(123,0,44,.12)}
  .case-mini{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
  .case-card{border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;background:var(--card);box-shadow:var(--shadow);transition:transform var(--ts)}
  .case-card:hover{transform:translateY(-4px)}
     .case-card img{height:150px;width:100%;object-fit:cover;object-position:center 80%;filter:grayscale(100%);transition:filter var(--ts)}
   .case-card:hover img{filter:none}
  
  .case-cap{padding:12px 14px;font-size:14px}
  /* Контентная съёмка: вернуть исходные отступы и выравнивание подписи карточек */
  #content .case-cap{position:static;padding:12px 14px;font-size:14px}
  #content .case-cap span{display:block}
  /* Убрали бейдж из карточек контента */
  
  /* Кнопки в секциях */
  .content-actions{display:flex;gap:12px;margin-top:24px;align-items:center;flex-wrap:wrap}
  .event-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px}

  /* Сетки */
  .grid{display:grid;gap:16px}
  .grid.portfolio{grid-template-columns:repeat(4,1fr)}
  .grid.services{grid-template-columns:repeat(3,1fr)}

  /* Карточки */
  .card{position:relative;border-radius:16px;overflow:hidden;background:var(--card);box-shadow:var(--shadow);transform:translateY(10px) scale(.98);opacity:0;transition:transform var(--ts-soft), opacity var(--ts-soft)}
  .card.show{transform:translateY(0) scale(1);opacity:1}
  .card img{height:280px;width:100%;object-fit:cover;object-position:center bottom;filter:grayscale(100%);transition:filter var(--ts), transform var(--ts)}
  .card:hover img{filter:grayscale(0%)}
  .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75));display:flex;align-items:end;min-height:40%}
  .cap b{font-size:15px}
  .cap span{font-size:12px;color:#D0D0D0}

  /* Сервисы */
  .service{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00));border:1px solid rgba(255,255,255,.08);padding:22px;border-radius:16px;transition:transform var(--ts), border-color var(--ts), box-shadow var(--ts);display:flex;flex-direction:column}
  .service:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.16);box-shadow:0 14px 34px rgba(0,0,0,.35)}
  .service .stripe{height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;margin:-4px 0 12px}
  .price{font-weight:800;font-size:22px;margin:12px 0}
  ul.bul{margin:0;padding-left:18px;color:#DADADA;flex-grow:1}
  .service .cta{margin-top:20px;align-self:flex-start}

  /* Длинные описания */
  .long{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:22px}
  .long h4{margin:0 0 6px}
  .pill{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(123,0,44,.18);border:1px solid rgba(123,0,44,.35);font-size:12px}

  /* Свадьбы — компактнее без потери информации */
  #wedding{padding:64px 0}
  #wedding .s-head{margin-bottom:22px}
  #wedding .grid.services{gap:12px}
  #wedding .service{padding:16px;display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:start;grid-template-areas:"title price" "stripe stripe" "list list"}
  #wedding .service .stripe{grid-area:stripe;margin-bottom:2px}
  #wedding .service h4{grid-area:title;margin:0 0 6px}
  #wedding .price{grid-area:price;justify-self:end;align-self:start;white-space:nowrap;display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;position:relative;background:rgba(255,255,255,.06);backdrop-filter:saturate(140%) blur(6px);box-shadow:0 6px 16px rgba(0,0,0,.25), inset 0 -3px 8px rgba(0,0,0,.2);font-size:14px;margin:0;font-weight:400;transition:transform var(--ts), filter var(--ts)}
  #wedding .price::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(120deg,var(--accent), var(--accent-2));-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
  #wedding .price:hover{transform:translateY(-1px)}
  #wedding .service ul.bul{grid-area:list}
  #wedding ul.bul{padding-left:16px}
  #wedding ul.bul li{margin:2px 0}
  #wedding .two-cols{gap:0}
  #wedding .two-cols h4{margin-bottom:6px}
  #wedding .s-title{font-size:var(--h-size)}
  #wedding .s-desc{font-size:14px}
  /* Предсвадебная съёмка: оставляем как есть */
  #wedding .service:has(h4:contains("Предсвадебная")) .price{grid-area:price;justify-self:end;align-self:start;white-space:nowrap;display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);box-shadow:0 0 0 3px rgba(123,0,44,.12), inset 0 -4px 10px rgba(0,0,0,.25), 0 0 16px rgba(176,0,0,.25);font-size:16px;margin:0;font-weight:400}
  #wedding .service ul.bul{grid-area:list}

  /* Портрет — та же компоновка: цена справа в плашке */
  #portrait .service{padding:16px;display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:start;grid-template-areas:"title price" "stripe stripe" "list list"}
  #portrait .service .stripe{grid-area:stripe;margin-bottom:2px}
  #portrait .service h4{grid-area:title;margin:0 0 6px}
  #portrait .price{grid-area:price;justify-self:end;align-self:start;white-space:nowrap;display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;position:relative;background:rgba(255,255,255,.06);backdrop-filter:saturate(140%) blur(6px);box-shadow:0 6px 16px rgba(0,0,0,.25), inset 0 -3px 8px rgba(0,0,0,.2);font-size:15px;margin:0;font-weight:400;transition:transform var(--ts), filter var(--ts)}
  #portrait .price::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(120deg,var(--accent), var(--accent-2));-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
  #portrait .price:hover{transform:translateY(-1px)}
  #portrait .service ul.bul{grid-area:list}
  #portrait .service .cta{grid-column:1/-1;justify-self:start;margin-top:4px}

           /* Отзывы карусель */
    .reviews-carousel{overflow:hidden;margin:0 -20px;padding:28px 0;background:radial-gradient(circle at 50% 0, rgba(176,0,0,.20), rgba(123,0,44,.20) 40%, rgba(255,255,255,0) 70%)}
    .reviews-track{display:flex;gap:12px;animation:scroll 60s linear infinite;width:max-content}
    .reviews-track:hover{animation-play-state:running}
    @keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
    .review{background:var(--card);border:2px solid rgba(255,255,255,.08);border-radius:12px;padding:18px;min-width:220px;width:420px;flex-shrink:0;transition:all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)}
    .review:hover{transform:translateY(-6px) scale(1.02);border-color:rgba(255,255,255,.2);box-shadow:0 20px 40px rgba(0,0,0,.4)}
    .review p{margin:0;line-height:1.5;height:auto;overflow:visible}
    .who{display:flex;gap:10px;align-items:center;margin-bottom:8px}
         .ava{width:36px;height:36px;border-radius:50%;background:linear-gradient(180deg,var(--accent),var(--accent-2));overflow:hidden;display:flex;align-items:center;justify-content:center}
         .ava img{width:100%;height:100%;object-fit:cover;border-radius:50%}
     
     /* Карусель мероприятий */
     .events-carousel{overflow:hidden;border-radius:12px;margin:20px 0}
     .events-track{display:flex;gap:12px;animation:scrollEvents 45s linear infinite;width:max-content}
     @keyframes scrollEvents{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
     .events-track img{height:160px;width:240px;object-fit:cover;object-position:center bottom;filter:grayscale(100%);transition:filter var(--ts);flex-shrink:0}
     .events-track img:hover{filter:grayscale(0%)}
     
     /* Короткая карусель мероприятий справа */
     .events-carousel-short{overflow:hidden;border-radius:12px;background:var(--card);border:1px solid rgba(255,255,255,.08);padding:16px;height:fit-content}
     .events-track-short{display:flex;gap:8px;animation:scrollEventsShort 30s linear infinite;width:max-content}
     @keyframes scrollEventsShort{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
     .events-track-short img{height:120px;width:180px;object-fit:cover;object-position:center bottom;filter:grayscale(100%);transition:filter var(--ts);flex-shrink:0}
     .events-track-short img:hover{filter:grayscale(0%)}
     
     /* Встроенная карусель мероприятий */
     .events-carousel-inline{overflow:hidden;border-radius:12px;margin:20px 0;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);padding:16px}
     .events-track-inline{display:flex;gap:10px;animation:scrollEventsInline 35s linear infinite;width:max-content}
     @keyframes scrollEventsInline{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
     .events-track-inline img{height:140px;width:200px;object-fit:cover;object-position:center bottom;transition:transform var(--ts);flex-shrink:0}
     .events-track-inline img:hover{transform:scale(1.05)}
     .events-track-inline .photo{height:140px;width:200px;flex-shrink:0;overflow:hidden;transition:transform var(--ts);background:var(--card)}
     .events-track-inline .photo:hover{transform:scale(1.05)}
     .events-track-inline .photo.portrait{width:110px}
     .events-track-inline .photo img{height:100%;width:100%;object-fit:cover;object-position:center}
     .events-track-inline .photo.portrait img{object-fit:contain}
     .events-track-inline img.portrait{width:110px;object-fit:contain;object-position:center}
     
  footer{padding:40px 0;border-top:1px solid rgba(255,255,255,.06)}
  .foot{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
  .qr{width:86px;height:86px;border-radius:12px;background:
      conic-gradient(from 90deg at 50% 50%, rgba(255,255,255,.08), rgba(255,255,255,.22)),
      repeating-linear-gradient(45deg, rgba(255,255,255,.22) 0 2px, transparent 2px 4px),
      linear-gradient(180deg,var(--accent),var(--accent-2));box-shadow:var(--shadow)}
  .legal{color:var(--muted);font-size:12px}

  /* Footer brand */
  .foot-brand{color:var(--muted)}
  .foot-site,.foot-city{display:inline}
  .soc-icons{display:flex;gap:10px;align-items:center;vertical-align:middle;flex-wrap:nowrap;white-space:nowrap}
  .soc-icons img{filter:invert(1) brightness(1.2);display:block}
  .soc-icons a{margin-left:0 !important;display:inline-flex;align-items:center}
  .soc-icons a + a::before{content:none}

  /* Соцсети */
  .soc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  .soc{display:flex;gap:12px;align-items:center;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00));border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;transition:transform var(--ts), border-color var(--ts)}
  .soc:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.16)}
  .ico{width:38px;height:38px;border-radius:10px;background:linear-gradient(180deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;color:#fff}
  .soc small{color:var(--muted)}

  /* Мобильный топбар (по умолчанию скрыт) */
  .mob-topbar{display:none}
  .mob-topbar .row{display:flex;gap:12px;align-items:center}
  .mob-topbar a{opacity:.9;white-space:nowrap}

  /* Responsive */
     @media (max-width:1000px){
     :root{ --h-size: var(--h-size-m); }
     .hero-wrap{grid-template-columns:1fr;gap:24px}
     .split{grid-template-columns:1fr}
     .grid.portfolio{grid-template-columns:repeat(2,1fr)}
     .grid.services{grid-template-columns:repeat(2,1fr)}
     .soc-grid{grid-template-columns:repeat(2,1fr)}
     .review{min-width:200px;width:320px;padding:16px}
     .two-cols{flex-direction:column;gap:16px}
     .two-cols::before{display:none}
     .two-cols .left{padding-right:0;border-right:none}
     .two-cols .right{padding-left:0}
   }
   @media (max-width:600px){
     :root{ --mob-topbar-h: 48px; }
     .nav-links{display:none}
     .grid.portfolio{grid-template-columns:1fr}
     .grid.services{grid-template-columns:1fr}
     .soc-grid{grid-template-columns:1fr}
     /* Включаем фиксированный топбар под навигацией */
     .mob-topbar{display:block; position:fixed; top:64px; left:0; right:0; z-index:99; background:rgba(14,14,16,.65); backdrop-filter:saturate(140%) blur(var(--blur)); border-bottom:1px solid rgba(255,255,255,.06); min-height:var(--mob-topbar-h)}
     .mob-topbar .row{padding:8px 20px; overflow-x:auto; -webkit-overflow-scrolling:touch}
     .mob-topbar a{padding:6px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.12)}
     /* Компенсация высоты топбара сверху */
     header.hero{padding-top:calc(64px + var(--mob-topbar-h) + 8px)}
     html{scroll-padding-top:calc(64px + var(--mob-topbar-h) + 8px)}
     /* Якоря: учитываем высоту топбара */
     section{scroll-margin-top:calc(64px + var(--mob-topbar-h) + 8px)}
     /* Центрирование секций на мобильных */
     .s-head{align-items:center; text-align:center}
     .s-desc{text-align:left}
     .content-actions, .event-actions, .hero-actions{justify-content:center}
     .tags{justify-content:center}
     footer .container.foot{justify-content:flex-start; text-align:left}
     footer .container.foot > div:first-child{justify-content:flex-start}
     /* Заголовок секции: в одну строку, с обрезкой по словам */
     .s-title{ 
       display:block;
       overflow:hidden;
       text-overflow:ellipsis;
       white-space:nowrap;
     }
     /* Шапка секции: переносим подзаголовок под заголовок */
     .s-head{flex-direction:column; align-items:flex-start; gap:8px}
     /* Подзаголовок: максимум 2 строки с обрезкой */
     .s-desc{ 
       display:-webkit-box; 
       -webkit-line-clamp:2; 
       -webkit-box-orient:vertical; 
       line-clamp:2;
       overflow:hidden;
     }
     /* Перенос подзаголовка внутри заголовка на новую строку */
     .s-title .s-title-sub{display:block}
     #services .s-title .s-title-sub{display:block}
     /* Портрет: уменьшенный кегль описания, чтобы текст полностью помещался */
     #portrait .long .s-desc{font-size:13px; line-height:1.5; display:block; -webkit-line-clamp:unset; line-clamp:unset; -webkit-box-orient:initial; overflow:visible}
     /* Заголовки на мобильных берут единый кегль */
     .hero h2{font-size:var(--h-size)}
     .hero h2 .hero-role{font-size:calc(var(--h-size) * 1.2)}
     .hero h2 .hero-name{white-space:normal; font-size:calc(var(--h-size) * 1.2)}
     /* Мягкие переносы основного текста */
     p, li, .s-desc, .tag, .price, .chip{overflow-wrap:anywhere; word-break:normal; hyphens:auto}
     .review{min-width:200px;width:320px;padding:16px}
     .reviews-carousel{margin:0 -10px}
     /* Контент: уменьшаем высоту фото карточек товара на мобильных */
     .case-card img{height:120px}
     /* Контент: выравниваем блоки "Что включено" в одну колонку */
     .pro-list{grid-template-columns:1fr}
     /* Мобильные: убираем ЧБ эффект в Контенте и Портфолио */
     .case-card img{filter:none}
     .card img{filter:none}
     /* Портрет: компактные условия на мобильных */
     #portrait .long{padding:14px}
     #portrait .long h4{margin:0 0 8px}
     #portrait #portrait-terms{list-style:none; padding-left:0; display:grid; gap:6px}
     #portrait #portrait-terms li{position:relative; padding-left:14px; font-size:13px; line-height:1.45; color:#DADADA; display:block; overflow:visible}
     #portrait #portrait-terms li::before{content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; border-radius:50%; background:linear-gradient(180deg,var(--accent),var(--accent-2)); box-shadow:0 0 0 4px rgba(123,0,44,.12)}
     
   }
