
  /* ============ TOKENS ============ */
  :root{
    --paper:#fbfaf8;        /* галерейный белый, не крем */
    --ink:#111110;
    --graphite:#6e6c68;
    --rule:#e2e0da;
    --carmine:#a31e2b;      /* взят с холстов «Изгнанные» / «Степень искренности» */
    --night:#14140f;

    --display:'Prata', Georgia, serif;
    --mono:'JetBrains Mono', ui-monospace, monospace;
    --body:'Inter', system-ui, sans-serif;

    --cm:5.76px;            /* 1 см = 5.76 px — истинный масштаб (−10%) */
    --cm-grid:3.1px;        /* масштаб холстов в каталоге */
    --cm-strip:2.4px;       /* масштаб в полосе на главной */
    --pad:clamp(20px, 5vw, 88px);
    --maxw:1500px;
  }

  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    background:var(--paper); color:var(--ink);
    font-family:var(--body); font-weight:300;
    -webkit-font-smoothing:antialiased;
    overflow-x:clip;                 /* защита от переполнения, не ломает sticky (в отличие от hidden) */
  }
  main{min-height:calc(100vh - 130px)}   /* прижимает футер к низу, но не мешает sticky-меню */
  ::selection{background:var(--carmine); color:#fff}
  a{color:inherit}
  a:visited{color:inherit}
  .brand, .brand:visited{color:var(--ink)}
  img{display:block; max-width:100%}

  .wrap{max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad)}

  /* утилитарный моноширинный — «шрифт документации», как в PDF-портфолио */
  .mono{font-family:var(--mono); font-size:11px; font-weight:400; letter-spacing:.06em; text-transform:uppercase; color:var(--graphite)}

  /* ============ NAV ============ */
  nav{
    position:sticky; top:0; z-index:60;
    background:color-mix(in srgb, var(--paper) 88%, transparent);
    backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--rule);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    padding-block:18px;
    max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad);
  }
  .brand{display:flex; align-items:baseline; gap:10px; text-decoration:none; white-space:nowrap}
  .brand-name{font-family:var(--display); font-size:17px; letter-spacing:.01em}
  .brand-role{font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--graphite);
              padding-left:10px; border-left:1px solid var(--rule)}
  .nav-right{display:flex; align-items:center; gap:clamp(14px,2.4vw,34px)}
  .nav-right a{font-family:var(--mono); font-size:11px; letter-spacing:.1em; word-spacing:-.15em; text-transform:uppercase; text-decoration:none; color:var(--graphite); transition:color .2s; white-space:nowrap}
  .nav-right a:hover, .nav-right a:focus-visible{color:var(--ink)}

  .lang{position:relative}
  .lang-btn{
    display:flex; align-items:center; gap:6px; cursor:pointer;
    font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--graphite); background:none; border:none; padding:4px 0; transition:color .2s;
  }
  .lang-btn:hover{color:var(--ink)}
  .lang-btn svg{transition:transform .25s}
  .lang.open .lang-btn svg{transform:rotate(180deg)}
  .lang-menu{
    position:absolute; top:calc(100% + 10px); right:0; display:none; flex-direction:column;
    background:var(--paper); border:1px solid var(--rule); min-width:74px;
  }
  .lang.open .lang-menu{display:flex}
  .lang-menu button{
    font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--graphite); background:none; border:none; padding:9px 14px; text-align:left; cursor:pointer;
    transition:color .2s, background .2s;
  }
  .lang-menu button:hover{color:var(--ink); background:#f1efe9}
  .lang-menu button[aria-current="true"]{color:var(--carmine)}


  /* ---- кастомный курсор: круг с точкой, инверсия ---- */
  .dot-cursor{position:fixed; will-change:transform; left:0; top:0; z-index:100; pointer-events:none;
    width:44px; height:44px; margin:-22px 0 0 -22px; border-radius:50%;
    border:1px solid #fff; mix-blend-mode:difference;
    opacity:0; transition:opacity .25s, width .25s, height .25s, margin .25s}
  .dot-cursor::after{content:''; position:absolute; left:50%; top:50%; width:5px; height:5px;
    margin:-2.5px 0 0 -2.5px; border-radius:50%; background:#fff}
  .dot-cursor.show{opacity:1}
  .dot-cursor.big{width:60px; height:60px; margin:-30px 0 0 -30px}

  /* ============ COVER (фото на всю ширину, заголовок поверх) ============ */
  .cover-full{position:relative; min-height:clamp(600px,98vh,1080px); display:flex; overflow:hidden}
  .cover-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block}
  .cover-full-inner{position:relative; z-index:2; width:100%; align-self:flex-end;
    padding-bottom:clamp(150px,26vh,300px); padding-right:clamp(80px,13vw,220px); display:flex; justify-content:flex-end}
  /* заголовок — как все заголовки (Prata), белый, две строки */
  .cover-full .cover-title{font-family:var(--display); font-weight:400; color:#fff; text-align:right;
    font-size:clamp(52px,8vw,116px); line-height:1.12; letter-spacing:.02em}
  .cover-full .cover-title span{display:block; padding-block:.02em}

  /* стрелка прокрутки вниз на обложке */
  .cover-scroll{position:absolute; z-index:3; left:50%; bottom:clamp(60px,10vh,110px); transform:translateX(-50%);
    color:#fff; transition:color .25s; animation:scrollBob 2s ease-in-out infinite}
  .cover-scroll svg{width:26px; height:48px; display:block; color:#fff}
  .cover-scroll:hover{color:var(--carmine)}
  .cover-scroll:hover svg{color:var(--carmine)}
  .cover-scroll path{stroke:#fff}
  .cover-scroll:hover path{stroke:var(--carmine)}
  @keyframes scrollBob{0%,100%{transform:translateY(0); opacity:.55} 50%{transform:translateY(6px); opacity:1}}

  /* зум-обёртки: картинка не вылезает за рамку при увеличении */
  .cell-stage{overflow:hidden}
  .lb-figure{overflow:hidden}

  /* ============ MANIFESTO ============ */
  .manifesto{background:var(--night); color:var(--paper); padding-block:clamp(44px,7vh,80px); margin-top:0}
  .manifesto-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:clamp(28px,6vw,90px); align-items:start}
  .manifesto-col{max-width:40em}
  .manifesto-h{font-family:var(--display); font-size:clamp(20px,1.9vw,26px); font-weight:400; letter-spacing:-.005em; color:var(--paper); margin-bottom:clamp(18px,2.6vh,28px)}
  .manifesto blockquote{border:none; padding:0}
  .manifesto blockquote p{
    font-size:clamp(14px,1.05vw,16px); line-height:1.85; font-weight:300; font-style:italic;
    color:#dedbd3; letter-spacing:0;
  }
  .manifesto blockquote p + p{margin-top:1.1em}
  .manifesto-sign{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#8b8880; margin-top:clamp(28px,5vh,52px)}

  /* ============ WORKS ============ */
  .works{padding-block:clamp(64px,11vh,130px)}
  .works-head{display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding-bottom:8px}
  .works-head h2{font-family:var(--display); font-size:clamp(28px,3.4vw,44px); font-weight:400; letter-spacing:-.01em}
  .scale-note{font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--graphite); text-align:right; max-width:230px; line-height:1.6}

  .plate{
    display:grid; grid-template-columns:auto minmax(220px, 340px);
    gap:clamp(28px,4vw,64px);
    align-items:end; justify-content:center;          /* подпись выравнивается по низу картины */
    padding-block:clamp(48px,8vh,96px);
  }
  .plate.flip{grid-template-columns:minmax(220px,340px) auto}
  .plate.flip .plate-caption{order:-1; text-align:right}
  .plate-caption{padding-bottom:6px}

  /* картинка + линейки, равные отступы */
  .plate-figure{position:relative; margin:0; background:none; border:none; padding:0; display:inline-block; line-height:0; cursor:pointer;
    justify-self:center; overflow:visible}
  .plate.flip .plate-figure{justify-self:center}
  .plate-figure img{height:calc(var(--h) * var(--cm)); width:auto; max-width:100%; display:block; transition:opacity .35s ease}
  .plate-figure:hover img, .plate-figure:focus-visible img{opacity:.86}
  .plate-figure:focus-visible{outline:1px solid var(--carmine); outline-offset:8px}

  .pr-v{position:absolute; right:calc(100% + 16px); top:0; bottom:0; width:20px; border-left:1px solid var(--rule)}
  /* на перевёрнутом развороте картинка справа → линейку выносим вправо (наружу) */
  .plate.flip .pr-v{right:auto; left:calc(100% + 16px); border-left:none; border-right:1px solid var(--rule)}
  .plate.flip .pr-v::before, .plate.flip .pr-v::after{left:auto; right:0}
  .plate.flip .pr-v span{left:auto; right:-6px; transform:translate(100%,-50%) rotate(0deg); writing-mode:vertical-rl}
  .pr-v::before,.pr-v::after{content:''; position:absolute; left:0; width:6px; height:1px; background:var(--graphite)}
  .pr-v::before{top:0} .pr-v::after{bottom:0}
  .pr-v span{position:absolute; left:-6px; top:50%; transform:translate(-100%,-50%) rotate(180deg); writing-mode:vertical-rl; font-family:var(--mono); font-size:9px; letter-spacing:.12em; color:var(--graphite); white-space:nowrap}
  .pr-h{position:absolute; left:0; right:0; top:calc(100% + 34px); height:20px; border-top:1px solid var(--rule)}
  .pr-h::before,.pr-h::after{content:''; position:absolute; top:0; width:1px; height:6px; background:var(--graphite)}
  .pr-h::before{left:0} .pr-h::after{right:0}
  .pr-h span{position:absolute; top:9px; left:50%; transform:translateX(-50%); font-family:var(--mono); font-size:9px; letter-spacing:.12em; color:var(--graphite); white-space:nowrap}

  .plate-num{font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--carmine); margin-bottom:14px}
  .plate-caption h3{font-family:var(--display); font-size:clamp(22px,2.1vw,30px); font-weight:400; line-height:1.2; letter-spacing:-.01em}
  .plate-caption h3 .alt{display:block; color:var(--graphite); font-size:.66em; margin-top:7px}
  .plate-text{font-size:13.5px; line-height:1.85; color:#4c4a45; margin-top:16px; font-weight:300}

  /* ============ REVIEWS ============ */
  .reviews{padding-block:clamp(64px,11vh,130px)}
  .reviews h2{font-family:var(--display); font-size:clamp(28px,3.4vw,44px); font-weight:400; margin-bottom:clamp(36px,5vh,60px)}
  .reviews-row{display:grid; grid-template-columns:repeat(3,1fr); column-gap:clamp(28px,3.4vw,60px); padding-top:clamp(8px,2vh,20px)}
  .review{display:flex; flex-direction:column; padding:0; border:none}
  .review-who{display:flex; flex-direction:column; gap:0; margin-bottom:22px}
  .review-who > div{margin-top:16px}
  .review-who img{width:64px; height:64px; border-radius:50%; object-fit:cover; filter:grayscale(1)}
  .review-who img.top{object-position:center 8%}
  .review-name{font-family:var(--display); font-size:19px; margin-bottom:8px}
  .review-role{font-family:var(--mono); font-size:9.5px; letter-spacing:.07em; text-transform:uppercase; color:var(--graphite); line-height:1.75; min-height:3.5em}
  .review-quote{font-size:14.5px; line-height:1.8; color:#3a3934; font-weight:300; padding-top:20px; border-top:1px solid var(--rule)}
  .review-more{
    display:inline-flex; align-items:center; gap:8px; margin-top:20px; cursor:pointer;
    font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase;
    color:var(--carmine); background:none; border:none; padding:0; transition:gap .2s;
  }
  .review-more:hover{gap:14px}

  /* ============ CONTACT ============ */
  .contact{padding-block:clamp(64px,11vh,130px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:end}
  .contact h2{font-family:var(--display); font-size:clamp(28px,3.4vw,44px); font-weight:400; line-height:1.1; letter-spacing:-.01em}
  .contact-note{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--graphite); margin-top:20px; line-height:1.8}
  .contact-list{display:flex; flex-direction:column}
  .contact-list a{display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:20px 0; border-top:1px solid var(--rule); text-decoration:none; transition:color .2s}
  .contact-list a:last-child{border-bottom:1px solid var(--rule)}
  .contact-list a:hover{color:var(--carmine)}
  .contact-key{font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--graphite)}
  .contact-val{font-size:clamp(15px,1.5vw,19px)}

  footer{border-top:1px solid var(--rule)}
  .footer-inner{max-width:var(--maxw); margin:0 auto; padding:26px var(--pad); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}
  footer span{font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--graphite)}

  /* ============ LIGHTBOX ============ */
  .lb{position:fixed; inset:0; z-index:9999; display:none; background:var(--paper); overflow-y:auto; -webkit-overflow-scrolling:touch}
  .lb.open{display:block}

  /* крестик-закрытие */
  .lb-close{position:fixed; top:22px; right:var(--pad); z-index:6; width:26px; height:26px;
    background:none; border:none; cursor:pointer; padding:0}
  .lb-close::before, .lb-close::after{content:''; position:absolute; left:50%; top:50%; width:22px; height:1px;
    background:var(--ink); transition:background .2s, transform .3s}
  .lb-close::before{transform:translate(-50%,-50%) rotate(45deg)}
  .lb-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
  .lb-close:hover::before, .lb-close:hover::after{background:var(--carmine)}
  .lb-close:hover::before{transform:translate(-50%,-50%) rotate(135deg)}
  .lb-close:hover::after{transform:translate(-50%,-50%) rotate(45deg)}

  .lb-count{position:fixed; top:24px; left:var(--pad); z-index:6; font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--carmine)}

  /* стрелки по бокам, по вертикали центр */
  .lb-arrow{position:fixed; top:50%; transform:translateY(-50%); z-index:6;
    width:52px; height:52px; background:none; border:none; cursor:pointer; color:var(--ink);
    display:flex; align-items:center; justify-content:center; transition:color .2s, gap .2s}
  .lb-arrow svg{width:30px; height:30px}
  .lb-arrow:hover{color:var(--carmine)}
  .lb-prev{left:clamp(10px,2vw,34px)} .lb-next{right:clamp(10px,2vw,34px)}

  /* тело: картина + описание; равные отступы линеек ---- */
  .lb-body{position:relative; display:grid; min-height:100%;
    grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);
    gap:clamp(30px,4vw,72px); align-items:center;
    padding:clamp(64px,9vh,100px) calc(var(--pad) + 56px)}

  .lb-stage{position:relative; display:inline-flex; align-items:center; justify-content:center; min-width:0; touch-action:manipulation;
    justify-self:center}
  .lb-figure{position:relative; display:inline-block; line-height:0}
  .lb-figure img{max-width:100%; max-height:68vh; object-fit:contain; display:block}

  /* вертикальная линейка — слева от картины, равный отступ */
  .lb-ruler-v{position:absolute; right:calc(100% + 14px); top:0; bottom:0; width:20px; border-left:1px solid var(--rule)}
  .lb-ruler-v::before, .lb-ruler-v::after{content:''; position:absolute; left:0; width:6px; height:1px; background:var(--graphite)}
  .lb-ruler-v::before{top:0} .lb-ruler-v::after{bottom:0}
  .lb-ruler-v span{position:absolute; left:-6px; top:50%; transform:translate(-100%,-50%) rotate(180deg);
    writing-mode:vertical-rl; font-family:var(--mono); font-size:9px; letter-spacing:.12em; color:var(--graphite); white-space:nowrap}

  /* горизонтальная линейка — под картиной, ровно её ширины, тот же отступ */
  .lb-ruler-h{position:absolute; left:0; right:0; top:calc(100% + 14px); height:20px; border-top:1px solid var(--rule)}
  .lb-ruler-h::before, .lb-ruler-h::after{content:''; position:absolute; top:0; width:1px; height:6px; background:var(--graphite)}
  .lb-ruler-h::before{left:0} .lb-ruler-h::after{right:0}
  .lb-ruler-h span{position:absolute; top:9px; left:50%; transform:translateX(-50%);
    font-family:var(--mono); font-size:9px; letter-spacing:.12em; color:var(--graphite); white-space:nowrap}

    .lb-meta{align-self:center; max-width:380px}
  .lb-num{font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--carmine); margin-bottom:16px}
  .lb-meta h3{font-family:var(--display); font-size:clamp(26px,2.6vw,38px); font-weight:400; line-height:1.15}
  .lb-meta h3 .alt{display:block; color:var(--graphite); font-size:.62em; margin-top:8px}
  .lb-specs{font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--graphite); margin-top:18px; padding:16px 0; border-block:1px solid var(--rule)}
  .lb-desc{font-size:14px; line-height:1.85; color:#4c4a45; margin-top:18px}

  /* ============ MODAL ============ */
  .modal{position:fixed; inset:0; z-index:220; display:none; background:rgba(17,17,16,.6); padding:clamp(16px,5vh,60px); overflow:auto}
  .modal.open{display:grid; place-items:start center}
  .modal-card{background:var(--paper); max-width:760px; width:100%; padding:clamp(28px,5vw,60px)}
  .modal-close{float:right; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--graphite); background:none; border:none; cursor:pointer}
  .modal-close:hover{color:var(--ink)}
  .modal-head{display:flex; align-items:center; gap:16px; margin-bottom:30px}
  .modal-head img{width:58px; height:58px; border-radius:50%; object-fit:cover; filter:grayscale(1)}
  .modal-body p{font-size:15px; line-height:1.85; color:#3a3934; margin-bottom:1.15em}

  /* ============ MOTION ============ */
  .rise{opacity:0; transform:translateY(14px); transition:opacity .8s ease, transform .8s cubic-bezier(.22,.61,.36,1)}
  .rise.in{opacity:1; transform:none}
  @media (prefers-reduced-motion:reduce){
    *{animation:none !important; transition:none !important}
    .rise{opacity:1; transform:none}
    html{scroll-behavior:auto}
  }


  /* ============ WORKS INDEX (works.html + главная) ============ */
  .works-index{padding-block:0}
  .page-head{padding-block:clamp(40px,7vh,84px) 0}
  .page-head .kicker{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--carmine); margin-bottom:18px}
  .page-head h1, .page-head h2{font-family:var(--display); font-size:clamp(28px,3.4vw,44px); font-weight:400; line-height:1.1; letter-spacing:-.01em}
  .page-head .sub{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--graphite); margin-top:18px}

  /* равные плитки: холст кадрируется в квадрат, подпись выровнена по левому краю картины */
  /* 8 × 2 — вся серия на одном экране */
  .grid{
    display:grid; grid-template-columns:repeat(8, 1fr);
    gap:clamp(18px,1.8vw,30px);            /* одинаковый зазор по ширине и высоте */
    padding-block:clamp(24px,4vh,46px) clamp(48px,8vh,96px);
  }
  .cell a{display:block; text-decoration:none; color:inherit}
  .cell-btn{display:block; width:100%; padding:0; border:none; background:none; cursor:pointer; text-align:left; -webkit-tap-highlight-color:transparent; touch-action:manipulation}
  @media (hover:hover){ .cell-btn{cursor:none} }
  .cell-stage{position:relative; aspect-ratio:1/1; overflow:hidden; background:#efeee9}
  .cell-stage img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .7s cubic-bezier(.22,.61,.36,1), opacity .35s ease;
  }
  .cell-btn:hover .cell-stage img, .cell a:hover .cell-stage img{transform:scale(1.04); opacity:.92}

  /* подпись: номер и название, без размера */
  .cell-meta{display:flex; align-items:baseline; gap:7px; padding-top:10px}
  .cell-num{font-family:var(--mono); font-size:9px; letter-spacing:.08em; color:var(--carmine); flex:none}
  .cell-name{font-family:var(--display); font-size:13.5px; line-height:1.35}

  /* ============ SINGLE WORK (work-NN.html) ============ */
  .work-page{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr); gap:clamp(28px,5vw,80px); padding-block:clamp(36px,6vh,72px); align-items:center}
  .work-stage{display:flex; align-items:center; justify-content:center; min-width:0; overflow:hidden; cursor:zoom-in}
  .work-stage img{max-width:100%; max-height:76vh; object-fit:contain; transition:transform .4s cubic-bezier(.22,.61,.36,1); transform-origin:center; will-change:transform}
  .work-stage.zooming img{transition:transform .1s linear}
  .work-info .num{font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--carmine); margin-bottom:18px}
  .work-info h1{font-family:var(--display); font-size:clamp(28px,3.2vw,46px); font-weight:400; line-height:1.12; letter-spacing:-.01em}
  .work-info h1 .alt{display:block; color:var(--graphite); font-size:.6em; margin-top:10px}
  .work-specs{font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--graphite); margin-top:22px; padding:16px 0; border-block:1px solid var(--rule)}
  .work-desc{font-size:15px; line-height:1.85; color:#3a3934; margin-top:20px}
  .work-desc .sec{display:block; margin-top:20px; padding-top:20px; border-top:1px solid var(--rule); color:var(--graphite); font-size:14px}
  .work-hint{font-family:var(--mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--graphite); margin-top:24px}

  .work-nav{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 0; border-top:1px solid var(--rule)}
  .work-nav a{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--graphite); text-decoration:none; transition:color .2s}
  .work-nav a:hover{color:var(--carmine)}
  .work-nav .all{color:var(--ink)}

  /* ============ RESPONSIVE ============ */
  @media (max-width:1080px){
    :root{--cm:5px}
    .lb-body{grid-template-columns:1fr; align-items:start; padding-top:72px; padding-bottom:40px}
    .lb-stage{cursor:default; padding:0}
    .lb-stage img{max-height:52vh; transform:none !important}
  }
  @media (max-width:1080px){
    .grid{grid-template-columns:repeat(4,1fr)}
    .reviews-row{grid-template-columns:1fr; row-gap:44px}
    .review-role{min-height:0}
    .work-page{grid-template-columns:1fr; gap:28px; align-items:start}
    .work-stage{cursor:default}
    .work-stage img{max-height:56vh; transform:none !important}
    .work-hint{display:none}
  }
  @media (max-width:860px){
    :root{--cm:4.1px}
    /* компактная шапка: без «художник» и без Reviews (доступ через секцию Reviews на главной) */
    .brand-role{display:none}
    .nav-right a[data-i18n="nav_reviews"]{display:none}
    .nav-inner{padding-inline:var(--pad); gap:14px}
    .nav-right{gap:14px}
    .nav-right a{font-size:10px; letter-spacing:.06em; word-spacing:-.2em}

    .cover-full{min-height:72vh}
    .cover-bg{object-position:center 55%}
    /* заголовок вправо, крупнее, ближе к центру картинки */
    .cover-full-inner{padding-bottom:clamp(160px,32vh,340px); padding-right:var(--pad); justify-content:flex-end}
    .cover-full .cover-title{text-align:right; font-size:clamp(48px,12.5vw,74px); max-width:none; line-height:1.08}
    /* русский шире английского — уменьшаем ещё */
    :root:lang(ru) .cover-full .cover-title{font-size:clamp(40px,10.5vw,62px)}
    .cover-scroll{display:none}
    .cover-meta{margin-bottom:18px}
    .manifesto-grid{grid-template-columns:1fr; gap:22px}
    .plate, .plate.flip{grid-template-columns:auto auto; justify-content:start; gap:14px; padding-block:44px}
    .plate-caption, .plate.flip .plate-caption{grid-column:1 / -1; order:2; text-align:left; padding-top:22px}
    .plate.flip .plate-scale{order:0}
    .review{grid-template-columns:1fr; gap:18px}
    .contact{grid-template-columns:1fr; gap:34px; align-items:start}
    .works-head{flex-direction:column; align-items:flex-start; gap:10px}
    .scale-note{text-align:left; max-width:none}
  }
  @media (max-width:520px){
    .grid{grid-template-columns:repeat(2,1fr); column-gap:14px; row-gap:26px}
    .cell-name{font-size:14px}
    .cell-num{font-size:10px}
    :root{--cm:3.3px}
    .nav-right{gap:12px}
    .nav-right a{font-size:10px; letter-spacing:.06em; word-spacing:-.2em}
    .plate-figure img{max-width:100%; height:auto; width:calc(var(--w) * var(--cm))}
    .plate-scale{display:none}
  }

  /* линейки на странице работы */
  .work-figure{position:relative; display:inline-block; line-height:0; overflow:hidden}
  .work-figure img{max-width:100%; max-height:76vh; object-fit:contain; display:block; transition:transform .18s ease-out; will-change:transform}
  .wr-v{position:absolute; right:calc(100% + 14px); top:0; bottom:0; width:20px; border-left:1px solid var(--rule)}
  .wr-v::before,.wr-v::after{content:''; position:absolute; left:0; width:6px; height:1px; background:var(--graphite)}
  .wr-v::before{top:0} .wr-v::after{bottom:0}
  .wr-v span{position:absolute; left:-6px; top:50%; transform:translate(-100%,-50%) rotate(180deg); writing-mode:vertical-rl; font-family:var(--mono); font-size:9px; letter-spacing:.12em; color:var(--graphite); white-space:nowrap}
  .wr-h{position:absolute; left:0; right:0; top:calc(100% + 14px); height:20px; border-top:1px solid var(--rule)}
  .wr-h::before,.wr-h::after{content:''; position:absolute; top:0; width:1px; height:6px; background:var(--graphite)}
  .wr-h::before{left:0} .wr-h::after{right:0}
  .wr-h span{position:absolute; top:9px; left:50%; transform:translateX(-50%); font-family:var(--mono); font-size:9px; letter-spacing:.12em; color:var(--graphite); white-space:nowrap}
  .work-stage{cursor:none; overflow:visible; padding:0 0 34px 34px}

  /* iOS Safari фикс: sticky ломается при прыжке адресной строки — используем fixed на мобильной */
  @media (max-width:860px){
    nav{position:fixed; top:0; left:0; right:0; z-index:100; background:var(--paper); backdrop-filter:none}
    body{padding-top:64px}   /* компенсируем убранное из потока меню */
  }
