.fm-mobile-image-zoom { display: none; }
@media (max-width: 760px) {
  .fm-mobile-image-figure { position: relative; }
  .fm-mobile-image-zoom {
    display: grid; place-items: center; position: absolute; z-index: 3; top: 10px; right: 10px;
    width: 40px; height: 40px; padding: 0; border: 1px solid #0002; border-radius: 50%;
    background: #fff; color: #182323; font: 22px/1 Arial, sans-serif;
  }
  .fm-mobile-image-dialog { width: min(100vw, 100%); height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 64px 12px 20px; border: 0; background: #fff; }
  .fm-mobile-image-dialog::backdrop { background: #111a; }
  .fm-mobile-image-dialog img { display: block; width: 100%; height: 100%; object-fit: contain; }
  .fm-mobile-image-close { position: absolute; top: 12px; right: 12px; min-height: 44px; padding: 8px 15px; border: 1px solid #aaa; border-radius: 24px; background: #fff; color: #182323; font: 16px/1.3 Arial, sans-serif; }
}

/* A shared mobile image-enlargement control across case studies. */
@media (max-width: 760px) {
  :is(.fm-mobile-image-zoom, .vk-zoom, .sb-zoom, .mc-zoom-mark, .zoom-icon, .w-image-link) { width: 37px !important; height: 37px !important; min-width: 37px; min-height: 37px; padding: 0; display: flex; align-items: center; justify-content: center; border: 1px solid #cbd1d3 !important; border-radius: 50% !important; background: #fff !important; color: #182323 !important; font-size: 0 !important; line-height: 1; box-shadow: none; }
  :is(.fm-mobile-image-zoom, .vk-zoom, .sb-zoom, .mc-zoom-mark, .zoom-icon, .w-image-link)::after { content: '↗'; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #182323; font: 20px/1 Arial, sans-serif; transform: translateY(-1px); }
}

@media (max-width: 760px) {
  body[data-portfolio-case='aeroflot'] .af-story-applications > figure:nth-child(-n+2) > img { width: 100%; height: auto; aspect-ratio: 0.68; object-fit: cover; object-position: center; }
  body[data-portfolio-case='aeroflot'] .af-story-applications > figure:nth-child(-n+2) > .fm-mobile-image-zoom { top: 10px; right: 10px; }
}

@media (max-width: 760px) {
  body[data-portfolio-case='city-voyage'] .cv-section { padding-block: 40px 0; }
  body[data-portfolio-case='city-voyage'] .cv-section > :last-child { margin-bottom: 0; }
}

@media (max-width:760px) { .fm-mobile-image-dialog.fm-map-viewer { overflow: hidden; touch-action: none; } .fm-map-viewer > img { transform-origin: center; touch-action: none; user-select: none; } .fm-map-viewer .fm-mobile-image-close { z-index: 2; } }

@media (max-width:760px) {
 :is(.fm-mobile-image-zoom,.vk-zoom,.sb-zoom,.mc-zoom-mark,.zoom-icon,.w-image-link)::after { content:''; display:block; flex:none; width:16px; height:16px; transform:none; background:center / 16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 12.5 12.5 3.5 M6 3.5h6.5V10' fill='none' stroke='%23182323' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E" ); }
 body[data-portfolio-case='winter'] :is(.w-image-link,.fm-mobile-image-zoom) { top:10px !important; right:10px !important; bottom:auto !important; left:auto !important; margin:0 !important; }
 body[data-portfolio-case='winter'] .w-entry-pair { grid-template-columns:1fr; gap:22px; }
 body[data-portfolio-case='winter'] .w-entry-pair img { aspect-ratio: 1.35; object-fit:cover; }
 body[data-portfolio-case='winter'] .w-tabs--route .w-tab-panel figure > img:first-child { width:100%; height:auto; object-fit:cover; }
 body[data-portfolio-case='winter'] .w-tabs--views .w-tab-panel figure { padding:0 0 18px; min-height:0; }
 body[data-portfolio-case='winter'] .w-tabs--views .w-tab-panel img { display:block; width:100%; height:auto; aspect-ratio:1.35; max-height:none; object-fit:cover; }
 body[data-portfolio-case='winter'] .w-tabs--route .w-tab-panel, body[data-portfolio-case='winter'] .w-kuper-world .w-tabs--route .w-tab-panel { min-height:0; }
 body[data-portfolio-case='winter'] .w-section { padding-block:40px 0; }
 body[data-portfolio-case='winter'] .w-section > :last-child { margin-bottom:0; }
}

@media (max-width:760px) { :is(.fm-mobile-image-zoom,.vk-zoom,.sb-zoom,.mc-zoom-mark,.zoom-icon,.w-image-link)::after { position:absolute; top:50%; left:50%; right:auto; bottom:auto; margin:0; transform:translate(-50%,-50%); } }

@media (max-width:760px) {
 body[data-portfolio-case='winter'] .w-tabs--views .w-tab-panel--orthographic figure { display:flex; align-items:center; justify-content:center; min-height:0; padding:16px; }
 body[data-portfolio-case='winter'] .w-tabs--views .w-tab-panel--orthographic figure > img { width:100%; height:auto; max-height:none; aspect-ratio:auto; object-fit:contain; }
}

@media (max-width:760px) { .mc-merch .mc-hero-fragment { aspect-ratio:1 / 1; } }

@media (max-width:760px) {
 .mc-merch .mc-hero-fragment img { transform:scale(1.7); transform-origin:left center; }
 .mc-merch .mc-hero-card--gastreet .mc-hero-fragment img { transform-origin:center; }
 .mc-merch .mc-hero-card--wave .mc-hero-fragment img { transform-origin:right center; }
}

/* Equal-height poster windows, preserving the whole artwork. */
body[data-portfolio-case='aeroflot'] .af-story-applications > figure:nth-child(-n+2) > img { width:100%; height:auto; aspect-ratio:693 / 1000; object-fit:contain; object-position:center; }

/* Large winter-case blocks share one interval; keep the brand transition. */
body[data-portfolio-case='winter'] .w-sam-world .w-tabs--views .w-tab-panel--scene figure { padding:0; background:transparent; }
@media (min-width:761px) {
 body[data-portfolio-case='winter'] .w-section { padding-block:56px 0; }
 body[data-portfolio-case='winter'] .w-merch-sam { padding-bottom:var(--fm-section-space); }
 body[data-portfolio-case='winter'] .w-kuper-world > .w-section { padding-top:var(--fm-section-space); }
}
@media (max-width:760px) {
 body[data-portfolio-case='winter'] .w-sam-world .w-tabs--views .w-tab-panel--scene figure { padding:0; }
}

body[data-portfolio-case='winter'] .w-kuper-world .w-tabs--views .w-tab-panel--scene figure { padding:0; background:transparent; }

body[data-portfolio-case='winter'] .w-kuper-world .w-kuper-merch { padding-bottom:56px; }
@media (max-width:760px) { body[data-portfolio-case='winter'] .w-kuper-world .w-kuper-merch { padding-bottom:40px; } }
