/* Природа чая — v8 «Тушь · киноварь · чай» (древний Китай, каллиграфия, чайная культура). Основа — style7.css (откат: вернуть style7.css в index.html или взять chatea-proto_agreed_v1). Слой v8 — в конце файла. */
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-400-cyr.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-400-lat.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/Onest-300_700-cyr.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/Onest-300_700-lat.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Spectral";font-style:italic;font-weight:300;font-display:swap;src:url(fonts/Spectral-300i-cyr.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Spectral";font-style:italic;font-weight:300;font-display:swap;src:url(fonts/Spectral-300i-lat.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Spectral";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/Spectral-300-cyr.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Spectral";font-style:normal;font-weight:300;font-display:swap;src:url(fonts/Spectral-300-lat.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Spectral";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Spectral-400-cyr.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Spectral";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Spectral-400-lat.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Spectral";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Spectral-500-cyr.woff2) format("woff2");unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:"Spectral";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Spectral-500-lat.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Seal";font-display:swap;src:url(fonts/MaShanZheng-v8.woff2) format("woff2")}:root{--paper:#f3efe6;--paper2:#eae4d6;--card:#fbf9f3;--ink:#1b1a17;--muted:#6b665c;--line:#d8d1c1;--seal:#b5352a;--seal-ink:#a52f25;--on-seal:#fbf3e4;--celadon:#4f7265;--celadon2:#dce6dc;--clay:#8a4b38;--block:#1b1a17;--on-block:#f3efe6;
--serif:"Spectral",Georgia,"Times New Roman",serif;--sans:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--ease:cubic-bezier(.2,.7,.2,1);
--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .2  0 0 0 0 .16  0 0 0 0 .1  0 0 0 .09 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
:root[data-theme=night]{--paper:#14130f;--paper2:#1a1915;--card:#1e1d18;--ink:#e9e3d5;--muted:#a59f90;--line:#37342c;--seal-ink:#e8806d;--celadon:#a3bdae;--celadon2:#26322b;--clay:#c98d74;--block:#25231d;--on-block:#f3efe6;
--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .95  0 0 0 0 .85  0 0 0 .06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--paper) var(--grain);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.modal-open{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0;letter-spacing:-.01em;text-wrap:balance}
h2{font-size:28px}h3{font-size:22px}
p{margin:0 0 12px}
::selection{background:var(--seal);color:var(--on-seal)}
:focus-visible{outline:2px solid var(--seal-ink);outline-offset:3px}
main:focus{outline:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 14px}
.skip:focus{left:8px}
noscript{display:block;padding:40px;text-align:center}
/* — печать — */
.seal{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;background:var(--seal);color:var(--on-seal);font:400 27px/1 "Seal","Kaiti SC","STKaiti",serif;border-radius:4px;filter:url(#rough);box-shadow:inset 0 0 0 2px var(--seal),inset 0 0 0 3px #fbf3e455;text-decoration:none;font-style:normal;padding-bottom:.06em}
.seal.big{width:78px;height:78px;font-size:54px;border-radius:6px;box-shadow:inset 0 0 0 4px var(--seal),inset 0 0 0 5px #fbf3e466}
.eyebrow,.blocklabel,.field-label,.hero-no,.when,.meta,.count,.top-title,.seats,.teatype{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.eyebrow{color:var(--muted);display:block}
/* — каркас — */
#app{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:30px 24px 22px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--paper2) var(--grain)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);font:400 29px/1 var(--serif);letter-spacing:-.01em}
.brand small{display:block;font:400 10.5px var(--mono);letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-top:7px}
.brand-mark.seal{width:44px;height:44px;font-size:31px;transform:rotate(-3deg)}
.brand-mark.big{width:64px;height:64px;font-size:46px;margin:0 auto 14px}
.side-label{margin:26px 0 14px;font-size:10px;letter-spacing:.16em;line-height:1.7}
.sidebar nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.sidebar nav a{display:flex;align-items:center;gap:14px;height:54px;border-bottom:1px solid var(--line);text-decoration:none;font-size:15.5px;transition:padding .35s var(--ease)}
.navicon{width:34px;height:34px;display:grid;place-items:center;border-radius:4px;transition:background .25s,color .25s}
.navno{margin-left:auto;font:400 10.5px var(--mono);letter-spacing:.1em;color:var(--muted);font-style:normal}
.sidebar nav a:not([aria-current]):hover{padding-left:6px}
nav a[aria-current] .navicon{background:var(--seal);color:var(--on-seal);filter:url(#rough)}
nav a[aria-current]{font-weight:600}
nav a[aria-current] .navno{color:var(--seal-ink)}
.sidebar-bottom{margin-top:auto;display:grid;gap:12px;padding-top:24px}
.side-club{border:1px solid var(--ink);padding:18px 18px 16px;background:var(--card);display:grid;gap:8px}
.side-club h3{font-size:23px}.side-club p{font-size:13.5px;color:var(--muted);margin:0 0 6px;line-height:1.5}
.workspace{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.topbar{position:sticky;top:0;z-index:40;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 56px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent)}
.mobile-brand{display:none}
.top-title{color:var(--muted);letter-spacing:.24em}
.top-title::before{content:"";display:inline-block;width:7px;height:7px;background:var(--seal);margin-right:12px;vertical-align:1px}
.top-actions{display:flex;gap:4px;margin-left:auto}
main{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:44px 56px 96px}
footer{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:baseline;padding:26px 56px 30px;border-top:1px solid var(--line);font:400 20px var(--serif)}
footer span{font:italic 300 16px var(--serif);color:var(--muted)}
footer small{font:400 10.5px/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:auto;max-width:560px;text-align:right}
.bottomnav{display:none}
/* — кнопки — */
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:2px;border:1px solid var(--ink);font:500 15px var(--sans);text-decoration:none;transition:background .3s,color .3s,border-color .3s,transform .2s;white-space:nowrap}
.primary{background:var(--ink);color:var(--paper)}
.primary:hover{background:var(--seal);border-color:var(--seal);color:var(--on-seal)}
.secondary{background:transparent;color:var(--ink)}
.secondary:hover{background:var(--ink);color:var(--paper)}
.primary.on,.secondary.on{background:transparent;border-color:var(--celadon);color:var(--celadon)}
.primary .icon,.secondary .icon{width:18px;height:18px}
button:active,.primary:active,.secondary:active{transform:scale(.97)}
.full{width:100%}
.iconbtn{position:relative;width:44px;height:44px;display:inline-grid;place-items:center;flex:none;background:none;border:1px solid transparent;border-radius:2px;transition:border-color .25s,background .25s}
.iconbtn:hover{border-color:var(--ink)}
.notification-dot{position:absolute;top:9px;right:9px;width:7px;height:7px;background:var(--seal);border-radius:50%}
.textlink{display:inline-flex;align-items:center;gap:6px;min-height:44px;background:none;border:0;padding:0;font-size:14px;text-decoration:underline;text-decoration-color:var(--seal);text-underline-offset:5px}
.back-link{font:400 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--muted);margin-bottom:20px}
.back-link:hover{color:var(--ink)}.back-link .icon{width:16px;height:16px}
.ghost{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 2px;background:none;border:0;font-size:14px}
.ghost.full{justify-content:center;border:1px solid var(--line);border-radius:2px;margin-top:8px}
.ghost .icon{width:18px;height:18px;transition:fill .25s,stroke .25s}
.ghost.on{color:var(--seal-ink)}.ghost.on .icon{fill:var(--seal);stroke:var(--seal)}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}
.chiprow.static{margin:16px 0}
.chip,.tags span{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:2px;background:transparent;font:400 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
button.chip{min-height:44px;padding:0 16px;border-color:var(--ink);transition:background .25s,color .25s}
button.chip:hover{background:var(--paper2)}
.chip.active,button.chip.active:hover{background:var(--ink);color:var(--paper)}
.chip.gold{background:var(--seal);border-color:var(--seal);color:var(--on-seal)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.sq{width:8px;height:8px;flex:none;display:inline-block}
.sq1{background:#7c7f3c}.sq2{background:#4a3228}.sq3{background:#b08a3a}.sq4{background:#8e3b24}.sq5{background:#ded7c2;box-shadow:0 0 0 1px #9a927f}.sq6{background:#6f8f5e}.sq7{background:#8b4a6b}
:root[data-theme=night] .sq2{box-shadow:0 0 0 1px #7a6a5c}
.segments{display:inline-flex;border:1px solid var(--ink);border-radius:2px;max-width:100%;overflow:auto}
.segments button{min-height:44px;padding:0 16px;border:0;background:none;font-size:14px;white-space:nowrap;transition:background .25s,color .25s}
.segments button+button{border-left:1px solid var(--ink)}
.segments button.active{background:var(--ink);color:var(--paper)}
input:not([type=checkbox]),select,textarea{width:100%;min-height:48px;padding:10px 2px;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;font-size:16px;outline-offset:4px}
textarea{border:1px solid var(--ink);padding:12px;resize:vertical;border-radius:2px}
select{appearance:none;-webkit-appearance:none;padding-right:28px;background:no-repeat right 4px center/14px url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b665c' stroke-width='2'><path d='m5 9 7 7 7-7'/></svg>")}
select option{background:var(--card);color:var(--ink)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.field-label{display:block;color:var(--muted);margin-top:14px;text-align:left;font-size:10.5px}
.fine{font-size:12.5px;color:var(--muted);line-height:1.5}
.error{color:var(--seal-ink);font-size:13px;min-height:1.3em;margin:6px 0}
/* — герой — */
.page-heading{margin-bottom:32px}
.page-heading h1{font:300 clamp(36px,5vw,60px)/1.02 var(--serif);margin:8px 0 12px}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;margin:0 0 56px}
.hero-text{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(380px,36vw,500px);padding-bottom:96px}
.hero-no{display:flex;align-items:center;gap:14px;color:var(--muted);margin-bottom:auto;padding-top:4px}
.hero-no i{flex:0 0 44px;height:1px;background:currentColor}
.hero h1{font:300 clamp(54px,6.3vw,104px)/.94 var(--serif);letter-spacing:-.025em;margin:28px 0 22px;text-wrap:initial}
.hero h1 em{display:block;font-style:italic;padding-left:.55em}
.hero p{max-width:34ch;font-size:17px;line-height:1.55;color:var(--muted);margin:0}
.mountains{position:absolute;left:-56px;bottom:0;width:calc(100% + 112px);height:128px;z-index:-1;color:var(--celadon);-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent)}
.mountains path{fill:currentColor}.mountains .r1{opacity:.1}.mountains .r2{opacity:.14}.mountains .r3{opacity:.2}
.hero-photo{position:relative;margin:0;padding-right:30px}
.hero-frame{display:block;height:100%;min-height:320px;overflow:hidden;border-radius:2px;background:var(--paper2)}
.hero-frame img{width:100%;height:100%;object-fit:cover}
.hero-photo .seal.big{position:absolute;left:-39px;bottom:44px;transform:rotate(-4deg)}
.hero-photo figcaption{position:absolute;right:0;top:0;writing-mode:vertical-rl;font:400 10.5px var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.hero-photo figcaption::before{content:"";display:inline-block;width:1px;height:36px;background:currentColor;margin-bottom:12px}
/* — сетки и карточки — */
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}
.cards-grid>.promo,.cards-grid>.empty{grid-column:1/-1}
.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:36px}
.toolbar .chiprow{margin:0}
.areafilter{display:flex;align-items:center;gap:14px;min-width:min(100%,300px)}
.areafilter span{font:400 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tcard,.post-card{display:flex;flex-direction:column;min-width:0;text-decoration:none}
.tcard-photo,.post-photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:2px;background:var(--paper2)}
.tcard-photo img,.post-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.tcard:hover .tcard-photo img,.post-card:hover .post-photo img{transform:scale(1.045)}
.badge,.pill{position:absolute;left:0;top:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 14px;background:var(--paper);color:var(--ink);font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;border-radius:0 2px 2px 0}
.badge::before,.pill::before{content:"";width:6px;height:6px;background:var(--seal);flex:none}
.badge:has(.icon)::before{display:none}
.badge .icon{width:13px;height:13px}
.badge.club,.ribbon{left:auto;right:12px;top:auto;bottom:12px;background:var(--seal);color:var(--on-seal);border-radius:3px;padding:7px 10px;transform:rotate(-3deg);filter:url(#rough);box-shadow:inset 0 0 0 2px var(--seal),inset 0 0 0 3px #fbf3e455}
.tcard-body,.card-body{display:flex;flex-direction:column;gap:7px;flex:1;padding-top:18px}
.tcard-body p{margin:0}
.when{color:var(--seal-ink);letter-spacing:.1em;margin:0}
.tcard h3,.post-card h3{font-size:27px;line-height:1.12}
.tcard h3 a{text-decoration:none;background:linear-gradient(var(--seal),var(--seal)) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.tcard:hover h3 a{background-size:100% 1px}
.post-card h3{transition:color .3s}.post-card:hover h3{color:var(--seal-ink)}
.sub{color:var(--muted);font-size:15px;line-height:1.5}
.teatype{display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--ink);margin-top:2px!important}
.at{font-size:13.5px;color:var(--muted);margin-top:auto!important;padding-top:12px}
.at b{color:var(--ink);font-weight:500}
.priceline{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding-top:12px;border-top:1px solid var(--line)}
.price{font:500 25px/1.1 var(--serif);font-variant-numeric:lining-nums}
.priceline small{font-size:12.5px;color:var(--muted)}
.priceline .few{font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--seal-ink)}
.member-note{display:inline-flex;align-items:center;gap:5px;color:var(--celadon)!important}
.member-note .icon{width:14px;height:14px}
.tcard-actions{display:flex;align-items:center;gap:6px;padding-top:6px}
.tcard-actions .interest,.tcard-actions .secondary{margin-left:auto}
.tcard-actions .secondary{min-height:44px;padding:0 18px;font-size:14px}
.sharebtn{margin-left:-11px}
.count{color:var(--muted);font-size:10.5px;margin-right:auto}
.count+.sharebtn{margin-left:0}
.shimmer{background:linear-gradient(100deg,var(--paper2) 30%,var(--card) 50%,var(--paper2) 70%) 0 0/220% 100%;animation:shim 1.4s linear infinite}
@keyframes shim{to{background-position:-220% 0}}
.empty{text-align:center;padding:64px 24px;border:1px solid var(--line);display:grid;justify-items:center;gap:10px}
.empty h3{font-size:28px}.empty p{color:var(--muted);max-width:44ch;margin:0}
/* — промо — */
.welcome{display:flex;align-items:center;gap:16px;padding:0 0 18px;margin-bottom:36px;border-bottom:1px solid var(--line)}
.welcome .brand-mark{width:36px;height:36px;font-size:25px}
.welcome div{flex:1}.welcome h2{font-size:20px}.welcome p{font-size:14px;color:var(--muted);margin:3px 0 0}
.promo{position:relative;padding:32px;border:1px solid var(--line);border-radius:2px;background:var(--card);display:grid;gap:10px;align-content:start;justify-items:start}
.promo h3{font-size:30px}.promo p{color:var(--muted);margin:0;max-width:52ch}
.promo-club{isolation:isolate;overflow:hidden;background:var(--block);color:var(--on-block);border-color:var(--block);padding:clamp(28px,4vw,56px);min-height:300px;align-content:center}
.promo-club::after{content:"";position:absolute;inset:0 0 0 42%;z-index:-1;background:url(img/v7/club.webp?v=7) center/cover;-webkit-mask-image:linear-gradient(90deg,transparent,#000 55%);mask-image:linear-gradient(90deg,transparent,#000 55%);opacity:.9}
.promo-club h3{font:300 clamp(34px,4vw,56px)/1 var(--serif);max-width:12ch}
.promo-club p{color:#cfc8b8;max-width:38ch}
.promo-club .eyebrow{color:#e8806d}
.promo-club .primary{background:var(--on-block);color:#1b1a17;border-color:var(--on-block);margin-top:10px}
.promo-club .primary:hover{background:var(--seal);border-color:var(--seal);color:var(--on-seal)}
.promo-club .secondary{color:var(--on-block);border-color:var(--on-block);margin-top:10px}
.promo-club .secondary:hover{background:var(--on-block);color:#1b1a17}
.promo-shop{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:0;padding:0;align-items:stretch;background:var(--paper2)}
.promo-shop img{width:100%;height:100%;min-height:260px;object-fit:cover}
.promo-shop>div{padding:clamp(24px,3.4vw,48px);display:grid;gap:10px;align-content:center;justify-items:start}
.promo-shop b{font:500 28px var(--serif)}
.promo-shop .secondary{margin-top:6px}
.promo-support{background:transparent}
.promo-support small{font:400 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.meter{width:100%;max-width:520px;height:3px;background:var(--line);margin-top:8px}
.meter i{display:block;height:100%;background:var(--seal)}
.promo-pro{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin-top:56px;border-width:1px 0;border-color:var(--ink);background:transparent;padding:28px 0}
.promo-pro>.icon{width:34px;height:34px;color:var(--seal-ink)}
.promo-pro h3{font-size:26px}
/* — детальные страницы — */
.panel{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:28px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:start}
.detail-grid>aside{position:sticky;top:92px}
.detail-photo{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px;margin-bottom:28px;background:var(--paper2)}
.titlerow{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:10px 0 12px}
.detail-title{font:300 clamp(36px,4.4vw,62px)/1.02 var(--serif);letter-spacing:-.02em}
.lead{font:400 21px/1.5 var(--serif)}
.meta{color:var(--muted);letter-spacing:.1em}
.blocklabel{display:flex;align-items:center;gap:14px;margin:36px 0 12px;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.18em}
.blocklabel::after{content:"";flex:1;height:1px;background:var(--line)}
.booking{border-color:var(--ink);display:grid;gap:8px}
.booking h2{display:flex;flex-direction:column;gap:6px;margin:4px 0 6px}
.booking .price{font:300 46px/1 var(--serif)}
.booking h2 small{font:400 13px/1.4 var(--sans);color:var(--muted);letter-spacing:0}
.seats{margin:4px 0 8px;font-size:11px}
.master-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}
.master-row>span:nth-child(2){flex:1;min-width:0;font-size:16px}
.master-row small,.ticket-pocket small{display:block;font-size:12.5px;color:var(--muted)}
.master-row>.icon:last-child,.ticket-pocket>.icon:last-child{transform:rotate(180deg);width:16px;height:16px;color:var(--muted);transition:transform .3s var(--ease)}
.master-row:hover>.icon:last-child,.ticket-pocket:hover>.icon:last-child{transform:rotate(180deg) translateX(-4px)}
.avatar{display:inline-grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;overflow:hidden;font:400 18px var(--serif);color:#fbf3e4;background:#5e7f73}
.avatar.small{width:44px;height:44px;font-size:16px}
.avatar.big{width:76px;height:76px;font-size:28px}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar .icon{width:20px;height:20px}
.glaze0{background:#5e7f73}.glaze1{background:#8a4b38}.glaze2{background:#7c7f3c}.glaze3{background:#a5633f}.glaze4{background:#26384f}.glaze5{background:#6f5a72}
.list-link{display:block;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none}
.list-link small{font:400 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--seal-ink)}
.list-link h3{font-size:20px;margin-top:3px;transition:transform .35s var(--ease)}
.list-link:hover h3{transform:translateX(5px)}
blockquote{margin:16px 0;padding:2px 0 2px 22px;border-left:2px solid var(--seal);font:italic 300 21px/1.45 var(--serif)}
cite{display:block;margin-top:8px;font:400 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:2px;scrollbar-width:none;background:var(--paper2)}
.gallery::-webkit-scrollbar{display:none}
.gallery img{flex:0 0 100%;width:100%;aspect-ratio:3/2;object-fit:cover;scroll-snap-align:start}
.dots{display:flex;gap:6px;margin:12px 0 4px}
.dots i{width:22px;height:2px;background:var(--line);transition:background .3s}.dots i.on{background:var(--ink)}
.check{list-style:none;margin:0;padding:0}
.check li{display:flex;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:15px;line-height:1.45}
.check .icon{width:18px;height:18px;color:var(--celadon);margin-top:2px}
.program-row{display:flex;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.program-row span{font:400 12px var(--mono);color:var(--seal-ink);padding-top:3px}
.join{margin-top:72px;background:var(--paper2);border-color:var(--paper2);padding:clamp(28px,4vw,48px);display:grid;gap:14px;justify-items:start}
.join h2{font:300 clamp(26px,3vw,38px)/1.12 var(--serif);max-width:26ch}
.joinform{display:flex;gap:12px;width:100%;max-width:520px;align-items:flex-end}
.joinform input{flex:1}
.join .secondary.full{max-width:520px}
.reading{max-width:760px;margin:0 auto}
.reading h1{font:300 clamp(36px,5vw,64px)/1.02 var(--serif);letter-spacing:-.02em;margin:8px 0 20px}
.reading>p:not(.meta){font:400 19.5px/1.7 var(--serif)}
.reading>.byline+p::first-letter{float:left;font:300 4.3em/.82 var(--serif);padding:.08em .12em 0 0;color:var(--seal-ink)}
.byline{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);margin:0 0 28px}
.byline .master-row{flex:1}.byline .sharebtn{margin:0}
.after-read{margin-top:64px}
/* — мастера — */
.search-field{display:flex;align-items:center;gap:10px;max-width:420px;margin-bottom:44px;color:var(--muted)}
.search-field input{color:var(--ink)}
.mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 32px}
.mgrid>.empty{grid-column:1/-1}
.mcard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.mportrait,.moon{position:relative;display:block;width:min(100%,270px);aspect-ratio:1;border-radius:50%}
.mportrait::after,.moon::after{content:"";position:absolute;inset:-9px;border:1px solid var(--ink);border-radius:50%;opacity:.35;transition:inset .5s var(--ease),opacity .5s}
.mcard:hover .mportrait::after{inset:-14px;opacity:.8}
.mportrait img,.moon img{width:100%;height:100%;object-fit:cover;border-radius:50%;background:var(--paper2)}
.mportrait .badge.club{right:-4%;bottom:6%}
.mcard h3{font-size:28px}.mcard h3 a{text-decoration:none}
.mcard .sub{font:italic 300 17px/1.4 var(--serif);color:var(--ink);margin:6px auto 0;max-width:28ch}
.mcard .tags{justify-content:center;margin:12px 0 6px}
.mcard .at{font-size:13px;padding:0;margin:0!important}
.mcard>.secondary{min-height:44px}
.profile-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:center;padding:12px 0 48px;border-bottom:1px solid var(--line)}
.profile-hero h1{font:300 clamp(44px,5.6vw,84px)/.98 var(--serif);letter-spacing:-.025em;margin:14px 0 14px}
.profile-hero h2{font:italic 300 clamp(20px,2.2vw,28px)/1.3 var(--serif);margin-bottom:10px}
.profile-hero p{color:var(--muted)}
.profile-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}
.profile-actions .sharebtn{margin:0}
.moon{width:min(100%,340px);margin:0 auto}
.moon .seal.big{position:absolute;left:-6px;bottom:8px;transform:rotate(-5deg)}
.profile-detail{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:start}
.profile-detail>aside{margin-top:36px}
.inline-photo{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:2px;margin-top:28px}
/* — мой чай / клуб / билет — */
.auth{max-width:440px;margin:0 auto;display:grid;gap:10px;text-align:center}
.auth form{display:grid;gap:4px;text-align:left}
.auth form .primary{margin-top:10px}
.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px}
.me-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:32px}
.me-card{display:flex;align-items:center;gap:18px}
.me-card div{flex:1;min-width:0}.me-card h2{font-size:32px;font-weight:300}
.tierbadge{display:inline-flex;align-items:center;gap:6px;font:400 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.tierbadge .icon{width:14px;height:14px}.tierbadge.on{color:var(--seal-ink)}
.me-club{display:grid;gap:8px;justify-items:start;border-color:var(--ink)}
.me-club.member{background:var(--paper2)}
.me-club p{color:var(--muted);margin:0 0 6px}
.melist{margin:20px 0 32px;padding:8px 28px}
.melist .empty{border:0;padding:44px 0}
.melist>:last-child{border-bottom:0}
.ticket-pocket{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none}
.ticket-pocket>span{flex:1;min-width:0}.ticket-pocket>.icon:first-child{color:var(--seal-ink)}
.settings{display:grid;gap:14px;align-content:start}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.settings-grid .secondary{padding:0 12px;font-size:14px;white-space:normal;text-align:center;line-height:1.2}
.me-grid .promo-support{border-color:var(--line)}
.period{margin:18px 0 0}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0 40px}
.tier{position:relative;display:flex;flex-direction:column;gap:10px;padding:34px 28px 28px}
.tier h3{font-size:30px}
.tier.member,.tier.current{border-color:var(--ink)}
.tier.member{background:var(--paper2)}
.ribbon{position:absolute;top:-13px;bottom:auto;right:20px;font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.tierprice{display:flex;align-items:baseline;gap:8px;margin:0}
.tierprice b{font:300 44px/1 var(--serif)}.tierprice small{color:var(--muted);font-size:13px}
.tier .check{flex:1;margin-bottom:10px}
.tiernow{display:inline-flex;align-items:center;gap:8px;min-height:48px;font:400 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--celadon)}
.faq p{color:var(--muted);margin:10px 0 0;max-width:70ch}
.ticket{position:relative;max-width:430px;margin:8px auto 0;padding:40px 34px 30px;background:var(--card);border:1px solid var(--ink);text-align:center;display:grid;gap:8px;justify-items:center}
.ticket .seal.stamp{position:absolute;right:22px;top:22px;width:46px;height:46px;font-size:32px;transform:rotate(7deg)}
.ticket .eyebrow{max-width:70%;margin-right:auto;text-align:left}
.ticket h1{font:300 34px/1.08 var(--serif);margin-top:18px}
.ticket p{margin:0;color:var(--muted)}
.ticket-perforation{position:relative;width:calc(100% + 68px);margin:18px -34px 14px;border-top:1px dashed var(--ink)}
.ticket-perforation::before,.ticket-perforation::after{content:"";position:absolute;top:-11px;width:22px;height:22px;border-radius:50%;background:var(--paper);border:1px solid var(--ink)}
.ticket-perforation::before{left:-12px;clip-path:inset(0 0 0 50%)}.ticket-perforation::after{right:-12px;clip-path:inset(0 50% 0 0)}
.ticket-qr{width:200px;height:200px;border:8px solid #fff;display:block}
.ticket strong{font:500 15px var(--mono);letter-spacing:.24em}
/* — окна — */
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#12110ea8;overflow:auto;animation:fade .25s both}
.modal{position:relative;width:min(480px,100%);max-height:calc(100vh - 40px);overflow:auto;display:flex;flex-direction:column;gap:10px;padding:40px 34px 30px;background:var(--paper) var(--grain);border:1px solid var(--ink);border-radius:2px;animation:rise .45s var(--ease) both}
.modal>*{flex:none}
.modal h2{font:300 32px/1.1 var(--serif);padding-right:28px}
.modal p{margin:0}
.modal-close{position:absolute;top:10px;right:10px}.modal .segments{align-self:flex-start}
.modal .primary.full{margin-top:8px}
.quantity{display:flex;align-items:center;gap:14px;margin:6px 0}
.quantity span{margin-right:auto}.quantity strong{font:500 22px var(--serif);min-width:24px;text-align:center}
.quantity .iconbtn{border-color:var(--ink);font-size:20px}
.promo-field{display:flex;gap:10px;align-items:flex-end}
.promo-field input{flex:1}.promo-field .secondary{padding:0 16px}
.sum{margin-top:6px}.sum p{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:14.5px;color:var(--muted)}
.sum b{font-weight:500;color:var(--ink)}
.total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--ink)}
.total strong{font:300 38px/1 var(--serif)}
.amounts{margin:8px 0 0}
.promo-card{padding:12px 16px;border:1px dashed var(--ink);display:grid;gap:2px}
.promo-card strong{font:500 14px var(--mono);letter-spacing:.18em}
.promo-card p{font-size:13.5px;color:var(--muted)}
.tea-map{position:relative;height:230px;margin-top:8px;overflow:hidden;background:var(--paper2);border:1px solid var(--line)}
.map-water{position:absolute;left:-10%;top:58%;width:120%;height:30px;background:var(--celadon2);border-radius:30px;transform:rotate(-9deg)}
.map-road{position:absolute;left:-10%;top:30%;width:120%;height:2px;background:var(--line);transform:rotate(7deg)}
.map-road.road2{left:38%;top:-10%;width:2px;height:120%;transform:rotate(12deg)}
.map-pin{position:absolute;transform:translate(-50%,-100%);display:grid;justify-items:center;gap:2px;font:500 11.5px var(--sans);white-space:nowrap}
.map-pin .icon{width:30px;height:30px;padding:5px;background:var(--seal);color:var(--on-seal);border-radius:4px;filter:url(#rough)}
.tea-map small{position:absolute;left:10px;bottom:8px;font:400 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#toast{position:fixed;left:50%;bottom:32px;z-index:130;max-width:min(92vw,440px);padding:13px 20px;background:var(--block);color:var(--on-block);font-size:14px;border-radius:2px;border-left:3px solid var(--seal);opacity:0;pointer-events:none;transform:translate(-50%,16px);transition:opacity .3s,transform .4s var(--ease)}
#toast.show{opacity:1;transform:translate(-50%,0)}
/* — движение — */
@keyframes fade{from{opacity:0}}
@keyframes rise{from{opacity:0;transform:translateY(20px)}}
@keyframes unveil{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes settle{from{transform:scale(1.12)}}
@keyframes stamp{0%{opacity:0;scale:1.7}60%{opacity:1;scale:.94}100%{opacity:1;scale:1}}
@keyframes mist{to{transform:translateX(-28px)}}
.fresh .hero-no{animation:rise .9s var(--ease) both}
.fresh .hero h1{animation:rise 1s .08s var(--ease) both}
.fresh .hero p{animation:rise 1s .2s var(--ease) both}
.fresh .hero-frame{animation:unveil 1.25s .1s cubic-bezier(.7,0,.2,1) both}
.fresh .hero-frame img{animation:settle 2.2s .1s var(--ease) both}
.fresh .hero .seal.big,.fresh .moon .seal.big{animation:stamp .55s 1.05s cubic-bezier(.3,1.3,.5,1) both}
.fresh .hero-photo figcaption{animation:fade 1.2s 1s both}
.fresh .mountains .r1{animation:mist 16s ease-in-out 2 alternate}
.fresh .mountains .r2{animation:mist 22s ease-in-out 2 alternate-reverse}
.fresh .tcard,.fresh .post-card,.fresh .mcard,.fresh .tier{animation:rise .8s var(--ease) both}
.fresh .cards-grid>:nth-child(1),.fresh .mgrid>:nth-child(1),.fresh .tiers>:nth-child(1){animation-delay:.25s}
.fresh .cards-grid>:nth-child(2),.fresh .mgrid>:nth-child(2),.fresh .tiers>:nth-child(2){animation-delay:.33s}
.fresh .cards-grid>:nth-child(3),.fresh .mgrid>:nth-child(3),.fresh .tiers>:nth-child(3){animation-delay:.41s}
.fresh .cards-grid>:nth-child(n+4),.fresh .mgrid>:nth-child(n+4){animation-delay:.48s}
.fresh .detail-photo,.fresh .gallery,.fresh .moon img{animation:unveil 1.1s cubic-bezier(.7,0,.2,1) both}
.fresh .detail-title,.fresh .profile-hero h1,.fresh .reading h1{animation:rise .9s .15s var(--ease) both}
.ghost.on .icon,.primary.on .icon,.secondary.on .icon{animation:stamp .45s cubic-bezier(.3,1.3,.5,1)}
.fresh nav a[aria-current] .navicon{animation:stamp .45s cubic-bezier(.3,1.3,.5,1)}
/* — планшет — */
@media(max-width:1280px){.cards-grid,.mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid,.profile-detail{grid-template-columns:minmax(0,1fr) 320px;gap:40px}.hero{gap:40px}.profile-hero{grid-template-columns:minmax(0,1fr) 300px;gap:40px}}
/* — телефон — */
@media(max-width:1000px){
#app{display:block}.sidebar{display:none}
.topbar{height:58px;padding:0 20px}.top-title{display:none}.mobile-brand{display:block}
.mobile-brand .brand{font-size:23px;gap:11px}.mobile-brand .brand-mark{width:36px;height:36px;font-size:25px}
.mobile-brand .brand small{font-size:9px;margin-top:5px}
main{padding:24px 20px 120px}
footer{padding:24px 20px 110px;font-size:18px}footer small{margin-left:0;text-align:left}
.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(6,1fr);padding:7px 6px calc(7px + env(safe-area-inset-bottom));background:var(--paper) var(--grain);border-top:1px solid var(--ink)}
.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:54px;padding-top:2px;text-decoration:none;font-size:10.5px;letter-spacing:.01em;color:var(--muted)}
.bottomnav a[aria-current]{color:var(--ink)}
.bottomnav .navno{display:none}
.bottomnav .navicon{width:36px;height:32px}
#toast{bottom:96px}body.modal-open #toast{bottom:auto;top:14px}
.hero{grid-template-columns:1fr;gap:26px;margin-bottom:36px}
.hero-text{min-height:0;padding-bottom:58px}
.hero-no{margin-bottom:22px;font-size:10.5px}
.hero h1{font-size:clamp(50px,15.5vw,76px);margin:0 0 16px}
.hero h1 em{padding-left:.45em}
.hero p{font-size:16px}
.mountains{left:-20px;width:calc(100% + 40px);height:74px;-webkit-mask-image:linear-gradient(90deg,#000 40%,#0003);mask-image:linear-gradient(90deg,#000 40%,#0003)}
.hero-photo{padding-right:24px}
.hero-frame{min-height:0;aspect-ratio:4/3}
.hero-photo .seal.big{left:14px;bottom:-22px;width:62px;height:62px;font-size:43px}
.cards-grid,.mgrid{grid-template-columns:1fr;gap:44px}
.toolbar{margin-bottom:28px}
.detail-grid,.profile-detail,.profile-hero,.me-grid,.tiers{grid-template-columns:1fr;gap:28px}
.detail-grid>aside{position:static}
.profile-hero{padding-bottom:36px}.profile-hero .moon{order:-1;width:min(74%,280px);margin-bottom:6px}
.mcard{flex-direction:row;flex-wrap:wrap;align-items:flex-start;text-align:left;gap:18px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.mportrait{width:104px;margin:6px}
.mportrait::after{inset:-6px}
.mportrait .badge.club{right:-14px;bottom:-8px;font-size:8.5px;padding:5px 7px}
.mcard>div{flex:1;min-width:0}
.mcard h3{font-size:25px}.mcard .sub{margin-left:0;font-size:16px}.mcard .tags{justify-content:flex-start}
.mcard>.secondary{width:100%}
.mgrid{gap:28px}
.promo{padding:26px 22px}
.promo-club{align-content:end;padding:230px 22px 26px}
.promo-club::after{inset:0 0 auto 0;height:250px;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.promo-shop{grid-template-columns:1fr;padding:0}.promo-shop img{min-height:0;aspect-ratio:3/2}
.promo-pro{grid-template-columns:auto 1fr}.promo-pro .secondary{grid-column:1/-1;width:100%}
.welcome{align-items:center;margin-bottom:24px;padding-bottom:14px;gap:12px}.welcome h2{font-size:16px;line-height:1.25}.welcome p{display:none}.welcome .brand-mark{width:30px;height:30px;font-size:21px}
.joinform{flex-direction:column;align-items:stretch}
.melist{padding:4px 20px}.panel{padding:22px}
.me-card h2{font-size:27px}
.modal-backdrop{place-items:end center;padding:0}
.modal{width:100%;max-height:92vh;padding:34px 22px calc(26px + env(safe-area-inset-bottom));border-width:1px 0 0}
.reading>p:not(.meta){font-size:18px}
.tiers{margin-top:28px}
.tcard h3,.post-card h3{font-size:26px}
}
@media(max-width:380px){.bottomnav a{font-size:9.5px}.settings-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.sidebar,.bottomnav,.topbar,#toast{display:none}#app{display:block}}

/* ============ v8 · ТУШЬ · КИНОВАРЬ · ЧАЙ ============ */
@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/Lora-Cyr.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/Lora-Lat.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Lora";font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/Lora-Cyr-Italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Lora";font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/Lora-Lat-Italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Brush1";font-display:swap;src:url(fonts/MaShanZheng-v8.woff2) format("woff2")}
@font-face{font-family:"Brush2";font-display:swap;src:url(fonts/ZhiMangXing-v8.woff2) format("woff2")}
@font-face{font-family:"Brush3";font-display:swap;src:url(fonts/LiuJianMaoCao-v8.woff2) format("woff2")}
@font-face{font-family:"Brush4";font-display:swap;src:url(fonts/LongCang-v8.woff2) format("woff2")}
@font-face{font-family:"Han";font-weight:600;font-display:swap;src:url(fonts/NotoSerifSC-v8.woff2) format("woff2")}
:root{--paper:#efe7d6;--paper2:#e5dbc4;--card:#f6f0e1;--ink:#17140f;--muted:#5d5646;--line:#cdbf9f;--seal:#b3342a;--seal-ink:#9a2a21;--on-seal:#fbf1de;--celadon:#46695a;--celadon2:#d6e0cf;--gold:#a67f35;--block:#17140f;--on-block:#efe7d6;
--serif:"Lora","Spectral",Georgia,"Times New Roman",serif;--han:"Han","Noto Serif CJK SC","Songti SC",serif;
--fibre:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='520' height='520'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.012 .09' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .33  0 0 0 0 .2  0 0 0 -1.5 .98'/></filter><rect width='100%' height='100%' filter='url(%23f)' opacity='.16'/></svg>");
--fly:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 12' preserveAspectRatio='none'><path d='M0 6C40 2 120 1 220 2.500 340 4 470 1.800 600 5.500 470 7 340 6.600 220 8.200 120 9 40 9.600 0 6Z' fill='%2317140f'/><path d='M60 4.200h110M240 5.200h90M380 3.800h120M120 7.600h80M300 7.400h140' stroke='%23efe7d6' stroke-width='.9' opacity='.8'/></svg>");
--crack:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240' fill='none' stroke='%23775f3a' stroke-width='1' stroke-linecap='round' opacity='.55'><path d='M4 7L1 42M4 7L25 31M49 13L87 13M49 13L25 31M87 13L106 -1M87 13L73 53M106 -1L173 5M106 -1L169 29M173 5L212 -12M173 5L169 29M212 -12L239 -8M212 -12L204 29M239 -8L225 51M1 42L25 31M1 42L-9 71M1 42L55 91M25 31L73 53M25 31L55 91M73 53L128 30M73 53L74 94M128 30L169 29M128 30L121 85M169 29L204 29M169 29L151 93M169 29L206 94M204 29L225 51M204 29L206 94M225 51L252 74M-9 71L55 91M-9 71L-4 110M55 91L74 94M55 91L29 107M74 94L121 85M74 94L74 123M121 85L151 93M121 85L105 125M151 93L206 94M151 93L155 114M206 94L252 74M206 94L210 119M252 74L234 119M-4 110L29 107M-4 110L6 147M29 107L74 123M29 107L54 145M74 123L105 125M74 123L88 170M105 125L155 114M105 125L105 169M155 114L210 119M155 114L156 162M210 119L234 119M210 119L185 146M234 119L230 174M6 147L54 145M6 147L-9 208M54 145L88 170M54 145L53 213M88 170L105 169M88 170L75 196M105 169L156 162M105 169L121 208M156 162L185 146M185 146L230 174M185 146L209 211M185 146L226 214M230 174L226 214M-9 208L53 213M-9 208L-12 235M53 213L75 196M53 213L43 253M53 213L75 253M75 196L121 208M75 196L75 253M75 196L121 234M121 208L148 208M121 208L121 234M148 208L209 211M148 208L154 230M148 208L187 229M209 211L226 214M209 211L187 229M-12 235L43 253M43 253L75 253M75 253L121 234M121 234L154 230M154 230L187 229M187 229L246 255'/></svg>");
--meander:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='14' viewBox='0 0 32 14' fill='none' stroke='%2317140f' stroke-width='1.3' stroke-linecap='square'><path d='M1 13V1h14v12H5V5h6v4M17 13V1h14v12H21V5h6v4'/></svg>")}
:root[data-theme=night]{--paper:#0e0d0b;--paper2:#14120f;--card:#1a1814;--ink:#e8e0cc;--muted:#a89f8b;--line:#2f2b23;--seal-ink:#ee8f7b;--seal:#b3342a;--celadon:#9fbcab;--celadon2:#1f2a24;--gold:#cfa95a;--block:#1d1b16;--on-block:#e8e0cc;
--fibre:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='520' height='520'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.012 .09' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 .9  0 0 0 0 .84  0 0 0 0 .7  0 0 0 -1.5 .95'/></filter><rect width='100%' height='100%' filter='url(%23f)' opacity='.06'/></svg>");
--fly:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 12' preserveAspectRatio='none'><path d='M0 6C40 2 120 1 220 2.500 340 4 470 1.800 600 5.500 470 7 340 6.600 220 8.200 120 9 40 9.600 0 6Z' fill='%23e8e0cc'/><path d='M60 4.200h110M240 5.200h90M380 3.800h120M120 7.600h80M300 7.400h140' stroke='%230e0d0b' stroke-width='.9' opacity='.8'/></svg>");
--crack:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240' fill='none' stroke='%23e8e0cc' stroke-width='1' stroke-linecap='round' opacity='.22'><path d='M4 7L1 42M4 7L25 31M49 13L87 13M49 13L25 31M87 13L106 -1M87 13L73 53M106 -1L173 5M106 -1L169 29M173 5L212 -12M173 5L169 29M212 -12L239 -8M212 -12L204 29M239 -8L225 51M1 42L25 31M1 42L-9 71M1 42L55 91M25 31L73 53M25 31L55 91M73 53L128 30M73 53L74 94M128 30L169 29M128 30L121 85M169 29L204 29M169 29L151 93M169 29L206 94M204 29L225 51M204 29L206 94M225 51L252 74M-9 71L55 91M-9 71L-4 110M55 91L74 94M55 91L29 107M74 94L121 85M74 94L74 123M121 85L151 93M121 85L105 125M151 93L206 94M151 93L155 114M206 94L252 74M206 94L210 119M252 74L234 119M-4 110L29 107M-4 110L6 147M29 107L74 123M29 107L54 145M74 123L105 125M74 123L88 170M105 125L155 114M105 125L105 169M155 114L210 119M155 114L156 162M210 119L234 119M210 119L185 146M234 119L230 174M6 147L54 145M6 147L-9 208M54 145L88 170M54 145L53 213M88 170L105 169M88 170L75 196M105 169L156 162M105 169L121 208M156 162L185 146M185 146L230 174M185 146L209 211M185 146L226 214M230 174L226 214M-9 208L53 213M-9 208L-12 235M53 213L75 196M53 213L43 253M53 213L75 253M75 196L121 208M75 196L75 253M75 196L121 234M121 208L148 208M121 208L121 234M148 208L209 211M148 208L154 230M148 208L187 229M209 211L226 214M209 211L187 229M-12 235L43 253M43 253L75 253M75 253L121 234M121 234L154 230M154 230L187 229M187 229L246 255'/></svg>");
--meander:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='14' viewBox='0 0 32 14' fill='none' stroke='%23e8e0cc' stroke-width='1.3' stroke-linecap='square' opacity='.7'><path d='M1 13V1h14v12H5V5h6v4M17 13V1h14v12H21V5h6v4'/></svg>")}
body{background:var(--paper) var(--fibre),var(--paper) var(--grain);background-blend-mode:normal}
html{background:var(--paper)}
h1,h2,h3{font-weight:500;letter-spacing:-.012em}
.hero h1,.page-heading h1,.detail-title,.reading h1,.profile-hero h1,.promo-club h3,.join h2,.ticket h1,.booking .price{font-weight:400}
.brand{font-weight:500;font-size:25px;white-space:nowrap}.mobile-brand .brand{font-size:23px}
::selection{background:var(--seal);color:var(--on-seal)}
/* — иконки: тушь, неровный край — */
.icon{stroke-width:1.7;filter:url(#ink)}
.sprite .f{fill:currentColor;stroke:none}
.sprite path{vector-effect:none}
/* — печать: резная, киноварь — */
.seal{border-radius:3px;background:radial-gradient(circle at 30% 25%,#c23f33,var(--seal) 60%,#a22b21);font-family:"Brush1","Seal","Kaiti SC","STKaiti",serif;box-shadow:inset 0 0 0 2px var(--seal),inset 0 0 0 3px #fbf1de66,0 1px 0 #0000001a}
.seal.big{box-shadow:inset 0 0 0 4px var(--seal),inset 0 0 0 5px #fbf1de77,0 2px 0 #0000001a}
/* — типографика-ярлыки: пиньинь — */
.eyebrow,.hero-no,.when,.meta,.count,.top-title{letter-spacing:.12em}
[lang=zh]{font-family:var(--han);font-weight:600;letter-spacing:0;text-transform:none}
/* — шапка и подвал — */
.topbar{background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--line)}
footer{position:relative;margin-top:36px;padding-top:44px;border-top:0}
footer::before{content:"";position:absolute;left:56px;right:56px;top:14px;height:14px;background:var(--meander) 0 0/32px 14px repeat-x;opacity:.55}
.sidebar{background:var(--paper2) var(--fibre)}
.sidebar::after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,var(--ink) 18%,var(--ink) 82%,transparent);opacity:.25}
.navicon{width:36px;height:36px}
.navicon .icon{width:24px;height:24px}
/* — герой: сунский пейзаж, иероглиф-кисть, колонка надписи — */
.hero{isolation:isolate;gap:44px;margin-bottom:64px}
.hero-char{position:absolute;left:-1%;top:-4%;z-index:-1;font:400 clamp(300px,36vw,560px)/1 "Brush1",var(--han);color:var(--ink);opacity:.085;pointer-events:none;user-select:none;filter:url(#dry);font-style:normal}
.hero-life .hero-char{font-family:"Brush2"}.hero-events .hero-char{font-family:"Brush3"}.hero-spaces .hero-char{font-family:"Brush4"}.hero-school .hero-char{font-family:"Brush2"}.hero-me .hero-char{font-family:"Brush4"}
.hero-text{padding-bottom:84px}
.hero h1{font-size:clamp(50px,5.9vw,96px);line-height:.98;letter-spacing:-.03em;margin:26px 0 22px}
.hero h1 em{font-weight:400}
.hero-text .kj-cap{position:absolute;left:0;bottom:0;display:flex;align-items:baseline;gap:12px;margin:0;color:var(--ink);font:400 13px/1.3 var(--sans);max-width:none}
.kj-cap b{font:600 28px/1 var(--han);color:var(--seal-ink)}
.kj-cap i{font:400 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-style:normal}
.mountains{display:none}
.hero-photo{padding-right:0}
.hero-frame{position:relative;border-radius:0;background:transparent;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 94%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 90%,transparent);mask-composite:intersect}
.hero-frame img{mix-blend-mode:multiply}
.hero-club .hero-frame img{mix-blend-mode:normal}
.mist{position:absolute;inset:auto -10% 0 -10%;height:46%;pointer-events:none;background:radial-gradient(52% 60% at 28% 70%,rgba(246,240,225,.7),transparent 70%),radial-gradient(46% 56% at 74% 55%,rgba(246,240,225,.55),transparent 72%);filter:blur(14px);animation:drift 46s ease-in-out infinite alternate}
.mist.m2{height:36%;inset:auto -14% 10% -6%;opacity:.7;animation-duration:64s;animation-direction:alternate-reverse}
:root[data-theme=night] .mist{background:radial-gradient(52% 60% at 28% 70%,rgba(232,224,204,.16),transparent 70%),radial-gradient(46% 56% at 74% 55%,rgba(232,224,204,.12),transparent 72%)}
@keyframes drift{from{transform:translateX(-7%)}to{transform:translateX(7%)}}
.steam{position:absolute;left:66%;top:36%;width:60px;height:70px;pointer-events:none}
.steam b{position:absolute;bottom:0;width:7px;height:42px;border-radius:50%;background:linear-gradient(0deg,rgba(255,252,244,.0),rgba(255,252,244,.75));filter:blur(3.5px);opacity:0;animation:steam 5.5s ease-in-out infinite}
.steam b:nth-child(1){left:14px}.steam b:nth-child(2){left:28px;animation-delay:1.8s;height:50px}.steam b:nth-child(3){left:42px;animation-delay:3.4s}
@keyframes steam{0%{transform:translate(0,12px) scaleX(.8);opacity:0}30%{opacity:.7}100%{transform:translate(8px,-34px) scaleX(1.6);opacity:0}}
.hero-col{position:absolute;left:12px;top:6px;display:flex;flex-direction:column;align-items:center;gap:16px;z-index:3}
.hero-col b{writing-mode:vertical-rl;text-orientation:upright;font:400 clamp(30px,3.4vw,50px)/1.15 "Brush3",var(--han);letter-spacing:.06em;color:var(--ink)}
.hero-photo .hero-col .seal.big{position:static;width:54px;height:54px;font-size:38px;transform:rotate(-3deg)}
.hero-photo figcaption{position:static;writing-mode:horizontal-tb;margin-top:12px;text-align:right}
.hero-photo figcaption::before{display:none}
:root[data-theme=night] .hero-frame img{mix-blend-mode:screen;filter:invert(.92) hue-rotate(180deg) brightness(.82) contrast(1.35) sepia(.25)}
:root[data-theme=night] .hero-club .hero-frame img{filter:none;mix-blend-mode:normal}
:root[data-theme=night] .hero-char{opacity:.14}
/* — каллиграфический мазок как разделитель — */
.page-heading::after,.blocklabel::after{content:"";display:block;height:9px;background:var(--fly) 0 50%/100% 100% no-repeat}
.page-heading::after{width:min(100%,360px);margin-top:18px;opacity:.9}
.blocklabel::after{flex:1;height:9px;background:var(--fly) 0 50%/100% 100% no-repeat;opacity:.55}
.chiprow{margin-bottom:36px}
/* — карточки: ксилография, рамка-паспарту, печать — */
.tcard-photo,.post-photo{border-radius:0;background:var(--paper2)}
.tcard-photo img,.post-photo img{filter:saturate(.9) contrast(1.03) sepia(.08)}
.tcard-photo::after,.post-photo::after,.detail-photo-wrap::after{content:"";position:absolute;inset:9px;border:1px solid rgba(251,241,222,.5);pointer-events:none}
.badge,.pill{border-radius:0;background:var(--paper);border-left:3px solid var(--seal);padding-left:11px}
.badge::before,.pill::before{display:none}
.badge.club,.ribbon{border-left:0}
.tcard h3,.post-card h3{font-weight:500;font-size:26px}
.price{font-weight:500}
.detail-photo{border-radius:0;filter:saturate(.92) sepia(.06)}
.gallery img{filter:saturate(.92) sepia(.06)}
.promo,.panel,.side-club,.ticket{background:var(--card) var(--fibre)}
.promo-club{background:var(--block)}
.promo-club::after{opacity:.85}
.join{background:var(--paper2) var(--crack) right top/260px no-repeat}
.empty{background:var(--crack) center/220px no-repeat}
.mportrait::before,.moon::before{content:"";position:absolute;inset:-18px;border:1px solid var(--ink);border-radius:50%;opacity:.12}
.mportrait img,.moon img{filter:saturate(.9) sepia(.1) contrast(1.02)}
blockquote{border-left-color:var(--seal)}
.reading>.byline+p::first-letter{font-weight:500}
/* — культура: цитата-свиток, пять листьев, четыре движения — */
.culture{margin:0 0 64px;display:grid;gap:44px}
.scroll-quote{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px;padding:44px clamp(24px,5vw,72px);border:1px solid var(--ink);background:var(--card) var(--fibre);margin-top:12px}
.scroll-quote::before,.scroll-quote::after{content:"";position:absolute;left:-14px;right:-14px;height:12px;background:linear-gradient(180deg,#3a2c20,#17140f 60%,#3a2c20);border-radius:6px;box-shadow:0 2px 0 #0003}
.scroll-quote::before{top:-8px}.scroll-quote::after{bottom:-8px}
.scroll-quote .eyebrow{position:absolute;left:clamp(24px,5vw,72px);top:20px}
.scroll-quote blockquote{display:contents;border:0;padding:0;margin:0}
.scroll-quote blockquote p:first-child{margin:0;font:600 24px/1.7 var(--han);letter-spacing:.18em;color:var(--ink);grid-column:1;white-space:nowrap;display:flex;flex-direction:row-reverse;gap:.35em;height:auto}
.scroll-quote blockquote p:first-child span{display:block;writing-mode:vertical-rl}
.scroll-quote blockquote .tr{grid-column:2;font:italic 400 clamp(19px,2vw,25px)/1.5 var(--serif);max-width:46ch;margin:0}
.scroll-quote .seal{grid-column:3;align-self:end;width:56px;height:56px;font-size:40px;transform:rotate(4deg)}
.kj-row,.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.kj-row li,.steps li{position:relative;display:flex;flex-direction:column;gap:4px;padding:22px 20px 24px 0;border-bottom:1px solid var(--line)}
.kj-row li+li,.steps li+li{padding-left:20px;border-left:1px solid var(--line)}
.kj-row b,.steps b{font:400 54px/1.1 "Brush1",var(--han);color:var(--ink);letter-spacing:.02em}
.kj-row i,.steps i{font:400 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--seal-ink);font-style:normal}
.kj-row strong,.steps strong{font:500 21px/1.2 var(--serif);margin-top:6px}
.kj-row span,.steps span{font-size:14px;line-height:1.5;color:var(--muted)}
.steps em{position:absolute;right:0;top:20px;font:italic 400 14px var(--serif);color:var(--muted)}
/* — ночь: тушь на тёмной бумаге — */
:root[data-theme=night] .tcard-photo img,:root[data-theme=night] .post-photo img,:root[data-theme=night] .detail-photo,:root[data-theme=night] .gallery img{filter:brightness(.86) saturate(.9)}
:root[data-theme=night] .scroll-quote{border-color:var(--line)}
:root[data-theme=night] .scroll-quote::before,:root[data-theme=night] .scroll-quote::after{background:linear-gradient(180deg,#4a3b2c,#2a2118 60%,#4a3b2c)}
:root[data-theme=night] .primary{background:var(--ink);color:var(--paper)}
/* — движение: мазок проявляется, печать-оттиск, пар — */
@keyframes brush{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes colrise{from{opacity:0;transform:translateY(-14px)}}
.fresh .hero-char{animation:brush 2.2s .15s cubic-bezier(.5,0,.2,1) both,fade 1.6s .15s both}
.fresh .hero-col b{animation:colrise 1.1s .7s var(--ease) both}
.fresh .hero-text .kj-cap{animation:rise 1s .5s var(--ease) both}
.fresh .scroll-quote{animation:unveil 1.4s .2s cubic-bezier(.7,0,.2,1) both}
.fresh .kj-row li,.fresh .steps li{animation:rise .8s var(--ease) both}
.fresh .kj-row li:nth-child(2),.fresh .steps li:nth-child(2){animation-delay:.1s}.fresh .kj-row li:nth-child(3),.fresh .steps li:nth-child(3){animation-delay:.2s}.fresh .kj-row li:nth-child(4),.fresh .steps li:nth-child(4){animation-delay:.3s}.fresh .kj-row li:nth-child(5){animation-delay:.4s}
/* — планшет/телефон — */
@media(max-width:1280px){.hero-text .kj-cap{position:static;margin-top:20px}.hero-text{padding-bottom:0}.kj-row{grid-template-columns:repeat(3,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.kj-row li,.steps li{margin-right:0}.kj-row li:nth-child(3n+1),.steps li:nth-child(2n+1){padding-left:0;border-left:0}}
@media(max-width:1000px){
.hero{gap:22px;margin-bottom:44px}
.hero-char{font-size:clamp(230px,70vw,330px);left:auto;right:-8%;top:-2%;opacity:.07}
.hero-text .kj-cap{margin-top:14px}
.hero-photo{padding-right:0}
.hero-frame{aspect-ratio:4/3}
.hero-col{left:6px;top:4px;gap:10px}.hero-col b{font-size:26px}
.hero-photo .hero-col .seal.big{width:42px;height:42px;font-size:30px}
.steam{left:62%;top:38%}
footer::before{left:20px;right:20px}
.scroll-quote{grid-template-columns:auto 1fr;gap:20px;padding:56px 20px 28px}
.scroll-quote .eyebrow{left:20px;top:22px;right:20px}
.scroll-quote blockquote p:first-child{font-size:19px}
.scroll-quote blockquote .tr{font-size:18px}
.scroll-quote .seal{display:none}
.kj-row,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.kj-row li:nth-child(n),.steps li:nth-child(n){padding-left:0;border-left:0;margin-right:0}
.kj-row li:nth-child(even),.steps li:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
.kj-row li:nth-child(5){grid-column:1/-1}
.kj-row b,.steps b{font-size:44px}
.culture{gap:32px;margin-bottom:44px}
}
@media(prefers-reduced-motion:reduce){.mist,.steam b,.hero-char{animation:none!important}.steam{display:none}}
main{overflow-x:clip}

.hero-club .hero-col b{color:#f3ead8;text-shadow:0 1px 6px #000a}
