/* Content adaptations only: retain Premiex layout, galleries and typography. */
.bg-img-SINGLE { background-image: url('../img/background/DSC06930.jpg'); }
.navbar-brand.kirill-brand { display: flex; align-items: center; gap: 14px; height: auto; padding-top: 0; }
.navbar-brand.kirill-brand, .navbar-brand.kirill-brand:visited, .navbar-brand.kirill-brand:hover, .navbar-brand.kirill-brand:focus { color: #fff; }
.kirill-brand-name { font-family: 'Raleway', sans-serif; font-size: 14px; font-weight: 800; line-height: 1.3; letter-spacing: .3px; text-transform: uppercase; text-shadow: 0 1px 8px #000; }
.main-navigation-bg .navbar-brand.kirill-brand { padding-top: 0; color: #111; }
.main-navigation-bg .kirill-brand-name { text-shadow: none; }
.kirill-logo-frame { position: relative; display: block; width: 64px; height: 42px; flex: 0 0 64px; overflow: hidden; }
.kirill-logo-frame img { position: absolute; max-width: none; width: 180px; height: 135px; left: -58px; top: -48px; }
.main-navigation-bg .kirill-logo-frame { background: #111; border-radius: 2px; }
.kirill-story-video { margin: 35px auto; width: 100%; aspect-ratio: 16 / 9; background: #111; }
.kirill-story-video iframe { width: 100%; height: 100%; border: 0; }
.kirill-form-status { color: #ccc; text-align: center; margin-top: 24px; }
#submit:disabled { opacity: .55; cursor: not-allowed; }
.navbar-toggle:focus-visible, a:focus-visible, button:focus-visible, [role='button']:focus-visible { outline: 2px solid #b28e50; outline-offset: 5px; }
@media (max-width: 1200px) {
 .main-navigation .navbar-nav li a { padding-left: 10px; padding-right: 10px; }
 .main-navigation-bg .main-navigation .navbar-nav li a { padding-left: 10px; padding-right: 10px; }
}
@media (max-width: 995px) {
 .bg-img-SINGLE { background-image: url('../img/background/DSC06930.jpg'); }
 .kirill-brand-name { font-size: 11px; }
 .navbar-brand.kirill-brand { gap: 8px; }
}
@media (max-width: 768px) {
 .hero-heading { font-size: clamp(26px, 7vw, 50px); }
 .kirill-logo-frame { width: 48px; height: 32px; flex-basis: 48px; }
 .kirill-logo-frame img { width: 135px; height: 101.25px; left: -43.5px; top: -36px; }
 .navbar-brand.kirill-brand { padding-left: 0; }
 #page-home h2 { padding-left: 18px; padding-right: 18px; line-height: 1.8; font-size: 11px; }
 .bg-img-SINGLE { background-position: 35% center; }
}

/* Keep the back-to-top button centered, clear of the chat launcher. */
.to-top-arrow { left: calc(50% - 25px); right: auto; }

/* Selected author photographs: responsive previews retain original proportions. */
.kirpro-role-photo, .kirpro-gallery-photo, .kirpro-story-photo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: var(--kirpro-focus, 50% 50%);
}
.kirpro-role-photo { aspect-ratio: 3 / 4; }
.kirpro-gallery-photo { aspect-ratio: 3 / 2; }
.img-fullwidth-all .kirpro-story-photo {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 85vh;
  aspect-ratio: auto;
  margin-inline: auto;
  object-fit: contain;
}
.photo[data-kirpro-photo], .kirpro-news-cover, #page-testimonials[data-kirpro-photo] {
  background-image: var(--kirpro-display) !important;
  background-position: var(--kirpro-focus, 50% 50%);
}
.kirpro-archive-note {
  margin: 15px 25px 0;
  color: #777;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}
@media (max-width: 768px) {
  .photo[data-kirpro-photo], .kirpro-news-cover, #page-testimonials[data-kirpro-photo] {
    background-image: var(--kirpro-small) !important;
  }
}

/* Fit portrait compositions inside the existing mosaic and carousel frames. */
.photo[data-kirpro-orientation="portrait"],
.kirpro-news-cover[data-kirpro-orientation="portrait"] {
  background-size: contain !important;
  background-repeat: no-repeat;
  background-color: #111;
}
.kirpro-role-photo[data-kirpro-orientation="portrait"],
.kirpro-gallery-photo[data-kirpro-orientation="portrait"] {
  object-fit: contain;
  background: #111;
}
.kirpro-gallery-link, .kirpro-story-link { display: block; }
.kirpro-gallery-link:focus-visible { outline-offset: -3px; }
/* Photo viewing stays above the story's Bootstrap dialog. */
.mfp-bg { z-index: 99996; }
.mfp-wrap { z-index: 99997; }

/* Owl owns the horizontal position, including after keyboard focus changes. */
#page-team .carousel-item-img-wrapper,
#owl-carousel-team .owl-stage-outer {
  overflow: hidden;
  overflow: clip;
}
#owl-carousel-team .image-works:focus-within .icon-works { opacity: 1; }
#owl-carousel-team .image-works:focus-within .icon-works a { transform: scale(1); }

/* Keep gallery arrows above wide photographs inside the photo overlay. */
.mfp-wrap .mfp-content { z-index: 1045; }
/* The event portrait keeps its full horizontal composition in a direction card. */
.kirpro-role-photo[data-kirpro-orientation="landscape"] {
  object-fit: contain;
  background: #111;
}
