*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050505;color:#f8f8f8;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300}.header{height:113px;display:flex;align-items:center;justify-content:space-between;background:#050505;padding:0 50px 0 52px;position:sticky;top:0;z-index:100}.nav{display:flex;align-items:center;gap:42px}.nav a,.languages a{font-size:30px;line-height:1.2;text-decoration:none;color:#eee;font-weight:200;letter-spacing:-.8px}.nav a:hover,.languages a:hover{opacity:.65}.header-right{display:flex;align-items:center;gap:70px}.languages{display:flex;gap:20px}.languages .active{text-decoration:underline;text-underline-offset:3px}.socials{display:flex;gap:20px}.socials a{width:49px;height:49px;background:#fff;color:#090909;border-radius:8px;display:grid;place-items:center}.socials svg{width:32px;height:32px;fill:currentColor}.socials a:hover{background:#ddd}.menu-toggle{display:none}.hero{height:calc(100vh - 113px);min-height:550px;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center}.hero-background{position:absolute;inset:0;background-image:url('assets/icon-background.webp');background-repeat:no-repeat;background-size:126.05% auto;background-position:center 30%;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:rgba(0,0,0,.72)}.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;margin-top:3px}.logo{width:314px;height:294px;object-fit:contain}.description,.location{font-size:30px;font-weight:200;line-height:1.15;letter-spacing:-.5px;margin:46px 0 0}.bee{width:64px;height:54px;object-fit:contain;margin-top:27px}.location{margin-top:19px}@media(max-width:1100px){.header{height:82px;padding:0 24px}.nav{gap:20px}.nav a,.languages a{font-size:19px}.header-right{gap:25px}.socials{gap:10px}.socials a{width:35px;height:35px;border-radius:6px}.socials svg{width:23px;height:23px}.hero{height:calc(100svh - 82px)}.hero-background{background-size:cover;background-position:center 31%}.logo{width:260px;height:auto}.description,.location{font-size:23px}}@media(max-width:650px){.header{height:66px;padding:0 18px}.nav{display:none;position:absolute;top:66px;left:0;right:0;background:#050505;padding:20px;flex-direction:column;align-items:flex-start;gap:23px}.header.menu-open .nav{display:flex}.header-right{margin-left:auto;margin-right:16px;gap:17px}.languages{gap:10px}.languages a{font-size:16px}.socials{gap:8px}.socials a{width:30px;height:30px}.socials svg{width:20px;height:20px}.menu-toggle{display:block;background:none;border:0;color:#fff;font-size:23px;cursor:pointer}.hero{height:calc(100svh - 66px);min-height:500px}.hero-background{background-size:auto 135%;background-position:53% 39%}.hero-shade{background:rgba(0,0,0,.68)}.logo{width:min(68vw,270px)}.description,.location{font-size:clamp(17px,4.6vw,23px)}.description{margin-top:28px}.bee{width:50px;height:auto;margin-top:26px}.location{margin-top:12px}}

/* About / Sketch artboard “4 ・ Large Copy” */
.about{background:#050505;min-height:calc(100vh - 113px);padding:70px 56px 90px;scroll-margin-top:0}
.about-title{font-size:50px;font-weight:600;line-height:1.2;letter-spacing:-1.3px;margin:0 0 28px}
.about-layout{display:grid;grid-template-columns:minmax(0,815px) minmax(0,622px);justify-content:space-between;gap:clamp(48px,8vw,190px);align-items:center}
.about-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;padding-top:0}
.about-gallery img{width:100%;height:auto;aspect-ratio:390/521;object-fit:cover;display:block}
.about-copy{font-size:32px;font-weight:200;line-height:1.16;letter-spacing:-.5px;max-width:622px;margin-top:0}
.about-copy p{margin:0 0 30px}
.about-copy p:last-child{margin-bottom:0}
@media(max-width:1450px){.about-layout{gap:60px}.about-copy{font-size:clamp(23px,2.2vw,32px)}.about-gallery{gap:22px}}
@media(max-width:1000px){.about{padding:65px 32px 80px}.about-layout{grid-template-columns:1fr;gap:42px}.about-gallery{max-width:815px}.about-copy{max-width:850px;font-size:clamp(22px,3vw,30px);margin:0}.about-title{font-size:45px}}
@media(max-width:650px){.about{padding:52px 20px 68px}.about-title{font-size:36px;margin-bottom:24px}.about-gallery{gap:12px}.about-layout{gap:30px}.about-copy{font-size:20px;line-height:1.35;letter-spacing:-.2px}.about-copy p{margin-bottom:22px}}

/* Subtle centered hover zoom; photo crops stay in their original frames. */
.about-photo {overflow:hidden; aspect-ratio:390/521;}
.about-photo img {width:100%;height:100%;object-fit:cover;display:block;transform-origin:center center;transition:transform 550ms cubic-bezier(.22,1,.36,1);will-change:transform;}
.about-photo:hover img {transform:scale(1.12);}
.logo,.bee {transform-origin:center center;transition:transform 500ms cubic-bezier(.22,1,.36,1);will-change:transform;}
.logo:hover,.bee:hover {transform:scale(1.12);}
@media (prefers-reduced-motion:reduce) { .about-photo img,.logo,.bee {transition:none;} }

/* Center the text column geometrically against the photo row. */
@media (min-width:1001px) {
  .about-layout { align-items:center; }
  .about-copy { align-self:center; transform:none; }
}


/* Gentle parallax on the first screen only. Extra image area prevents edges
   showing as the image moves; the foreground remains stationary. */
.hero-background {
  inset: -14% 0;
  transform: translate3d(0, var(--hero-parallax, 0px), 0);
  will-change: transform;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .hero-background { transform: none; will-change: auto; }
}


/* Gallery follows Sketch “4 ・ Large Copy 2” artwork and layout. */
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.icons-section{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;padding:90px 0 65px;background:#100c0b}
.icons-section::before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/gallery-background.webp') center center / cover no-repeat}
.icons-section::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.72)}
.icon-carousel{width:100%;position:relative}
.icon-carousel-stage{width:100%;height:min(775px,calc(100svh - 170px));min-height:460px;position:relative;outline:none;touch-action:pan-y;user-select:none}
.icon-carousel-stage:focus-visible{outline:2px solid #aaa;outline-offset:-3px}
.icon-slide{position:absolute;top:0;left:7%;width:32.3%;height:100%;margin:0;opacity:0;transform:translate3d(0,0,0) scale(.7);transition:transform 760ms cubic-bezier(.22,1,.36,1),opacity 650ms ease;pointer-events:none;will-change:transform,opacity;transform-origin:center center}
.icon-slide img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.icon-slide[data-position="active"]{opacity:1;transform:translate3d(0,0,0) scale(1);z-index:2;pointer-events:none}
.icon-slide[data-position="next"]{opacity:1;transform:translate3d(179%,0,0) scale(.64);z-index:1;cursor:pointer;pointer-events:auto}
.icon-slide[data-position="prev"]{opacity:.58;transform:translate3d(-120%,0,0) scale(.64);z-index:1;cursor:pointer;pointer-events:auto}
/* Soft left-to-right fade instead of the bordered black caption panel. */
.icon-info{position:absolute;left:var(--info-left,40%);top:var(--info-top,0px);bottom:auto;height:var(--info-height,100%);width:var(--info-width,29%);padding:30px 36px 28px 24px;display:flex;flex-direction:column;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.89) 0%,rgba(0,0,0,.70) 38%,rgba(0,0,0,0) 100%);transition:opacity 180ms ease,left 760ms cubic-bezier(.22,1,.36,1),top 760ms cubic-bezier(.22,1,.36,1),height 760ms cubic-bezier(.22,1,.36,1)}
.icon-info-title{font-size:clamp(25px,2.5vw,48px);font-weight:300;line-height:1.14;letter-spacing:-.7px;margin:0}
.icon-info-size{font-size:clamp(20px,1.9vw,36px);line-height:1.2;margin:12px 0 0;font-weight:200}
.icon-info-provenance{font-size:clamp(18px,1.45vw,28px);line-height:1.25;font-weight:200;margin:auto 0 0}
@media(max-width:1100px){.icons-section{padding:74px 0}.icon-carousel-stage{height:min(650px,75svh);min-height:420px}.icon-slide{left:5%;width:41%}.icon-slide[data-position="next"]{transform:translate3d(143%,0,0) scale(.7)}.icon-info{padding:27px 18px}.icon-info-title{font-size:clamp(26px,3.6vw,42px)}.icon-info-size{font-size:25px}.icon-info-provenance{font-size:20px}}
@media(max-width:650px){.icons-section{min-height:90svh;padding:52px 0}.icon-carousel-stage{height:600px;max-height:80svh;min-height:430px}.icon-slide{left:10%;width:79%;height:70%;top:0}.icon-slide[data-position="prev"]{transform:translate3d(-84%,0,0) scale(.78);opacity:.42}.icon-slide[data-position="next"]{transform:translate3d(84%,0,0) scale(.78);opacity:.75}.icon-info{top:70%;bottom:0;left:10%;width:80%;height:30%;padding:18px 10px 8px;background:linear-gradient(180deg,rgba(0,0,0,.84),transparent);display:block}.icon-info-title{font-size:clamp(23px,5.3vw,32px)}.icon-info-size{font-size:19px;margin:4px 0 0}.icon-info-provenance{font-size:17px;margin:12px 0 0}}
@media(prefers-reduced-motion:reduce){.icon-slide,.icon-info{transition:none}}

/* Sticky menu anchor offsets, accounting for header height. */
#about,#icons,#exhibitions,#contacts{scroll-margin-top:113px}
@media(max-width:1100px){#about,#icons,#exhibitions,#contacts{scroll-margin-top:82px}}
@media(max-width:650px){#about,#icons,#exhibitions,#contacts{scroll-margin-top:66px}}

/* Gallery polish: enlarged Trinity backdrop and right-edge vignette. */
.icons-section::before{transform:scale(1.35);transform-origin:center center}
.icons-section::after{background:rgba(0,0,0,.80)}
.icons-section{background:#080706}
/* Keep the right-hand shadow independent of the image and caption. */
.icon-carousel::after{content:"";position:absolute;z-index:4;pointer-events:none;top:-100vh;bottom:-100vh;right:0;width:min(23vw,440px);background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.32) 46%,rgba(0,0,0,.82) 100%)}
.icon-carousel-stage{overflow:visible}
.icon-slide[data-position="next"],.icon-slide[data-position="prev"]{cursor:pointer}
/* Caption panel is a reveal layer physically attached to the painted image. */
.icon-info{background:none;transition:left 760ms cubic-bezier(.22,1,.36,1),top 760ms cubic-bezier(.22,1,.36,1),height 760ms cubic-bezier(.22,1,.36,1);isolation:isolate}
.icon-info::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.76) 40%,transparent 100%);clip-path:inset(0 100% 0 0);opacity:0;transition:clip-path 520ms cubic-bezier(.22,1,.36,1),opacity 250ms ease}
.icon-info[data-phase="reveal"]::before,.icon-info[data-phase="text"]::before{clip-path:inset(0 0 0 0);opacity:1}
.icon-info-title,.icon-info-size,.icon-info-provenance{opacity:0;transform:translate3d(-22px,0,0);transition:opacity 450ms ease,transform 550ms cubic-bezier(.22,1,.36,1)}
.icon-info[data-phase="text"] .icon-info-title{transition-delay:0ms;opacity:1;transform:none}
.icon-info[data-phase="text"] .icon-info-size{transition-delay:130ms;opacity:1;transform:none}
.icon-info[data-phase="text"] .icon-info-provenance{transition-delay:260ms;opacity:1;transform:none}
@media(max-width:650px){.icon-carousel::after{width:13vw;opacity:.6}.icon-info::before{background:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.45) 70%,transparent);clip-path:inset(0 0 100% 0)}.icon-info[data-phase="reveal"]::before,.icon-info[data-phase="text"]::before{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.icon-info::before,.icon-info-title,.icon-info-size,.icon-info-provenance{transition:none}}

/* Gallery caption: anchored to the ACTIVE artwork, never floating above it. */
@media (min-width:651px) {
  .icon-info {
    z-index:2;
    background:transparent !important;
    overflow:hidden;
    transition:none !important; /* no stale positions during the slide transition */
    padding:30px 25px 28px 22px;
  }
  .icon-slide[data-position="active"] {z-index:5}
  .icon-info::before {
    inset:0;
    opacity:1;
    background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.75) 40%,rgba(0,0,0,0) 100%);
    clip-path:none !important;
    transform:translate3d(-100%,0,0);
    transition:transform 560ms cubic-bezier(.22,1,.36,1) !important;
    will-change:transform;
  }
  /* Shorter exit only; entrance keeps its original 560ms timing. */
  .icon-info:not([data-phase="reveal"]):not([data-phase="text"])::before {
    transition-duration:260ms !important;
  }
  .icon-info[data-phase="reveal"]::before,
  .icon-info[data-phase="text"]::before {transform:translate3d(0,0,0)}
}
@media (prefers-reduced-motion:reduce) {
  .icon-info::before {transition:none !important}
}

/* Both caption text and shade disappear together in roughly 260ms. */
.icon-info:not([data-phase="text"]) .icon-info-title,
.icon-info:not([data-phase="text"]) .icon-info-size,
.icon-info:not([data-phase="text"]) .icon-info-provenance {
  transition-duration:260ms,260ms!important;
  transition-delay:0ms!important;
}
/* Exit choreography: all captions fade before the gradient retracts. */
.icon-info-title,.icon-info-size,.icon-info-provenance{transition-delay:0ms!important}
/* Entry captions retain their staggered timing. */
.icon-info[data-phase="text"] .icon-info-title{transition-delay:0ms!important}
.icon-info[data-phase="text"] .icon-info-size{transition-delay:130ms!important}
.icon-info[data-phase="text"] .icon-info-provenance{transition-delay:260ms!important}

/* On initial render the active artwork starts at its final size (no entrance
   scaling), so the attached gradient and captions cannot be placed behind it. */
.icon-carousel-stage.gallery-initializing .icon-slide,
.icon-carousel-stage.gallery-initializing .icon-info,
.icon-carousel-stage.gallery-initializing .icon-info::before,
.icon-carousel-stage.gallery-initializing .icon-info-title,
.icon-carousel-stage.gallery-initializing .icon-info-size,
.icon-carousel-stage.gallery-initializing .icon-info-provenance {
  transition: none !important;
}
@media (min-width:651px) {
  .icon-info { z-index:6; }
}

/* Gallery backdrop parallax: matches the first screen's 20% scroll travel.
   Extra overscan keeps the enlarged Trinity image covering the whole section. */
.icons-section::before {
  inset:-8% 0;
  transform:translate3d(0,var(--gallery-parallax,0px),0) scale(1.35);
  will-change:transform;
}
@media(prefers-reduced-motion:reduce){
  .icons-section::before { transform:scale(1.35);will-change:auto; }
}
/* Slightly faster entrance only; outgoing text stays synchronized with shade. */
.icon-info-title,.icon-info-size,.icon-info-provenance {
  transition-duration:350ms,420ms;
}
.icon-info[data-phase="text"] .icon-info-title { transition-delay:0ms!important; }
.icon-info[data-phase="text"] .icon-info-size { transition-delay:90ms!important; }
.icon-info[data-phase="text"] .icon-info-provenance { transition-delay:180ms!important; }

/* Clear hover hint: next/previous icons expand by 12% before selection. */
@media (hover:hover) and (pointer:fine) {
 .icon-slide[data-position="next"]:hover {transform:translate3d(179%,0,0) scale(.716);}
 .icon-slide[data-position="prev"]:hover {transform:translate3d(-120%,0,0) scale(.716);opacity:.82}
}
@media (min-width:651px) and (max-width:1100px) and (hover:hover) and (pointer:fine) {
 .icon-slide[data-position="next"]:hover {transform:translate3d(143%,0,0) scale(.784)}
}
@media (max-width:650px) { .icon-slide[data-position="next"]:hover {transform:translate3d(84%,0,0) scale(.78)} .icon-slide[data-position="prev"]:hover {transform:translate3d(-84%,0,0) scale(.78)} }
/* Exhibitions — large three-column layout derived from Sketch's fourth artboard. */
.exhibitions{background:#050505;min-height:calc(100svh - 113px);padding:75px 4.1vw 92px}
.exhibitions h2{font-weight:600;font-size:clamp(31px,3vw,56px);line-height:1.12;margin:0 0 75px;letter-spacing:-.6px}
.exhibition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(35px,6vw,120px);align-items:start}
.exhibition-card{color:#f7f7f7;text-decoration:none;display:block;min-width:0}
.exhibition-image{width:min(100%,391px);aspect-ratio:1;overflow:hidden;background:#151515;display:flex;align-items:center;justify-content:center}
.exhibition-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.exhibition-card:hover .exhibition-image .exhibition-background{transform:scale(1.08)}
.exhibition-card p{font-size:clamp(19px,1.55vw,30px);font-weight:200;line-height:1.32;max-width:510px;margin:34px 0 0}
.exhibition-card strong{font-weight:400}
.exhibition-artweek{background:#121212;border:1px solid #4b4237;flex-direction:column;text-align:center;gap:22px;transition:background .3s}
.exhibition-artweek span{font-size:clamp(28px,3.2vw,61px);font-weight:400;line-height:1.05;letter-spacing:.06em}
.exhibition-artweek small{font-size:clamp(11px,1vw,19px);letter-spacing:.22em}
.exhibition-card:hover .exhibition-artweek{background:#252018}
.exhibition-card:focus-visible{outline:2px solid white;outline-offset:8px}
@media(max-width:1000px){.exhibitions{padding:55px 30px 75px}.exhibitions h2{margin-bottom:50px}.exhibition-grid{gap:30px}.exhibition-card p{font-size:20px}}
@media(max-width:650px){.exhibitions{padding:46px 20px 65px}.exhibitions h2{font-size:34px;margin-bottom:38px}.exhibition-grid{grid-template-columns:1fr;gap:55px}.exhibition-image{width:min(100%,390px)}.exhibition-card p{margin-top:18px;max-width:430px}}

/* Exhibition cards: original background artworks and SVG lettering from Sketch. */
.exhibition-image { position:relative; isolation:isolate; }
.exhibition-image .exhibition-background {
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .5s ease; transform-origin:center;
}
.exhibition-image .exhibition-title-art {
  position:absolute; z-index:1; left:50%; top:50%;
  width:min(72%,285px); height:auto; max-height:60%; object-fit:contain;
  transform:translate(-50%,-50%); pointer-events:none;
  transition:none;
}
.exhibition-card:hover .exhibition-image .exhibition-background,
.exhibition-card:focus-visible .exhibition-image .exhibition-background {transform:scale(1.1)}
@media(prefers-reduced-motion:reduce) {
 .exhibition-image .exhibition-background,.exhibition-image .exhibition-title-art {transition:none}
}

/* Final exhibition typography: smaller captions, no awkward automatic breaks. */
.exhibition-card p {font-size:clamp(15px,1.15vw,21px);line-height:1.42;max-width:none;overflow-wrap:normal;word-break:normal;hyphens:none;letter-spacing:0}
.exhibition-card strong {font-weight:400}
@media(max-width:1000px){.exhibition-card p{font-size:clamp(15px,1.6vw,19px)}}
@media(max-width:650px){.exhibition-card p{font-size:17px}}

/* Last Sketch artboard — commissions and collaboration. */
.contacts-section{position:relative;min-height:744px;min-height:max(744px,calc(100svh - 112px - 180px));padding:76px clamp(22px,3vw,56px) 84px;background:#090807;isolation:isolate;overflow:hidden}
.contacts-background{position:absolute;z-index:-2;inset:-20% 0;background:url('assets/contact-background.webp') center 46% / cover no-repeat;transform:translate3d(0,var(--contacts-parallax,0px),0) scale(1.12);will-change:transform}
.contacts-overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.81),rgba(0,0,0,.51) 52%,rgba(0,0,0,.35)),rgba(0,0,0,.12)}
.contacts-inner{position:relative;max-width:1400px}
.contacts-inner h2{font-size:clamp(34px,3.05vw,58px);line-height:1.15;font-weight:600;letter-spacing:-.025em;margin:0 0 40px}
.contacts-copy{font-size:clamp(19px,1.56vw,29px);font-weight:200;line-height:1.38;max-width:1250px}
.contacts-copy p{margin:0 0 28px}
.contacts-telegram{color:inherit;text-underline-offset:5px}
.contacts-telegram:hover{opacity:.7}
.site-footer{min-height:223px;background:#050505;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px clamp(22px,3.7vw,70px);color:#eee}
.footer-logo{display:block;flex:none}
.footer-logo img{display:block;width:155px;height:auto;max-height:145px;object-fit:contain;transition:transform .45s ease}
.footer-logo:hover img{transform:scale(1.1)}
.footer-meta{text-align:right;align-self:center;max-width:650px}
.footer-meta p{font-size:clamp(16px,1.25vw,24px);margin:0 0 23px}
.footer-meta small{display:block;font-size:clamp(11px,.75vw,14px);line-height:1.35;color:#bbb}
@media(max-width:800px){.contacts-section{min-height:650px;padding:60px 25px}.contacts-copy{font-size:19px}.contacts-copy br{display:none}.site-footer{min-height:0;flex-wrap:wrap;padding:35px 25px}.footer-meta{text-align:left}.footer-logo img{width:125px}}
@media(prefers-reduced-motion:reduce){.contacts-background{transform:scale(1.12);will-change:auto}.footer-logo img{transition:none}}

/* English-language exhibition lettering, kept separate from original Russian SVG art */
.exhibition-title-en{display:none;position:absolute;inset:0;align-items:center;justify-content:center;text-align:center;padding:12%;font-weight:500;font-size:clamp(22px,2.35vw,40px);line-height:1.15;letter-spacing:.01em;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.8);pointer-events:none}
.exhibition-image.english .exhibition-title-ru{display:none}
.exhibition-image.english .exhibition-title-en{display:flex}
@media(max-width:650px){.exhibition-title-en{font-size:clamp(25px,7vw,36px)}}

/* Language-specific lettering: both supplied SVG versions share the same geometry. */
.exhibition-image .exhibition-title-en { display:none; }
.exhibition-image.english .exhibition-title-ru { display:none; }
.exhibition-image.english .exhibition-title-en { display:block; }
/* Keep the requested manual break for the Russian disclaimer. */
.footer-meta small { text-wrap:pretty; }

/* Footer: keep the Russian legal notice in exactly two lines on desktop. */
@media (min-width: 1101px) {
  .footer-meta { max-width: 980px; flex: 1 1 0; min-width: 0; }
  .footer-meta small[ data-i18n="footer-disclaimer" ] { white-space: nowrap; }
}
@media (max-width: 1100px) {
  .footer-meta small[data-i18n="footer-disclaimer"] { white-space: normal; }
}

/* Exhibition lettering: language- and card-specific optical sizing. */
.exhibition-image.english .exhibition-title-art[src$="exhibition-aucverb-text-en.svg"] {
  width:min(90%,356px); /* 25% larger than standard 72% / 285px */
  max-height:75%;
}
.exhibition-image:not(.english) .exhibition-title-art[src$="exhibition-gogol-text.svg"] {
  width:min(61.2%,242px); /* 15% smaller than standard */
  max-height:51%;
}

/* Slides outside the immediate neighbors stay out of sight in the expanded gallery. */
.icon-slide[data-position="hidden"]{opacity:0;pointer-events:none;z-index:0;transform:translate3d(225%,0,0) scale(.5)}

/* Neighbor slides materialize in their final slots: no flying shadow/ghost. */
.icon-carousel-stage .icon-slide.gallery-snap {
  transition: none !important;
}

/* Mobile polish — October 2026 */
@media (max-width:650px) {
  .header {justify-content:space-between;}
  .menu-toggle {order:-1;flex:0 0 auto;margin-right:auto;padding:6px 5px 6px 0;}
  .header-right {margin-left:0;margin-right:0;gap:15px;}
  .nav {top:66px;}

  /* No bounding rectangle around the whole carousel. Interactive neighbors
     still remain keyboard reachable and are separately named. */
  .icon-carousel-stage:focus-visible {outline:none;}
  .icons-section {padding:35px 0 50px;}
  .icon-carousel-stage {height:min(720px,80svh);min-height:490px;}
  .icon-slide {left:2%;width:96%;height:78%;top:0;}
  .icon-slide[data-position="prev"] {transform:translate3d(-86%,0,0) scale(.58);opacity:.35;}
  .icon-slide[data-position="next"] {transform:translate3d(86%,0,0) scale(.58);opacity:.8;}
  .icon-slide[data-position="active"] {transform:translate3d(0,0,0) scale(1);}
  .icon-slide[data-position="prev"]:hover {transform:translate3d(-86%,0,0) scale(.58);}
  .icon-slide[data-position="next"]:hover {transform:translate3d(86%,0,0) scale(.58);}
  .icon-info {left:2%;width:96%;top:78%;height:22%;bottom:auto;padding:13px 12px 6px;background:none;}
  .icon-info::before {background:linear-gradient(180deg,rgba(0,0,0,.94),rgba(0,0,0,.67) 62%,transparent);}
  .icon-info-title {font-size:clamp(21px,5vw,26px);line-height:1.1;}
  .icon-info-size {font-size:clamp(16px,3.8vw,19px);margin-top:4px;}
  .icon-info-provenance {font-size:clamp(14px,3.5vw,17px);margin-top:10px;}

  .exhibition-grid {justify-items:center;}
  .exhibition-card {width:min(100%,390px);margin-inline:auto;}
  .exhibition-image {margin-inline:auto;}
  .exhibition-card p {text-align:center;margin-left:auto;margin-right:auto;}
  .exhibitions h2 {text-align:left;}

  .site-footer {flex-wrap:nowrap;align-items:stretch;gap:14px;padding:24px 18px;}
  .footer-logo img {width:clamp(78px,22vw,116px);max-height:none;}
  .footer-meta {flex:1;min-width:0;max-width:none;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;text-align:left;}
  .footer-meta p {font-size:clamp(11px,2.8vw,16px);margin:0 0 8px;}
  .footer-meta small[data-i18n="footer-disclaimer"] {font-size:clamp(9px,2.05vw,11px);line-height:1.27;letter-spacing:-.1px;white-space:normal;text-wrap:balance;}
  .footer-meta small[data-i18n="footer-disclaimer"] br {display:none;}
}

/* Final mobile gallery: expose both neighboring icons without shrinking the
   selected artwork, and align the caption to its actual contained image. */
@media(max-width:650px){
  .icon-slide[data-position="prev"]{transform:translate3d(-55%,0,0) scale(.66);opacity:.72;}
  .icon-slide[data-position="next"]{transform:translate3d(55%,0,0) scale(.66);opacity:.85;}
  .icon-slide[data-position="prev"]:hover{transform:translate3d(-55%,0,0) scale(.66);}
  .icon-slide[data-position="next"]:hover{transform:translate3d(55%,0,0) scale(.66);}
  .icon-info{left:var(--info-left,2%);width:var(--info-width,96%);top:var(--info-top,78%);height:var(--info-height,22%);max-width:none;}
  .footer-meta{align-items:flex-end;text-align:right;}
  .footer-meta p,.footer-meta small{text-align:right;width:100%;}
  .footer-meta small[data-i18n="footer-disclaimer"]{font-size:clamp(8px,1.86vw,10px);line-height:1.22;letter-spacing:-.2px;text-wrap:initial;}
}

/* Mobile gallery: gently darken the adjacent icons so the active icon
   remains visually forward. The complete image and its frame stay visible. */
@media (max-width:650px) {
  .icon-slide[data-position="prev"],
  .icon-slide[data-position="next"] {
    filter: brightness(.68);
    transition: transform 760ms cubic-bezier(.22,1,.36,1), opacity 650ms ease, filter 350ms ease;
  }
  .icon-slide[data-position="active"] { filter: brightness(1); }
}

/* Mobile-only caption reveal: never inherit the desktop sideways motion.
   The caption shade slides down from behind the active icon, and retracts up. */
@media (max-width:650px) {
  .icon-info {
    overflow: hidden;
    background: transparent !important;
    isolation: isolate;
  }
  .icon-info::before {
    inset: 0;
    opacity: 1;
    clip-path: none !important;
    background: linear-gradient(180deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.67) 62%,transparent 100%);
    transform: translate3d(0,-101%,0);
    transition: transform 520ms cubic-bezier(.22,1,.36,1) !important;
    will-change: transform;
  }
  .icon-info[data-phase="reveal"]::before,
  .icon-info[data-phase="text"]::before {
    transform: translate3d(0,0,0);
  }
  .icon-info:not([data-phase="reveal"]):not([data-phase="text"])::before {
    transition-duration: 260ms !important;
  }
}
@media (max-width:650px) and (prefers-reduced-motion:reduce) {
  .icon-info::before {transition: none !important;}
}

/* Mobile gallery: the caption box must snap to the selected icon.
   The desktop left/top/height transition was dragging the mobile shade sideways. */
@media (max-width:650px) {
  .icon-carousel-stage .icon-info {
    transition: none !important;
    animation: none !important;
    background: transparent !important;
  }
  .icon-carousel-stage .icon-info::before {
    transform: translate3d(0,-101%,0);
    clip-path: none !important;
    transition-property: transform !important;
  }
  .icon-carousel-stage .icon-info[data-phase="reveal"]::before,
  .icon-carousel-stage .icon-info[data-phase="text"]::before {
    transform: translate3d(0,0,0);
  }
}

/* Keep two intentional breaks in the mobile footer legal notice. */
@media (max-width:650px){
  .footer-meta small[data-i18n="footer-disclaimer"] br {display:block;}
  .footer-meta small[data-i18n="footer-disclaimer"] {text-wrap:initial;}
}


/* Artist's photographs in the commissions section. Fixed portrait masks,
   with centered hover zoom like the About section. */
.contacts-inner {max-width: 1760px; margin-inline:auto;}
.contacts-body {display:grid;grid-template-columns:minmax(0,1fr) minmax(0, .95fr);gap:clamp(28px,3.5vw,70px);align-items:center;}
.contacts-copy {min-width:0;max-width:760px;}
.contacts-photos {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.55vw,28px);min-width:0;align-items:center;}
.contacts-photo {aspect-ratio:390 / 521;position:relative;overflow:hidden;min-width:0;background:#15120f;}
.contacts-photo img {display:block;width:100%;height:100%;object-fit:cover;transform:scale(1);transform-origin:center center;transition:transform 550ms cubic-bezier(.22,1,.36,1);will-change:transform;}
.contacts-photo:hover img {transform:scale(1.12);}
@media(max-width:1240px) {
  .contacts-body {grid-template-columns:1fr;gap:34px;}
  .contacts-copy {max-width:100%;}
  .contacts-photos {max-width:815px;width:100%;margin-inline:auto;}
}
@media(max-width:650px) {
  .contacts-body {gap:25px;}
  .contacts-photos {gap:12px;}
}
@media(prefers-reduced-motion:reduce) {
  .contacts-photo img {transition:none;will-change:auto;}
}
