/*
Theme Name: Музей истории медицины и фармации (rfm)
Description: Оформление сайта rfm.spb.ru. Собирается из исходников tools/build_wp.py - править исходники, не файлы на сайте.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: rfm
*/
/* Музей «РетроФармаМед»: общие основы (цвета, шрифты, кнопки) и главы главной. Шапка, подвал, окна и формы - shell.css,
   внутренние страницы - pages.css. Тона прежние (тёмная тёплая основа, золото, кость, состаренная бумага),
   но без мути: нет зерна, тумана, виньетки, свечений; чёрное - чёрное, текст без прозрачности, экспонаты и фотографии в своих цветах.
   Главы главной, добавленные в третьей версии (сигнатура, альбом, мензурки, вырезки, карта), написаны от класса body.home:
   те же имена классов на внутренних страницах оформляются своими файлами css/. */
:root{
  --bg:#16110b; --bg2:#0e0b07;
  --bone:#f1e8d2; --bone2:#cfc2a3;
  --gold:#f0be62; --gold-d:#c9923a;
  --paper:#e9dab4; --ink:#1c1206;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --text:'Old Standard TT',Georgia,'Times New Roman',serif;
  --zh:'Noto Serif SC','Songti SC','STSong','SimSun',serif;
  --pad:clamp(16px,4.4vw,72px);
  --hd:58px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--bone);font-family:var(--text);font-size:18px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.zh{font-family:var(--zh)}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:.005em}
.zh h1,.zh h2,.zh h3{font-family:var(--zh);font-weight:600;line-height:1.2}
em{font-style:italic}
.zh em{font-style:normal}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-family:var(--text);font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.zh .eyebrow{letter-spacing:.16em}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* кнопки */
.btn{display:inline-block;font-family:var(--text);font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;padding:14px 28px;border:1px solid var(--gold-d);color:var(--gold);transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
.btn:hover{background:var(--gold);color:#1a1206;border-color:var(--gold)}
.btn.solid{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:700}
.btn.solid:hover{background:#f7d089}
.btn.ticket{color:var(--bone);background:rgba(22,17,11,.42);border-color:var(--gold)}
.btn.ticket:hover{background:var(--gold);color:#1a1206}
.zh .btn{letter-spacing:.08em}

main{position:relative}
section{position:relative}

/* 1. первый экран */
.hero{height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;background:#0b0906}
.hero-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,11,7,.96) 0%,rgba(14,11,7,.86) 24%,rgba(14,11,7,.34) 46%,rgba(14,11,7,0) 62%)}
.hero-in{position:relative;z-index:2;width:100%;padding:0 var(--pad) calc(env(safe-area-inset-bottom) + 100px)}      /* низ экрана занят нижней панелью телефона */
.hero-eye{display:flex;flex-direction:column;gap:6px;text-shadow:0 1px 12px rgba(0,0,0,.75)}
.hero-brand{font-size:.86rem;letter-spacing:.24em}                     /* их строка: «РетроФармаМед» */
.hero-addr{font-size:.66rem;letter-spacing:.26em;color:var(--bone2)}   /* наша строка оформления */
.zh .hero-brand,.zh .hero-addr{letter-spacing:.14em}
.home.zh .palace{font-style:normal;font-size:.84rem;line-height:1.35}          /* китайская подпись про дворец длиннее - держим её в две строки */
.hero h1{font-size:clamp(2.15rem,9.4vw,3rem);color:var(--bone);margin:.3em 0 .36em;text-shadow:0 2px 22px rgba(0,0,0,.6)}
.hero h1 em{color:var(--gold);display:block}
.hero .lede{font-family:var(--serif);font-weight:500;font-size:1.16rem;line-height:1.42;color:var(--bone);max-width:36ch;text-shadow:0 1px 14px rgba(0,0,0,.7)}
.zh .hero .lede{font-family:var(--zh);font-size:1rem}
.hero .btn{margin-top:20px}

/* 2. титульный лист: песок складывается в века и осыпается на лист; на листе - их заголовок, абзац и две кнопки */
.about{padding:0 14px clamp(54px,9vw,110px);display:flex;flex-direction:column;align-items:center;background:linear-gradient(var(--bg2),var(--bg) 30%)}
.ages-stage{width:100%;height:clamp(170px,46vw,210px);position:relative;display:grid;place-items:center}
.ages-static{font-family:var(--serif);font-weight:500;font-size:clamp(3.4rem,17vw,5rem);color:var(--gold);letter-spacing:.04em}
.has-sand .ages-static{visibility:hidden}
.sheet{position:relative;z-index:1;max-width:720px;width:100%;padding:38px 26px;text-align:center;color:var(--ink)}
.sheet::before{content:"";position:absolute;inset:0;z-index:-2;background:#171410;filter:url(#torn2) url(#paper) drop-shadow(0 26px 44px rgba(0,0,0,.6))}
.sheet::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;filter:url(#torn2);mix-blend-mode:multiply;
  background:radial-gradient(ellipse 40% 38% at 12% 92%,rgba(74,50,22,.3),transparent 60%),radial-gradient(ellipse 32% 30% at 90% 9%,rgba(74,50,22,.22),transparent 60%),radial-gradient(ellipse 92% 94% at 50% 50%,transparent 62%,rgba(38,26,12,.42) 100%)}
.tp-kicker{font-family:var(--text);font-size:1.02rem;letter-spacing:.04em;color:#2a1c0a}
.tp-title{font-family:'Playfair Display','Old Standard TT',Georgia,serif;font-weight:900;color:#140c04;text-transform:uppercase;letter-spacing:.012em;line-height:1.06;font-size:clamp(1.62rem,6.6vw,2.9rem);margin-top:2px}
.tp-title em{font-style:normal}
.tp-sub{font-family:var(--text);font-style:italic;font-size:1.08rem;color:#33260f;margin:6px auto 0;max-width:40ch}
.about-h{font-family:var(--serif);font-weight:600;font-size:clamp(1.44rem,5.8vw,1.86rem);line-height:1.14;color:#160d04;max-width:24ch;margin:4px auto 12px}
.about-lede{font-family:var(--text);color:#120b03;font-size:1.16rem;line-height:1.56;max-width:52ch;margin:0 auto}
.about-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px auto 6px}
.about-btns .btn{padding:13px 20px;font-size:.8rem}
.tp-foot{font-family:var(--text);letter-spacing:.07em;font-size:.98rem;color:#3a2a12}
.zh .tp-kicker,.zh .tp-title,.zh .tp-sub,.zh .about-h,.zh .about-lede,.zh .tp-foot{font-family:var(--zh)}
.orn{display:flex;justify-content:center;margin:12px auto;color:#5a3a1e}
.orn svg{width:min(280px,66%);height:auto}
.orn.sm svg{width:min(150px,40%)}

/* сцена коллекции: восемь экспонатов в своих цветах, сцена подкрашена в тон экспоната; нажатие на экспонат - просмотр на весь экран */
.relics{overflow:hidden;background:var(--bg)}
.tone{position:absolute;inset:0}
.tone i{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.tone i.on{opacity:1}
.tone i[data-id=poison]{background:linear-gradient(158deg,#0c1030 0%,#1b2769 50%,#0b0e29 100%)}
.tone i[data-id=lorgnette]{background:linear-gradient(158deg,#0a2117 0%,#1d4f39 50%,#071a12 100%)}
.tone i[data-id=kit]{background:linear-gradient(158deg,#2a070a 0%,#6b141b 50%,#210508 100%)}
.tone i[data-id=jar]{background:linear-gradient(158deg,#09222c 0%,#17505c 50%,#071b23 100%)}
.tone i[data-id=leg]{background:linear-gradient(158deg,#1d1b0b 0%,#4f4a22 50%,#17150a 100%)}
.tone i[data-id=hook]{background:linear-gradient(158deg,#10161c 0%,#2e3d4c 50%,#0c1116 100%)}
.tone i[data-id=cases]{background:linear-gradient(158deg,#1a0f22 0%,#44295b 50%,#150b1c 100%)}
.tone i[data-id=mortar]{background:linear-gradient(158deg,#221604 0%,#5b3f12 50%,#1b1103 100%)}
.tone::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(22,17,11,0) 16%,rgba(22,17,11,0) 84%,var(--bg) 100%)}
.relics-in{position:relative;z-index:1;display:flex;flex-direction:column;padding:calc(var(--hd) + 26px) var(--pad) clamp(52px,9vw,80px)}
.relics-head{order:-2;margin-bottom:6px}
.relics-txt{display:contents}
.kick{font-family:var(--text);font-style:italic;color:var(--gold);font-size:1.04rem;letter-spacing:.04em}
.relics-h{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:.005em;font-size:clamp(2.2rem,9.6vw,3.1rem);color:var(--bone);margin-top:2px}
.relics-h em{color:var(--gold)}
.zh .relics-h{font-family:var(--zh);font-weight:600;line-height:1.2}
.stage{order:-1;position:relative;--sh:min(40svh,360px);height:var(--sh);min-height:280px;margin:8px 0 0}
.ex{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.ex img{flex:none;width:auto;height:auto;max-height:calc(100% - 28px);max-width:86%;filter:drop-shadow(0 16px 14px rgba(0,0,0,.45))}
.ex.on{opacity:1;transform:none}
.ex.on img{pointer-events:auto;cursor:zoom-in}
.ex[data-id=lorgnette]{padding-bottom:30px}
.ex[data-id=lorgnette] img{max-width:94%}
.ex[data-id=kit] img{max-width:92%}
.shelf-line{position:absolute;left:4%;right:4%;bottom:17px;height:1px;background:linear-gradient(90deg,rgba(240,190,98,0),rgba(240,190,98,.75) 18%,rgba(240,190,98,.75) 82%,rgba(240,190,98,0))}
/* экспонат без подписи (у них её тоже нет): карточки нет, сцена занимает и её место, экспонат стоит крупнее */
.relics[data-cap="0"] .stage{height:calc(var(--sh) + 104px);min-height:384px;margin-bottom:-104px}
.relics[data-cap="0"] .ex-cards{pointer-events:none}
.ex-cards{position:relative;margin-top:18px;display:grid}
.ex-card{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .45s ease,transform .5s ease,visibility 0s .45s}
.ex-card.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease .12s,transform .55s ease .12s}
.ex-name{font-family:var(--serif);line-height:1.04;font-size:clamp(1.9rem,7.6vw,2.6rem);color:var(--bone)}
.zh .ex-name{font-family:var(--zh);font-weight:600;line-height:1.2}
.ex-card .mat{font-style:italic;color:var(--gold);font-size:1.1rem;margin:4px 0 10px}
.ex-card .fact{font-size:1.14rem;line-height:1.56;color:var(--bone);max-width:44ch}
.ex-orn{grid-area:1/1;align-self:end;display:flex;justify-content:center;color:var(--gold-d);opacity:0;transition:opacity .5s ease;pointer-events:none}
.ex-orn svg{width:min(240px,60%);height:auto}
.relics[data-cap="0"] .ex-orn{opacity:.85}
.shelf{display:flex;align-items:stretch;gap:8px;margin-top:22px}
.thumbs{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 6px}
.th{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:62px;padding:8px 2px 9px;border-bottom:1px solid rgba(240,190,98,.28);transition:border-color .3s}
.th img{height:44px;width:auto;max-width:100%;object-fit:contain;opacity:.62;transition:opacity .3s,transform .4s}
.th.on{border-bottom-color:var(--gold)}
.th.on img{opacity:1;transform:translateY(-3px)}
.th::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--gold);transform-origin:0 0;transform:scaleX(0)}
.th.on.run::after{animation:dwell var(--dwell,9s) linear forwards}
@keyframes dwell{to{transform:scaleX(1)}}
.arr{flex:none;width:44px;display:grid;place-items:center;border:1px solid rgba(240,190,98,.5);color:var(--gold);transition:background .3s,color .3s}
.arr svg{width:22px;height:22px}
.arr:hover{background:var(--gold);color:#1a1206}
/* без скриптов: подписи четырёх экспонатов идут подряд, все видны */
html:not(.js) .ex-card{grid-area:auto;opacity:1;visibility:visible;transform:none;margin-bottom:18px}
html:not(.js) .ex-orn{display:none}

/* общая крупная строка глав */
.sec-h{font-size:clamp(2.2rem,9.6vw,3.1rem);color:var(--bone)}
.sec-h em{color:var(--gold)}
p.sec-h{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:.005em}          /* наши строки оформления - не заголовки */
.zh p.sec-h{font-family:var(--zh);font-weight:600;line-height:1.2}

/* 3. четыре раздела: музейные бирки на нитках (качание - fx/tags.js; без скрипта висят ровно) */
.offer{padding:calc(var(--hd) + 30px) 0 clamp(46px,7vw,80px);overflow:hidden}
.tags{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 14px;padding:0 var(--pad);margin-top:34px}
.tag{position:relative;display:flex;justify-content:center;align-items:flex-start;--len:34px}
.tag:nth-child(2){--len:58px}.tag:nth-child(3){--len:50px}.tag:nth-child(4){--len:30px}
.tag::before{content:"";position:absolute;left:-7px;right:-7px;top:0;height:1px;background:rgba(240,190,98,.7)}          /* рейка */
.tag::after{content:"";position:absolute;left:50%;top:-3px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--gold)}  /* гвоздик */
.tag-sw{position:relative;width:100%;padding-top:var(--len);transform-origin:50% 0;will-change:transform}
.tag-str{position:absolute;left:50%;top:0;width:1px;height:calc(var(--len) + 22px);background:#d9c48f}
.tag-card{position:relative;display:block;min-height:196px;padding:46px 14px 20px;text-align:center;color:var(--ink);transform-origin:50% 21px;container-type:inline-size;
  background:linear-gradient(175deg,#efe1bd 0%,#e4d3a8 62%,#d8c595 100%);
  clip-path:polygon(24% 0,76% 0,100% 30px,100% 100%,0 100%,0 30px);transition:filter .3s}
.tag-card::before{content:"";position:absolute;left:50%;top:14px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 3px #b39a63,0 0 0 4px rgba(60,40,14,.35)}
.tag-card::after{content:"";position:absolute;left:10px;right:10px;bottom:10px;top:40px;border:1px solid rgba(90,58,30,.34);pointer-events:none}
.tag-card h3{font-family:'Playfair Display','Old Standard TT',Georgia,serif;font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1rem,4.4vw,1.5rem);font-size:min(clamp(1rem,4.4vw,1.5rem),12.6cqw);line-height:1.1;color:#160d04}
.zh .tag-card h3{font-family:var(--zh)}
.tag-card p{font-size:1.02rem;line-height:1.36;color:#33240f;margin-top:8px;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:13 5 5;-webkit-hyphenate-limit-before:6;-webkit-hyphenate-limit-after:6;overflow-wrap:break-word}
.tag-card:hover{filter:brightness(1.06)}
.home .tag-card{padding-bottom:24px}
.home .tag-go{display:inline-block;margin-top:12px;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:#4a1a0c;border-bottom:1px solid currentColor;padding-bottom:1px}
.home.zh .tag-go{letter-spacing:.1em;font-size:.9rem}

/* 4. «В музее вы сможете:» - аптечная сигнатура (разметка .sig, движок fx/sig.js) и альбом с фотографиями посетителей */
.sig{padding:calc(var(--hd) + 30px) 0 clamp(46px,7vw,80px);overflow:hidden}
.sig .sec-h{margin-bottom:22px}
.sig-stand{position:relative;display:grid;grid-template-columns:minmax(0,1fr)}
.sig-bottle{position:relative;z-index:2;width:82px;height:150px;margin:0 0 0 10px;pointer-events:none}
.sig-bottle svg{display:block;width:100%;height:100%;overflow:visible}
html:not(.js) .sig-bottle{display:none}
/* ярлык: сам лист - ::before (бумага с зубчатым краем через маску), ::after - тон старения; тень - фильтром на ярлыке, чтобы повторяла зубцы */
.sig-paper{--hx:61px;--hy:21px;position:relative;z-index:1;margin-top:16px;padding:38px 20px 28px 22px;color:#2a1c0a;filter:drop-shadow(0 14px 18px rgba(0,0,0,.55))}
.sig-paper::before,.sig-paper::after{content:"";position:absolute;left:0;right:0;top:-9px;bottom:-9px;z-index:-1;pointer-events:none;
  -webkit-mask:radial-gradient(circle at 50% 100%,#000 8.6px,transparent 9.2px) 50% 0/18px 9px round no-repeat,radial-gradient(circle at 50% 0,#000 8.6px,transparent 9.2px) 50% 100%/18px 9px round no-repeat,linear-gradient(#000 0 0) 0 8.6px/100% calc(100% - 17.2px) no-repeat;
  mask:radial-gradient(circle at 50% 100%,#000 8.6px,transparent 9.2px) 50% 0/18px 9px round no-repeat,radial-gradient(circle at 50% 0,#000 8.6px,transparent 9.2px) 50% 100%/18px 9px round no-repeat,linear-gradient(#000 0 0) 0 8.6px/100% calc(100% - 17.2px) no-repeat}
.sig-paper::before{background:linear-gradient(172deg,#f0e2bf 0%,#e7d7ae 46%,#dac797 100%);will-change:transform}
.sig-paper::after{mix-blend-mode:multiply;background:radial-gradient(ellipse 50% 40% at 8% 96%,rgba(74,50,22,.16),transparent 60%),radial-gradient(ellipse 36% 30% at 94% 6%,rgba(74,50,22,.12),transparent 60%),linear-gradient(90deg,rgba(38,26,12,.14),transparent 9%,transparent 91%,rgba(38,26,12,.14))}
.sig-line{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(19px,5.1vw,22px);line-height:1.45;padding-left:.55em;text-indent:-.55em;color:#2a1c0a;margin:0}
.sig-line + .sig-line{margin-top:.16em}
.sig-w{display:inline-block;text-indent:0}   /* слово переносится целиком; text-indent строки внутрь слова не пускать */
.sig-quote{margin:22px 0 0;font-family:var(--text);font-style:italic;font-size:clamp(17px,4.4vw,18px);line-height:1.5;color:#3a2a12;text-align:center}
.sig-quote::before{content:"";display:block;width:38%;height:1px;margin:0 auto 12px;background:#6b4a26;transform:scaleX(var(--k,1))}
.js .sig-paper:not(.sig-ready) .sig-line,.js .sig-paper:not(.sig-ready) .sig-quote{visibility:hidden}
.sig-roll{position:absolute;left:-4px;right:-4px;top:0;height:34px;z-index:3;pointer-events:none;background:linear-gradient(180deg,#7d6238 0%,#d9c899 16%,#f4e8c9 36%,#e6d6ae 58%,#ad905c 84%,#56401f 100%)}
.sig-pen{position:absolute;left:0;top:0;width:64px;height:14px;z-index:4;transform-origin:0 50%;pointer-events:none;display:none}
.sig-btns{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
.zh .sig-line{font-family:var(--zh);font-style:normal;font-size:1.06rem;line-height:1.6}
.zh .sig-quote{font-family:var(--zh);font-style:normal}

/* 5. «Независимые рейтинги»: четыре аптечные мензурки, песок наполняет каждую до оценки (fx/menz.js).
   Без скрипта стекло и уровень рисуют ::before/::after по --v (= value/max); с модулем они прячутся (.menz-live). */
.ratings{padding:calc(var(--hd) + 30px) 0 clamp(56px,10vw,110px);overflow:hidden}
.home .menzs{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 10px;margin-top:26px}
.home .menzs>li:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 5px)}      /* площадок три: третья стоит по центру под двумя */
.home .menz{display:flex;flex-direction:column;align-items:center;color:inherit;text-decoration:none}
.home .menz-glass{position:relative;display:block;width:100%;height:clamp(210px,56vw,250px)}
.home .menz-glass::before{content:"";position:absolute;left:50%;top:13%;bottom:26%;width:24%;transform:translateX(-50%);
  border:1px solid rgba(241,232,210,.55);border-top-color:rgba(241,232,210,.3);border-radius:0 0 3px 3px}
.home .menz-glass::after{content:"";position:absolute;left:50%;bottom:calc(26% + 1px);width:calc(24% - 2px);height:calc(3% + var(--v,0) * 49%);transform:translateX(-50%);
  background-color:#9a6f28;
  background-image:radial-gradient(#fbe3a1 .6px,transparent 1.1px),radial-gradient(#c98d2f .7px,transparent 1.2px),radial-gradient(#f0be62 .6px,transparent 1.1px);
  background-size:4px 4px,5px 5px,3px 3px;background-position:0 0,2px 1px,1px 2px}
.home .menz-glass.menz-live::before,.home .menz-glass.menz-live::after{content:none}
.home .menz-label{position:relative;display:block;width:min(150px,86%);margin-top:-2px;padding:11px 8px 8px;text-align:center;color:var(--ink);
  background:linear-gradient(175deg,#efe1bd 0%,#e4d3a8 62%,#d8c595 100%);transition:filter .3s}
.home .menz-label::after{content:"";position:absolute;inset:4px;border:1px solid rgba(90,58,30,.34);pointer-events:none}
.home .menz-logo{height:19px;width:auto;max-width:74%;margin:0 auto 5px;filter:grayscale(1) brightness(.42) contrast(1.9);opacity:.9;mix-blend-mode:multiply}      /* знак площадки одной краской, как оттиск на этикетке */
.home .menz-word{font-family:var(--text);font-style:italic;font-weight:400;font-size:.86rem;line-height:1.2;letter-spacing:.06em;color:#5a3a1e}
.home.zh .menz-word{font-family:var(--zh);font-style:normal}
.home .menz-num{font-family:var(--serif);font-weight:500;font-size:1.9rem;line-height:1;color:#2a1c0a;margin-top:2px}
.home .menz:hover .menz-label{filter:brightness(1.06)}

/* 6. «Отзывы наших посетителей»: книга отзывов, разлинованная страница; слева - звёзды и дата раскрытого отзыва */
.reviews{padding:calc(var(--hd) + 30px) 0 clamp(56px,10vw,110px)}
.rev-h{font-family:var(--serif);font-weight:500;font-size:clamp(1.36rem,5.4vw,1.7rem);line-height:1.14;color:var(--bone);margin-top:10px}
.book{position:relative;margin-top:26px;perspective:1800px}
.page{position:relative;color:var(--ink)}
.page-l{display:none}
.page-r,.leaf-f,.leaf-b{background:linear-gradient(100deg,#d9c798 0%,#eadbb6 9%,#efe2c0 55%,#e6d6ad 100%)}
.page-r{padding:26px 20px 18px;display:flex;flex-direction:column;box-shadow:0 22px 40px rgba(0,0,0,.5)}
.rev-list{--lh:30px;position:relative;flex:1;display:grid;
  background:repeating-linear-gradient(180deg,transparent 0,transparent calc(var(--lh) - 1px),rgba(90,58,30,.2) calc(var(--lh) - 1px),rgba(90,58,30,.2) var(--lh))}
.rev{grid-area:1/1;opacity:0;visibility:hidden}
.rev.on{opacity:1;visibility:visible}
.rev-stars{height:var(--lh);line-height:var(--lh);font-size:1.02rem;letter-spacing:.24em;color:#8a4b12}
.rev-t{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.2rem;line-height:var(--lh);color:#1a1005;overflow-wrap:break-word}
.rev-t::before{content:"«"}.rev-t::after{content:"»"}
.rev-date{line-height:var(--lh);text-align:right;font-family:var(--text);font-size:.98rem;letter-spacing:.06em;color:#4a2f14}
.book-nav{display:flex;align-items:center;gap:14px;margin-top:18px}
.book-nav .arr{width:46px;height:46px;border-color:rgba(90,58,30,.55);color:#4a2f14}
.book-nav .arr:hover{background:#4a2f14;color:#efe2c0}
.book-count{font-family:var(--text);font-size:.98rem;letter-spacing:.12em;color:#4a2f14}
.leaf{position:absolute;display:none;transform-origin:0 50%;transform-style:preserve-3d;pointer-events:none}
.leaf.turn{display:block;animation:leafTurn 1.05s cubic-bezier(.36,.06,.22,1) forwards}
.leaf-f,.leaf-b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:26px 20px 18px;overflow:hidden}
.leaf-f .rev{--lh:30px;background:repeating-linear-gradient(180deg,transparent 0,transparent calc(var(--lh) - 1px),rgba(90,58,30,.2) calc(var(--lh) - 1px),rgba(90,58,30,.2) var(--lh))}
.leaf-b{transform:rotateY(180deg);background:linear-gradient(260deg,#cdb98a 0%,#e2d2a9 18%,#eadbb6 100%)}
.leaf-f::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,26,8,.34),rgba(40,26,8,0) 60%);opacity:0;animation:inherit;animation-name:leafShade}
@keyframes leafTurn{to{transform:rotateY(-180deg)}}
.leaf.turn.back{animation-direction:reverse}
@keyframes leafShade{50%{opacity:1}100%{opacity:0}}
.rev-all{margin-top:26px;text-align:center}
.rev-all a{display:inline-block;font-size:.84rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);padding:8px 2px 5px;border-bottom:1px solid var(--gold-d);transition:color .25s,border-color .25s}
.rev-all a:hover{color:var(--bone);border-color:var(--bone)}
/* без скриптов все двенадцать отзывов идут подряд */
html:not(.js) .rev-list{display:block}
html:not(.js) .rev{opacity:1;visibility:visible;margin-bottom:var(--lh)}
html:not(.js) .book-nav{display:none}

/* 7. «Последние новости»: вырезки из вестника. Вверху вырезки светлое поле бумаги - на нём рубрика и почтовый штемпель даты
   (fx/stamp.js; без скрипта - бумажная плашка с датой); ниже снимок в настоящих цветах */
.news{padding:calc(var(--hd) + 30px) 0 clamp(56px,10vw,110px);overflow:hidden}
.home .clips{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:34px 20px;margin-top:30px}
.home .clip{position:relative;z-index:0;display:flex;flex-direction:column;color:var(--ink);padding:12px 12px 14px;transform:rotate(-.5deg)}
.home .clip:nth-child(even){transform:rotate(.45deg)}
.home .clip:nth-child(3n){transform:rotate(-.25deg)}
.home .clip::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(172deg,#f0e3c0 0%,#e6d5aa 58%,#dac793 100%);
  clip-path:polygon(0 .9%,.4% 0,99.3% .3%,100% 1.2%,99.6% 99.1%,99% 100%,.9% 99.6%,0 98.8%);filter:drop-shadow(0 16px 22px rgba(0,0,0,.5))}
.home .clip-top{position:relative;display:flex;align-items:flex-end;min-height:calc(var(--sht-size,30px) * 1.04 + 6px);padding:0 2px 9px;margin-bottom:10px;border-bottom:1px solid rgba(90,58,30,.4)}
.home .clip-rub{max-width:calc(100% - var(--sht-size,60px) * 1.74 - 4px);font-family:var(--text);font-size:.74rem;line-height:1.5;letter-spacing:.2em;text-transform:uppercase;color:#6b4a1c}
.home .clip-rub a{color:inherit;white-space:nowrap}
.home .clip-rub a + a::before{content:"· "}
.home .shtempel{position:absolute;top:0;right:0;z-index:3;pointer-events:none;display:inline-block;
  font-family:var(--text);font-size:.9rem;line-height:1;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:#2a1c0a;
  padding:7px 11px 6px;background:linear-gradient(175deg,#f3e6c4,#e6d5aa);border:1px solid rgba(90,58,30,.55);box-shadow:0 0 0 1px rgba(243,230,196,.6),0 2px 3px rgba(0,0,0,.35)}
.home .shtempel.sht-on{padding:0;background:none;border:0;box-shadow:none;line-height:0;letter-spacing:0;text-transform:none}
.home .shtempel .sht-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.home .shtempel svg{display:block;overflow:visible}
.home .clip-pic{display:block;aspect-ratio:4/3;overflow:hidden;background:#cdb98a;border:1px solid rgba(90,58,30,.35)}
.home .clip-pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.home .clip-pic:hover img{transform:scale(1.03)}
.home .clip-h{font-family:var(--serif);font-weight:600;font-size:clamp(1.34rem,5.4vw,1.6rem);line-height:1.12;letter-spacing:0;color:#160d04;margin:14px 2px 0}
.home .clip-h a{color:inherit}
.home .clip-h a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.home .clip.no-pic .clip-h{font-size:clamp(1.6rem,6.6vw,1.9rem);margin-top:8px}
/* вырезка без снимка: заголовок крупнее, стоит посередине свободного поля, под ним росчерк */
.home .clip.no-pic .clip-h{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;padding:10px 0 4px}
.home .clip.no-pic .clip-h::after{content:"";display:block;height:14px;margin-top:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 14' fill='none' stroke='%235a3a1e' stroke-width='1.1'%3E%3Cpath d='M6 7H98M142 7H234M98 7q5-6 9 0M142 7q-5-6-9 0'/%3E%3Cg fill='%235a3a1e' stroke='none'%3E%3Ccircle cx='111' cy='7' r='1.5'/%3E%3Ccircle cx='129' cy='7' r='1.5'/%3E%3Cpath d='M120 1l6 6-6 6-6-6z'/%3E%3C/g%3E%3C/svg%3E") 0 50%/min(200px,80%) auto no-repeat;opacity:.85}
.home .clip-foot{display:flex;align-items:flex-end;gap:10px;margin-top:auto;padding:16px 2px 0}
.home .clip-by{flex:1;min-width:0;font-size:.86rem;line-height:1.35;color:#5a4426}
.home .clip-by time{display:block;letter-spacing:.06em}
.home .clip-by a{color:#3d2409;border-bottom:1px solid rgba(90,58,30,.5)}
.home .clip-share{position:relative;flex:none}
.home .clip-share summary{list-style:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(90,58,30,.45);color:#4a2f14;cursor:pointer;transition:background .25s,color .25s}
.home .clip-share summary::-webkit-details-marker{display:none}
.home .clip-share summary .ic{width:20px;height:20px}
.home .clip-share[open] summary,.home .clip-share summary:hover{background:#2a1a08;color:#f1e8d2}
.home .clip-share .share{position:absolute;right:0;bottom:calc(100% + 8px);z-index:5;display:flex;gap:4px;padding:6px;background:linear-gradient(175deg,#f3e6c4,#e6d5aa);border:1px solid #5a3a1e;box-shadow:0 8px 16px rgba(0,0,0,.4)}
.home .share a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(90,58,30,.42);color:#4a2f14;transition:background .25s,color .25s}
.home .share a:hover{background:#2a1a08;color:#f1e8d2}
.home .share .ic{width:20px;height:20px}
.home .wa-m{display:none!important}
@media (hover:none) and (pointer:coarse){.home .share .wa-d{display:none!important}.home .share .wa-m{display:grid!important}}

/* вопросы и ответы: аптечный шкаф. Вопрос - ящик с латунной рамкой для ярлыка, ответ - карточка в выдвинутом ящике.
   Без скриптов (нет класса js у html) все ответы раскрыты. */
.faq{padding:calc(var(--hd) + 30px) 0 clamp(56px,10vw,110px)}
.cab{position:relative;margin-top:30px;padding:12px 10px 10px;display:grid;gap:8px;background:linear-gradient(180deg,#2c1a0b,#221307);border:1px solid #6b4a1c;box-shadow:0 0 0 1px #120a04,0 26px 46px rgba(0,0,0,.55)}
.cab::before{content:"";position:absolute;left:-7px;right:-7px;top:-9px;height:9px;background:linear-gradient(180deg,#7a5524,#4a2f12);box-shadow:0 1px 0 #f0be62 inset,0 2px 0 rgba(0,0,0,.5)}   /* карниз шкафа */
.cab-col{display:flex;flex-direction:column;gap:8px;min-width:0}
.dr{min-width:0}
.dr-q{font:inherit;line-height:inherit;letter-spacing:0}
.dr-front{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:68px;padding:10px 12px 10px 10px;text-align:left;
  background:repeating-linear-gradient(178deg,rgba(255,214,150,.035) 0 2px,rgba(0,0,0,0) 2px 7px),linear-gradient(180deg,#5b391a 0%,#4a2d13 46%,#3b220e 100%);
  box-shadow:inset 0 1px 0 rgba(255,221,160,.3),inset 0 -2px 0 rgba(0,0,0,.5),inset 1px 0 0 rgba(255,221,160,.1),inset -1px 0 0 rgba(0,0,0,.35);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.dr-label{flex:1;min-width:0;padding:9px 12px 10px;background:linear-gradient(175deg,#f3e6c4,#e6d5aa);color:var(--ink);font-family:var(--text);font-size:1.06rem;line-height:1.3;
  border:2px solid #c59a4a;box-shadow:0 0 0 1px #5f4016,inset 0 0 0 1px rgba(90,58,30,.28),0 2px 3px rgba(0,0,0,.4)}   /* латунная рамка, в ней бумажный ярлык */
.zh .dr-label{font-family:var(--zh)}
.dr-knob{flex:none;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 36% 30%,#ffe9b4 0%,#f0be62 26%,#b9812c 62%,#6a4413 100%);box-shadow:0 3px 5px rgba(0,0,0,.55),0 0 0 1px #4a2f12;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.dr-front:hover .dr-label{background:linear-gradient(175deg,#f8edcf,#ecdcb3)}
.dr-body{display:grid;grid-template-rows:1fr}
.dr-in{min-height:0;overflow:hidden;background:linear-gradient(180deg,#120a04 0,#1c1108 16px,#1c1108 100%)}       /* нутро ящика */
.faq-card{margin:12px 10px 12px;padding:16px 16px 18px;background:linear-gradient(175deg,#efe1bd 0%,#e4d3a8 70%,#dccb9c 100%);color:var(--ink);box-shadow:0 6px 12px rgba(0,0,0,.5)}
.faq-card p{font-size:1.1rem;line-height:1.56;color:#1a1005}
.js .dr-body{grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.2,.7,.2,1)}
.js .dr-in{visibility:hidden;transition:visibility 0s .55s}
.js .dr.open .dr-body{grid-template-rows:1fr}
.js .dr.open .dr-in{visibility:visible;transition:none}
.js .dr.open .dr-front{transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,221,160,.3),inset 0 -2px 0 rgba(0,0,0,.5),0 12px 16px rgba(0,0,0,.6)}   /* ящик выдвинут */
.js .dr.open .dr-knob{transform:translateY(2px) scale(1.08)}

/* 8. «Хотите посетить наш музей?»: экспонаты музея сквозь замочную скважину */
.visit{display:flex;align-items:flex-end;overflow:hidden;background:var(--bg2)}
.visit-bg{position:absolute;inset:0}
.visit-bg{bottom:auto;height:52svh;overflow:hidden}                                  /* телефон: фото занимает верх главы, текст ниже на тёмном */
.visit-eye{position:absolute;left:0;top:0;width:1px;height:52svh;pointer-events:none}      /* место снимка без обрезки: по нему скважина узнаёт, что глава вошла в экран */
.visit-p{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform-origin:50% 40%}
.visit.open .visit-p{animation:visitDrift 30s ease-out forwards}       /* после раскрытия скважины кадр медленно приближается */
@keyframes visitDrift{to{transform:scale(1.07)}}
.visit-shade{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg2) 0%,rgba(14,11,7,.78) 14%,rgba(14,11,7,.3) 30%,rgba(14,11,7,0) 44%)}
.visit-in{position:relative;z-index:2;width:100%;padding:calc(52svh - 34px) var(--pad) calc(env(safe-area-inset-bottom) + 56px)}
.visit .sec-h{margin-top:8px;text-shadow:0 2px 22px rgba(0,0,0,.6)}
.visit-h{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,6vw,1.86rem);line-height:1.12;color:var(--bone);margin-top:18px}
.visit-t{font-size:1.12rem;line-height:1.45;color:var(--bone);margin-top:6px;max-width:30ch}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;margin:22px 0 26px}
.meta dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.meta dd{font-family:var(--serif);font-weight:500;font-size:1.28rem;line-height:1.2;color:var(--bone)}
.zh .meta dd{font-family:var(--zh);font-size:1.1rem}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.cta .btn{background:rgba(22,17,11,.5)}
.cta .btn:hover{background:var(--gold)}
.btn.wa{display:inline-flex;align-items:center;gap:9px;letter-spacing:.08em}
.btn.wa .ic{width:21px;height:21px;flex:none}

/* 9. карта: схема в тонах старого плана города, поверх - бумажная карточка с адресом. Живая карта - js/karta.js, css/karta.css */
.plan{background:var(--bg2)}
.home .map-stub{position:relative;min-height:440px;overflow:hidden;background:#eadbb4;border-top:1px solid rgba(240,190,98,.5);border-bottom:1px solid rgba(240,190,98,.5);display:flex;align-items:flex-end}
.home .map-art{position:absolute;left:0;top:0;width:100%;height:58%}        /* телефон: схема стоит над карточкой, булавка видна */
.home .map-stub::after{content:"";position:absolute;inset:6px;z-index:1;border:1px solid rgba(90,58,30,.5);pointer-events:none}
.home .map-card{position:relative;z-index:4;width:100%;margin:14px;padding:18px 18px 20px;background:linear-gradient(175deg,#f3e6c4,#e6d5aa);color:var(--ink);border:1px solid #5a3a1e;box-shadow:0 8px 18px rgba(40,26,8,.4)}
.home .map-h{font-family:'Playfair Display','Old Standard TT',Georgia,serif;font-weight:900;font-size:1.12rem;line-height:1.22;letter-spacing:.04em;color:#160d04}
.home.zh .map-h{font-family:var(--zh);font-weight:700}
.home .map-addr{margin-top:8px;font-size:1.04rem;line-height:1.4;color:#33240f}
.home .map-act{margin-top:14px}
.home .map-act .btn{padding:12px 18px;font-size:.8rem}

/* холст песка лежит внутри своего блока и прокручивается вместе с ним */
.sand-canvas{position:absolute;inset:0;pointer-events:none}
/* просмотр на весь экран: экспонат с прозрачным фоном лежит на бумаге, а не на чёрном (тёмные предметы остаются видны) */
.home .lb-img[src$=".png"],.home .lb-img[src*="/img/ex_"]{background:radial-gradient(circle at 50% 42%,#efe1bd 0%,#dccb9c 100%);padding:2.4vmin}
/* высокий снимок в просмотре не выходит за экран (в общем shell.css у .lb-img высота не ограничена - см. отчёт) */
.home .lb-stage{grid-template:minmax(0,1fr)/minmax(0,1fr)}
.home .lb-img{max-height:min(100%,calc(100svh - 132px))}

@media (min-width:480px){
  .hero-brand{font-size:.9rem}
  .th img{height:52px}
}
@media (min-width:640px){
  .home .clips{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:700px){
  .home .menzs{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;margin-top:34px;max-width:860px;margin-left:auto;margin-right:auto}
  .home .menzs>li:last-child:nth-child(odd){grid-column:auto;justify-self:stretch;width:auto}
  .home .menz-glass{height:clamp(270px,23vw,330px)}
  .home .menz-label{width:min(164px,88%);padding:13px 10px 10px}
  .home .menz-logo{height:21px}
  .home .menz-num{font-size:2.1rem}
}

/* ПК */
@media (min-width:900px){
  :root{--hd:76px;--pad:clamp(40px,5.6vw,96px)}
  body{font-size:19px}
  .hero{align-items:center;min-height:640px}
  .hero-v{object-position:22% 42%}
  .hero-shade{background:linear-gradient(90deg,rgba(14,11,7,.9) 0%,rgba(14,11,7,.74) 26%,rgba(14,11,7,.22) 50%,rgba(14,11,7,0) 62%),linear-gradient(0deg,rgba(14,11,7,1) 0%,rgba(14,11,7,0) 14%)}
  .hero-in{padding:var(--hd) var(--pad) 0}
  .hero-eye{flex-direction:row;align-items:center;gap:16px}
  .hero-brand{font-size:.94rem;letter-spacing:.3em}
  .hero-addr{display:flex;align-items:center;gap:16px;font-size:.72rem;letter-spacing:.3em}
  .hero-addr::before{content:"";width:38px;height:1px;background:var(--gold-d)}
  .hero h1{font-size:clamp(2.8rem,4.3vw,4.7rem);margin:.24em 0 .34em}
  .hero h1 em{white-space:nowrap}
  .hero .lede{font-size:clamp(1.24rem,1.5vw,1.5rem);max-width:40ch}
  .hero .btn{margin-top:30px;padding:16px 38px}
  .eyebrow{font-size:.8rem;letter-spacing:.38em}

  .about{padding-bottom:clamp(90px,10vw,150px)}
  .ages-stage{height:clamp(260px,34vh,340px)}
  .ages-static{font-size:clamp(7rem,13vw,11rem)}
  .sheet{padding:56px 76px}
  .tp-kicker{font-size:1.16rem}.tp-sub{font-size:1.24rem}.about-lede{font-size:1.36rem}.tp-foot{font-size:1.04rem}
  .about-h{font-size:2.1rem;max-width:22ch;margin:8px auto 16px}
  .about-btns{gap:14px;margin-top:28px}
  .about-btns .btn{padding:14px 26px;font-size:.84rem}

  .relics-in{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(30px,4vw,80px);align-items:center;min-height:100svh;max-width:1400px;margin:0 auto;padding:calc(var(--hd) + 30px) var(--pad) 60px}
  .relics-txt{display:block}
  .relics-head{margin-bottom:clamp(20px,3.2vh,40px)}
  .relics-h{font-size:clamp(2.8rem,4.4vw,4.4rem)}
  .kick{font-size:1.16rem}
  .stage,.relics[data-cap="0"] .stage{order:0;height:min(72svh,720px);min-height:460px;margin:0}
  .ex{padding-bottom:26px}
  .ex img{max-height:calc(100% - 70px);max-width:90%}
  .ex[data-id=lorgnette]{padding-bottom:60px}
  .ex[data-id=lorgnette] img{max-width:88%}
  .relics[data-cap="0"] .ex img{max-height:calc(100% - 30px);max-width:96%}
  .shelf-line{bottom:25px}
  .ex-cards{margin-top:0;min-height:13.5em}
  .ex-name{font-size:clamp(2.2rem,3.1vw,3.1rem)}
  .ex-card .mat{font-size:1.24rem;margin:6px 0 14px}
  .ex-card .fact{font-size:1.3rem;line-height:1.6}
  .ex-orn{align-self:center}
  .ex-orn svg{width:min(300px,70%)}
  .shelf{margin-top:clamp(18px,3vh,34px)}
  .thumbs{gap:6px 8px}
  .th{min-height:86px;padding:10px 4px 12px}
  .th img{height:62px}
  .arr{width:52px}

  .sec-h{font-size:clamp(2.8rem,4.4vw,4.4rem)}
  .tags{gap:44px clamp(18px,2.4vw,40px);max-width:1240px;margin:54px auto 0}
  .tag::before{left:calc(clamp(18px,2.4vw,40px) / -2);right:calc(clamp(18px,2.4vw,40px) / -2)}
  .tag-card{min-height:262px;padding:58px 20px 30px;transform-origin:50% 25px;clip-path:polygon(26% 0,74% 0,100% 38px,100% 100%,0 100%,0 38px)}
  .tag-card::before{top:18px}
  .tag-card::after{left:13px;right:13px;bottom:13px;top:50px}
  .tag-card h3{font-size:clamp(1.3rem,1.9vw,1.9rem);font-size:min(clamp(1.3rem,1.9vw,1.9rem),12.6cqw)}
  .tag-card p{font-size:1.16rem;margin-top:12px}
  .home .tag-card{padding-bottom:34px}
  .home .tag-go{margin-top:16px;font-size:.8rem}
  .offer{padding-bottom:clamp(70px,8vw,130px)}

  .sig .sec-h{text-align:center;margin-bottom:36px}
  .sig-stand{grid-template-columns:180px minmax(0,600px);column-gap:clamp(28px,3.4vw,56px);justify-content:center;align-items:start}
  .sig-bottle{width:180px;height:330px;margin:0}
  .sig-paper{--hx:34px;--hy:24px;grid-column:2;margin-top:64px;padding:46px 40px 36px 42px;filter:drop-shadow(0 22px 28px rgba(0,0,0,.6))}
  .sig-line{font-size:1.42rem;line-height:1.4}
  .sig-quote{font-size:1.04rem;margin-top:28px}
  .sig-pen{width:84px;height:18.4px}
  .sig-btns{grid-column:2;margin-top:34px;gap:16px}
  .zh .sig-line{font-size:1.2rem}

  .rev-h{font-size:1.9rem;margin-top:12px}
  .book{display:grid;grid-template-columns:1fr 1fr;max-width:1180px;margin:40px auto 0;box-shadow:0 30px 60px rgba(0,0,0,.55)}
  .page-l{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:54px 50px;text-align:center;color:var(--ink);background:linear-gradient(260deg,#cdb98a 0%,#e2d2a9 12%,#eadbb6 55%,#e3d2a7 100%)}
  .page-l .orn{width:100%;margin:10px auto}
  .pl-stars{font-size:2rem;letter-spacing:.3em;margin-right:-.3em;color:#8a4b12;line-height:1.2}
  .pl-date{font-family:var(--serif);font-weight:500;font-size:clamp(3rem,4.6vw,4.3rem);line-height:1.1;letter-spacing:.02em;color:#3d2409;min-height:1.1em}
  .pl-date:empty{display:none}       /* у отзывов без даты строка даты не занимает места: звёзды стоят ровно между линиями */
  .page-r{padding:50px 48px 30px;box-shadow:none}
  .leaf-f,.leaf-b{padding:50px 48px 30px}
  .leaf-b.page-l{padding:54px 50px}
  .rev-list,.leaf-f .rev{--lh:38px}
  .rev-t{font-size:1.44rem}
  .js .page-r .rev-stars,.js .page-r .rev-date,.js .leaf-f .rev-stars,.js .leaf-f .rev-date{display:none}     /* на развороте звёзды и дата стоят на левой странице */
  .rev-all{margin-top:34px}

  .home .clips{gap:40px 24px;margin-top:40px}
  .home .clip{padding:14px 14px 16px}
  .home .clip-h{font-size:clamp(1.3rem,1.6vw,1.56rem)}
  .home .clip.no-pic .clip-h{font-size:clamp(1.7rem,2.2vw,2.1rem)}

  .cab{grid-template-columns:1fr 1fr;gap:0 12px;max-width:1180px;margin:46px auto 0;padding:16px 14px 14px}
  .cab-col{gap:10px}
  .dr-front{min-height:82px;padding:12px 16px 12px 12px;gap:16px}
  .dr-label{font-size:1.2rem;padding:12px 16px 13px}
  .dr-knob{width:34px;height:34px}
  .faq-card{margin:14px 12px 14px;padding:22px 24px 24px}
  .faq-card p{font-size:1.24rem;line-height:1.6}

  .visit{min-height:100svh;align-items:center}
  .visit-bg{bottom:0;height:auto}
  .visit-eye{height:100%}
  .visit-p{object-position:60% 50%;transform-origin:70% 50%}
  .visit .sec-h em{display:block}
  .visit-shade{background:linear-gradient(90deg,rgba(14,11,7,.95) 0%,rgba(14,11,7,.86) 30%,rgba(14,11,7,.3) 50%,rgba(14,11,7,0) 62%)}
  .visit-in{padding:calc(var(--hd) + 30px) var(--pad) 40px}
  .visit-h{font-size:2.1rem;margin-top:24px}
  .visit-t{font-size:1.2rem}
  .meta{grid-template-columns:repeat(2,auto);justify-content:start;gap:22px clamp(30px,4vw,70px);margin:30px 0 34px}
  .meta dd{font-size:1.5rem}

  .home .map-stub{min-height:420px;align-items:center}
  .home .map-art{height:100%}
  .home .map-card{width:auto;max-width:400px;margin:20px var(--pad);padding:26px 28px 28px}
  .home .map-h{font-size:1.26rem}
  .home .map-addr{font-size:1.12rem;margin-top:10px}
  .home .map-act{margin-top:18px}
}

@media (min-width:1100px){
  .tags{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(18px,2.4vw,40px)}
  .tag{--len:46px}.tag:nth-child(2){--len:104px}.tag:nth-child(3){--len:70px}.tag:nth-child(4){--len:124px}
  /* четыре вырезки в ряд: вырезка узкая - рубрика уходит под поле со штемпелем */
  .home .clips{grid-template-columns:repeat(4,minmax(0,1fr))}
  .home .clip-top{flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-top:calc(var(--sht-size,30px) * 1.04 + 10px);min-height:0}
  .home .clip-rub{max-width:none}
}
/* широкий экран: ярлык со склянкой крупнее, по центру (альбома с фотографиями посетителей нет - убран 08.10.2026) */
@media (min-width:1180px){
  .sig-stand{grid-template-columns:200px minmax(0,680px)}
  .sig-bottle{width:200px;height:366px}
  .sig-paper{padding:50px 48px 40px 50px}
  .sig-line{font-size:1.5rem}
  .sig-quote{font-size:1.1rem}
}

@media not all{
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .sig-paper .sig-line,.js .sig-paper .sig-quote{visibility:visible}
}
