/* Generated by tools/prepare_site.py; edit source CSS. */
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 900;font-display:swap;src:url("/cache/17d048ca05cb1218af3c0d6dcdf882989e6d1cc5dcb598ea50eaf54850ff7229/assets/fonts/golos-text-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 900;font-display:swap;src:url("/cache/9a69d0aa4734c4022224c002a3d944a702e0204972a49d892789f5668b922c2a/assets/fonts/golos-text-latin.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}
:root{--content-max:1080px;--page-gutter:56px;--paper:#f8f9f3;--ink:#24291f;--muted:#686e62;--lime:#d4f46b;--green:#50642c;--line:#dde1d4;--font:"Golos Text",sans-serif;color-scheme:light;font-family:var(--font);color:var(--ink);background:var(--paper);font-synthesis:none;font-size:100%;scrollbar-gutter:stable}
*{box-sizing:border-box}
body{margin:0}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:default;opacity:.55}
a{color:inherit;text-underline-offset:4px}
button, a{touch-action:manipulation}
button:focus-visible,a:focus-visible,video:focus-visible{outline:3px solid #547b10;outline-offset:5px}
button{border:0}
button:focus:not(:focus-visible){outline:none}
[hidden]{display:none!important}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.page-width{width:min(var(--content-max),calc(100% - var(--page-gutter) - var(--page-gutter)));margin-inline:auto}
.skip-link{position:fixed;z-index:60;top:-80px;left:20px;padding:12px 20px;background:var(--lime)}
.skip-link:focus{top:15px}
/* Шапка закреплена при прокрутке: полоса на всю ширину экрана с плотным фоном,
   содержимое остаётся в колонке контента; якоря приземляются ниже полосы
   благодаря scroll-padding-top. */
.site-header-band{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;height:auto;min-height:0;flex-wrap:wrap;padding-block:8px}
.brand{display:flex;gap:23px;align-items:center;text-decoration:none}
.brand-mark{display:block;position:relative;width:64px;flex-shrink:0}
.brand-logo{display:block;width:100%;height:auto}
/* Исходная корона: та же альфа-маска, цвет — акцент выбранной темы. */
.brand-mark .brand-logo{clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,40% 28%,40% 53%,57% 53%,57% 28%,40% 28%)}
.brand-mark::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--green);mask:url('/cache/5daa750c6aba7baaf72b17c9def16ad3f4d574a4b2eeb5118fe73fef475d6550/assets/brand/hzb-logo-light-160.webp') center/100% 100% no-repeat;clip-path:inset(28% 43% 47% 40%)}
.brand-logo-light{display:none}
:root:is([data-theme="dark"],[data-theme="dark-lime"]) .brand-logo-dark{display:none}
:root:is([data-theme="dark"],[data-theme="dark-lime"]) .brand-logo-light{display:block}
.brand-description{letter-spacing:-.05px;flex-shrink:0}
.header-location{display:flex;align-items:center;gap:8px;color:var(--muted);margin-left:auto;margin-right:46px}
.header-location .icon{width:17px;height:17px}
.header-action{display:flex;align-items:center;gap:20px;background:transparent;padding:13px 0;}
.header-action .icon{width:18px;height:18px;transform:rotate(-40deg)}
.hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;padding-top:40px}
.hero-copy{position:relative;z-index:1;padding-bottom:24px}
.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 22px;color:#5b6350;}
.status-dot{height:7px;width:7px;border-radius:50%;background:#6d823e;flex-shrink:0}
h1{margin:0 0 26px}
.title-highlight{position:relative;color:var(--green)}
.title-highlight>svg{position:absolute;bottom:-17px;left:-4px;width:100%;height:17px;overflow:visible;fill:none;stroke:#a4c54b;stroke-width:4;stroke-linecap:round;z-index:-1}
.hero-description{color:#656a5e;margin:0 0 20px;max-width:550px}
.occasion-list{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 24px}
.occasion-list li{padding:7px 12px;border:1px solid #d9decd;border-radius:6px;color:#5e6655;background:#f1f3e9}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:55px;transition:background .18s,transform .18s;max-width:100%;text-decoration:none}
.button-primary{background:var(--lime);border-radius:9px;padding:15px 22px;box-shadow:0 2px 0 #bdde56}
.button-primary:hover{background:#c5eb4e;transform:translateY(-2px)}
.button-video{background:transparent;padding:10px 0;gap:9px;white-space:normal;text-align:left;max-width:100%}
.button-video:hover .play-circle{background:var(--lime)}
.play-circle{display:grid;place-items:center;width:32px;height:32px;border:1px solid #a9b19b;border-radius:50%;transition:background .18s;flex-shrink:0}
.play-circle .icon{width:15px;height:15px;fill:var(--ink);stroke-width:0;margin-left:2px}
.price-note{display:flex;flex-direction:column;gap:5px;margin:18px 0 0;color:var(--muted)}
.price-note strong{color:var(--ink)}
.hero-visual{position:relative;min-height:598px;display:flex;align-items:flex-start;justify-content:center;padding-top:22px;isolation:isolate}
.visual-orbit{position:absolute;z-index:-1;pointer-events:none;border:1px solid #dfe4d2;border-radius:50%}
.orbit-one{width:455px;height:455px;top:105px;left:calc(50% - 227px);background:#eef2e1}
.orbit-two{width:504px;height:504px;top:81px;left:calc(50% - 252px);border-style:dashed;border-color:#d6ddc6}
.phone-shell{position:relative;width:260px;aspect-ratio:9/18.4;background:#20251e;border:1px solid #6b7161;padding:7px;border-radius:46px;transform:rotate(7deg);box-shadow:2px 3px 0 1px #9da38f,0 26px 44px -22px #47543270,20px 34px 64px -40px #485a3280}
.phone-shell:before,.phone-shell:after{content:"";position:absolute;background:#535b49;width:3px;border-radius:3px}
.phone-shell:before{height:50px;top:124px;left:-4px}
.phone-shell:after{height:63px;top:152px;right:-4px}
.phone-screen{position:relative;height:100%;border-radius:38px;overflow:hidden;background:#161a15;color:#fff}
video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:#161a15}
.phone-island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:76px;height:23px;border-radius:30px;background:#11140f;pointer-events:none}
.phone-island i{position:absolute;right:9px;top:7px;width:8px;height:8px;border-radius:50%;background:#1b251f;box-shadow:inset 0 0 0 2px #273a3b}
.video-topline{position:absolute;top:42px;left:17px;right:17px;display:flex;align-items:center;gap:8px;letter-spacing:.65px;text-shadow:0 1px 6px #000;pointer-events:none;background:#171b14;padding:3px 5px;border-radius:4px}
.video-brand{letter-spacing:-2px}
.video-controls{position:absolute;bottom:24px;left:10px;right:10px;display:flex;gap:5px;align-items:center;justify-content:center;z-index:2}
.video-control{background:#171b14d9;color:#fff;width:38px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;padding:0;flex-shrink:0;min-height:40px}
.video-control:hover{background:#303b23}
.video-control .icon{width:17px;height:17px}
.video-play-overlay{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:clamp(80px,30%,108px);aspect-ratio:1;padding:0;border:1px solid #ffb3a3b3;border-radius:50%;background:#211815e8;color:#fff;box-shadow:0 8px 28px #0006;transition:background .2s}
.video-play-overlay:hover{background:#4a2520}
.video-play-overlay .icon{width:52%;height:52%;margin-left:8%;fill:currentColor;stroke:none}
.video-play-overlay::before{content:"";position:absolute;inset:-5px;border:2px solid #ff8b76;border-radius:inherit;opacity:0;pointer-events:none}
.video-play-overlay.is-waiting::before{animation:video-play-pulse 1.8s ease-out infinite}
/* Ожидание первого кадра и повторная буферизация: без скачков размеров плеера. */
.video-loading{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:clamp(80px,30%,108px);aspect-ratio:1;border:1px solid #ffb3a380;border-radius:50%;background:#211815ed;box-shadow:0 8px 28px #0006;pointer-events:none}
.video-loading-spinner{width:36px;height:36px;border:3px solid #ffffff30;border-top-color:#ff8b76;border-right-color:#ff8b76;border-radius:50%;animation:video-loading-spin .9s linear infinite}
.video-loading-label{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);padding:7px 11px;border-radius:20px;background:#171311ed;color:#fff;font:500 12px/1.3 "Golos Text",sans-serif;white-space:nowrap}
.video-loading-dots{display:inline-flex;width:1em;justify-content:center}
.video-loading-dots i{font-style:normal;animation:video-loading-dot 1.8s steps(1,end) infinite}
.video-loading-dots i:nth-child(2){animation-delay:.3s}
.video-loading-dots i:nth-child(3){animation-delay:.6s}
@keyframes video-loading-dot{0%,50%,100%{opacity:1}51%,99%{opacity:0}}
@keyframes video-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.video-loading-spinner,.video-loading-dots i{animation:none}}
.video-play-overlay:focus-visible{outline:3px solid #fff;outline-offset:7px}
@keyframes video-play-pulse{0%{transform:scale(.96);opacity:.75}80%,100%{transform:scale(1.42);opacity:0}}
@media(prefers-reduced-motion:reduce){.video-play-overlay.is-waiting::before{animation:none;opacity:.4}.video-play-overlay{transition:none}}
.sound-control{border-radius:25px;width:auto;padding:0 11px;gap:6px;min-width:132px;white-space:normal;height:auto;min-height:40px}
.video-progress{--played:0%;position:absolute;z-index:3;bottom:1px;left:20px;width:calc(100% - 40px);height:24px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;touch-action:none}
.video-progress::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right,var(--lime) var(--played),#ffffff80 var(--played))}
.video-progress::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(to right,var(--lime) var(--played),#ffffff80 var(--played))}
.video-progress::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--lime);border:1px solid #20251e;margin-top:-4px}
.video-progress::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--lime);border:1px solid #20251e}
.video-progress:focus-visible{outline:2px solid var(--lime);outline-offset:1px;border-radius:5px}
.video-progress:disabled{cursor:default;opacity:.5}
.phone-screen:fullscreen .video-progress{bottom:5px;left:5%;width:90%}
.visual-caption{position:absolute;z-index:2;top:-19px;right:0;transform:rotate(7deg);color:#6b7460}
.visual-caption strong{color:#424d34}
.visual-caption svg{position:absolute;top:20px;right:-18px;width:64px;height:75px;fill:none;stroke:#8a9c6b;stroke-width:1.8;stroke-linecap:round}
.decor-spark{width:63px;height:63px;fill:#b7d665;position:absolute;top:85px;left:8px;transform:rotate(10deg)}
.video-sticker{position:absolute;z-index:3;bottom:113px;right:-6px;display:flex;align-items:center;gap:8px;background:var(--lime);padding:14px 18px;border-radius:10px;box-shadow:0 5px 0 #b7d45833;transform:rotate(-9deg);pointer-events:none}
.video-sticker strong{letter-spacing:-.4px}
.sticker-icon{width:32px;height:37px;fill:none;stroke:#465e1b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.video-caption{position:absolute;bottom:0;left:50%;transform:translateX(-50%);color:#69745c;display:flex;align-items:center;gap:7px;margin:0 0 9px;white-space:normal;width:max-content;max-width:100%;text-align:center;justify-content:center}
.video-caption>span{width:5px;height:5px;border-radius:50%;background:#8aa358;flex-shrink:0}
.hero-bottom{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr .8fr 1.15fr;gap:32px;align-items:center;border-top:1px solid var(--line);padding:22px 0 26px;margin-top:10px}
.hero-bottom>p{color:#707765;margin:0}
.hero-bottom>p strong{color:#48533c}
.hero-bottom>div{position:relative;padding-left:34px;display:flex;flex-direction:column;gap:5px}
.hero-bottom>div:before{content:"";position:absolute;left:0;top:5px;height:32px;width:1px;background:var(--line)}
.fact-value{letter-spacing:-1px;}
.fact-value small{letter-spacing:0;}
.fact-caption{color:#737b65}
.hero-bottom>.location-fact{display:flex;flex-direction:row;gap:12px;align-items:center;color:#59634d}
.location-fact .icon{width:27px;height:27px;stroke-width:1.8;color:#76865d}
.video-error{position:absolute;z-index:4;inset:auto 14px 95px;margin:0;padding:15px;border-radius:12px;background:#fff;color:#222;}
.formats-dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:38px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);box-shadow:0 25px 100px #20251e40;max-width:min(660px,calc(100% - 32px))}
.formats-dialog::backdrop{background:#1b241b80;backdrop-filter:blur(5px)}
.formats-dialog .dialog-close{position:absolute;right:18px;top:18px;width:44px;height:44px;min-height:44px}
.formats-dialog .eyebrow{margin:7px 35px 15px 0;margin-right:48px}
.formats-dialog h2{margin:0 0 12px;}
.dialog-intro,.dialog-note{color:var(--muted)}
.dialog-intro{margin-bottom:22px;max-width:470px}
.format-option{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:18px 0}
.format-option h3{margin:0 0 7px}
.format-option p{color:var(--muted);margin:0}
.format-option>strong{color:var(--green);padding-top:2px;white-space:nowrap;flex-shrink:0}
.format-option>div{min-width:0}
.dialog-note{background:#edf1e1;padding:15px;border-radius:10px;margin-bottom:0}
body.dialog-open{overflow:hidden}
.phone-screen:fullscreen{border-radius:0;display:grid;place-items:center;background:#111}
.phone-screen:fullscreen video{object-fit:contain;max-height:100dvh}
.phone-screen:fullscreen .phone-island,.phone-screen:fullscreen .video-topline{display:none}
.phone-screen:fullscreen .video-controls{left:50%;right:auto;transform:translateX(-50%);bottom:36px}
.phone-screen:fullscreen .video-control{width:48px;height:48px}
.phone-screen:fullscreen .sound-control{width:150px}
@media(min-width:1600px){.hero{padding-top:46px}.hero-visual{padding-top:22px}.phone-shell{width:260px}.hero-copy{padding-bottom:24px}}
@media(max-width:1199px){:root{--page-gutter:32px;}.hero{column-gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);padding-top:50px}.wide-break{display:none}.hero-actions{gap:15px;flex-wrap:wrap}.button-video{min-height:40px}.hero-visual{min-height:627px;padding-top:25px}.phone-shell{width:257px}.orbit-one{width:350px;height:350px;left:calc(50% - 175px);top:135px}.orbit-two{width:398px;height:398px;left:calc(50% - 199px);top:111px}.decor-spark{left:-2px;width:45px;height:45px}.visual-caption{right:15px;top:-8px;}.video-sticker{right:0;bottom:145px;padding:12px}.video-caption{bottom:40px}.hero-bottom{margin-top:0}.header-location{margin-right:20px}}
@media(max-width:900px) and (min-width:761px){.brand-description{display:none}.phone-shell{width:230px}.hero-visual{padding-top:30px}.video-sticker{bottom:160px;right:-4px}.video-controls{left:5px;right:5px;gap:3px}.video-control{width:30px;height:36px}.sound-control{min-width:123px;padding:0 8px}.orbit-two{width:320px;height:320px;left:calc(50% - 160px)}.orbit-one{width:280px;height:280px;left:calc(50% - 140px);top:130px}.hero-bottom{gap:16px}.hero-bottom>div{padding-left:17px}}
@media(max-width:760px){:root{--page-gutter:20px;}.site-header{min-height:0;gap:10px}.brand{gap:17px}.brand-description{display:none}.header-location{margin:0 0 0 auto;gap:4px}.header-location .icon{width:15px;height:15px}.header-action{display:none}.hero{grid-template-columns:1fr;padding-top:34px}.hero-copy{padding-bottom:0}.arrival-cue{align-items:flex-start}.arrival-cue>.status-dot{margin-top:4px;flex-shrink:0}.eyebrow{margin-bottom:22px}h1{margin-bottom:27px}.desktop-break{display:none}.title-highlight>svg{bottom:-14px;height:12px}.hero-description{max-width:480px;margin-bottom:19px}.occasion-list{gap:6px;margin-bottom:25px}.occasion-list li{padding:6px 10px}.hero-actions{gap:12px}.button{min-height:53px;}.button-primary{padding-inline:19px;gap:20px}.button-video{min-height:38px}.price-note{margin-top:16px;gap:2px}.hero-visual{margin-top:35px;min-height:630px;padding-top:15px}.phone-shell{width:275px;transform:rotate(5deg)}.orbit-one{width:330px;height:330px;left:calc(50% - 165px);top:112px}.orbit-two{width:360px;height:360px;left:calc(50% - 180px);top:97px}.visual-caption{right:0;top:-16px;transform:rotate(5deg)}.visual-caption svg{right:0;top:26px;width:45px;height:50px}.decor-spark{top:72px;left:0;width:40px;height:40px}.video-sticker{right:-3px;bottom:112px;padding:12px 15px}.video-caption{bottom:0;margin-bottom:7px}.hero-bottom{grid-template-columns:1fr 1fr;gap:22px 18px;margin-top:23px;padding:23px 0 32px}.hero-bottom>div{padding-left:18px;min-width:0}.hero-bottom>div:nth-child(3){padding-left:0}.hero-bottom>div:nth-child(3):before{display:none}.hero-bottom>.location-fact{gap:8px}.hero-bottom>.location-fact .icon{width:22px;height:22px}.formats-dialog{padding:26px 22px;border-radius:19px}.format-option{gap:10px;flex-direction:column}}
@media(max-width:374px){:root{--page-gutter:16px}.phone-shell{width:247px}.orbit-one{width:270px;height:270px;left:calc(50% - 135px)}.orbit-two{width:290px;height:290px;left:calc(50% - 145px)}.video-sticker{right:-4px;bottom:90px}.video-sticker .sticker-icon{width:25px}.video-controls{gap:3px;left:6px;right:6px}.video-control{width:32px}.sound-control{min-width:125px}}
@media(max-width:760px){.video-sticker{bottom:160px}.title-highlight>svg{display:none}}
@media(max-width:374px){.video-sticker{bottom:140px}}
.phone-shell>.visual-caption{top:-50px;right:-20px;left:auto;bottom:auto;width:160px;transform:none;pointer-events:none}
.phone-shell>.visual-caption svg{top:28px;right:0;left:auto;width:60px;height:60px}
@media(min-width:761px) and (max-height:800px){
  .site-header{min-height:0}
  .hero{padding-top:26px}
  h1{margin-bottom:22px}
  .hero-copy{padding-bottom:18px}
  .eyebrow{margin-bottom:17px}
  .hero-description{margin-bottom:17px}
  .occasion-list{margin-bottom:20px}
  .price-note{margin-top:15px}
  .hero-visual{min-height:516px;padding-top:22px}
  .phone-shell{width:224px;border-radius:39px;padding:6px}
  .phone-screen{border-radius:32px}
  .orbit-one{width:340px;height:340px;left:calc(50% - 170px);top:95px}
  .orbit-two{width:380px;height:380px;left:calc(50% - 190px);top:75px}
  .video-sticker{bottom:130px}
  .video-caption{bottom:0}
  .video-controls{left:5px;right:5px;gap:3px}
  .video-control{width:30px;height:36px}
  .sound-control{min-width:123px;padding:0 8px}
  .hero-bottom{padding:18px 0 22px;margin-top:8px}
}
@media(min-width:761px) and (max-width:900px){.video-sticker{bottom:230px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Палитры меняют цвет, сохраняя общую композицию и размеры. */
:root{--theme-surface:#eef2e5;--theme-selected:#fff;--focus:#547b10}
:root[data-theme="red"]{
  --paper:#fff7f3;--ink:#302322;--muted:#79605b;--line:#e9d6d0;
  --lime:#dc372f;--green:#bd302a;--theme-surface:#f6e8e2;--theme-selected:#fff;
  --accent-text:#fff;--accent-hover:#bd302a;--accent-shadow:#b92b25;
  --theme-orbit:#f8e7e0;--theme-mark:#e8a89b;--theme-spark:#de8070;--focus:#b42d28;
}
:root[data-theme="dark"]{
  color-scheme:dark;--paper:#171719;--ink:#f4f1e9;--muted:#b0aaaa;--line:#3a3435;
  --lime:#f7826f;--green:#ff9b89;--theme-surface:#272325;--theme-selected:#3b3335;
  --accent-text:#251917;--accent-hover:#ff9d8c;--accent-shadow:#b44e40;
  --theme-orbit:#282224;--theme-mark:#9f5b50;--theme-spark:#d78272;--focus:#ffb09e;
}
:root[data-theme]:not([data-theme="lime"]) :is(.eyebrow,.hero-description,.occasion-list li,.price-note,.visual-caption,.visual-caption strong,.video-caption,.hero-bottom>p,.hero-bottom>p strong,.fact-caption,.hero-bottom>.location-fact,.location-fact .icon){color:var(--muted)}
:root[data-theme]:not([data-theme="lime"]) .sticker-icon{color:var(--green)}
:root[data-theme]:not([data-theme="lime"]) .status-dot,
:root[data-theme]:not([data-theme="lime"]) .video-caption>span{background:var(--green)}
:root[data-theme]:not([data-theme="lime"]) .occasion-list li{background:var(--theme-surface);border-color:var(--line)}
:root[data-theme]:not([data-theme="lime"]) .button-primary{color:var(--accent-text);box-shadow:0 2px 0 var(--accent-shadow)}
:root[data-theme]:not([data-theme="lime"]) .button-primary:hover{background:var(--accent-hover)}
:root[data-theme]:not([data-theme="lime"]) .play-circle{border-color:var(--muted)}
:root[data-theme]:not([data-theme="lime"]) .button-video:hover .play-circle .icon{fill:var(--accent-text)}
:root[data-theme]:not([data-theme="lime"]) .title-highlight>svg{stroke:var(--theme-mark)}
:root[data-theme]:not([data-theme="lime"]) .visual-orbit{border-color:var(--line)}
:root[data-theme]:not([data-theme="lime"]) .orbit-one{background:var(--theme-orbit)}
:root[data-theme]:not([data-theme="lime"]) .decor-spark{fill:var(--theme-spark)}
:root[data-theme]:not([data-theme="lime"]) .visual-caption svg{stroke:var(--theme-spark)}
:root[data-theme]:not([data-theme="lime"]) .video-sticker{color:var(--accent-text);box-shadow:0 5px 0 #0000000d}
:root[data-theme]:not([data-theme="lime"]) .sticker-icon{stroke:var(--accent-text)}
:root[data-theme]:not([data-theme="lime"]) .dialog-note{background:var(--theme-surface)}
:root[data-theme]:not([data-theme="lime"]) .phone-shell{background:#252225;border-color:#74696a;box-shadow:2px 3px 0 1px #8e7e7e,0 26px 44px -22px #20101365,20px 34px 64px -40px #20101380}
:root:is([data-theme="dark"],[data-theme="dark-lime"]) .phone-shell{border-color:#625b5e;box-shadow:2px 3px 0 1px #736368,0 26px 44px -22px #000000b0,20px 34px 64px -40px #000000b0}
button:focus-visible,a:focus-visible,video:focus-visible{outline-color:var(--focus)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.header-location{margin-right:4px}
@media(min-width:761px) and (max-width:1000px){.header-location{display:none}}
@media(max-width:760px){
  .site-header{height:auto;min-height:0;flex-wrap:wrap;padding-block:8px;row-gap:10px}
  .theme-picker{order:3;width:100%}

  .header-location{margin-right:0}
}

:root[data-theme="dark-lime"]{
  color-scheme:dark;--paper:#171a15;--ink:#f1f4e9;--muted:#aeb7a4;--line:#343d2e;
  --lime:#d4f46b;--green:#d4f46b;--theme-surface:#252c20;--theme-selected:#39452b;
  --accent-text:#24291f;--accent-hover:#e1ff8b;--accent-shadow:#8ba63e;
  --theme-orbit:#252d1e;--theme-mark:#7e9848;--theme-spark:#b6d766;--focus:#defb88;
}

@media(max-width:374px){.phone-shell>.visual-caption{right:0}}

.theme-picker{display:flex;flex-direction:column;gap:4px;flex-shrink:0;min-width:0;color:var(--muted);}
.theme-picker select{font:inherit;color:var(--ink);background:var(--theme-surface);border:1px solid var(--line);border-radius:10px;min-height:42px;width:210px;max-width:100%;padding:8px 12px;cursor:pointer;color-scheme:inherit}
.theme-picker select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:760px){.theme-picker{flex-direction:row;align-items:center;gap:12px}.theme-picker>span{flex-shrink:0}.theme-picker select{flex:1;min-width:0;width:auto}}

.dialog-close .icon{width:18px;height:18px}

@media(max-width:374px){.hero-bottom{column-gap:12px}.hero-bottom>div{padding-left:12px}}
/* Декор не перекрывает сообщение об ошибке и его ссылку. */
.hero-visual:has(.video-error:not([hidden])) .video-sticker{display:none}

/* Единая шкала из DESIGN.md: размеры зависят только от ширины окна. */
.brand-description{font-size:0.6875rem;line-height:1.125rem;font-weight:500}
.header-location{font-size:0.6875rem;line-height:1rem;font-weight:500}
.theme-picker{font-size:0.625rem;line-height:0.875rem;font-weight:500}
.theme-picker select{font-size:0.875rem;line-height:normal;font-weight:500}
.header-action{font-size:0.875rem;line-height:1.25rem;font-weight:600}
.hero-copy>.eyebrow{font-size:0.8125rem;line-height:1.125rem;font-weight:650}
h1{font-size:28px;line-height:34px;font-weight:650}
.hero-description{font-size:0.9375rem;line-height:1.5rem;font-weight:400}
.occasion-list li{font-size:0.6875rem;line-height:1rem;font-weight:500}
.button-primary,.button-video{font-size:0.875rem;line-height:1.25rem;font-weight:600}
.price-note strong{font-size:0.875rem;line-height:1.25rem;font-weight:600}
.price-note{font-size:0.75rem;line-height:1.125rem;font-weight:400}
.phone-shell>.visual-caption{font-size:0.625rem;line-height:0.9375rem;font-weight:400}
.video-brand{font-size:1.375rem;line-height:1.375rem;font-weight:800}
.video-topline{font-size:0.5625rem;line-height:0.75rem;font-weight:650}
.sound-control{font-size:0.6875rem;line-height:0.875rem;font-weight:600}
.video-sticker{font-size:0.625rem;line-height:0.875rem;font-weight:500}
.video-sticker strong{font-size:1rem;line-height:1.125rem;font-weight:650}
.video-caption{font-size:0.75rem;line-height:1rem;font-weight:400}
.video-error{font-size:0.8125rem;line-height:1.1875rem;font-weight:500}
.hero-bottom>p{font-size:0.8125rem;line-height:1.1875rem;font-weight:400}
.fact-value{font-size:1.5rem;line-height:1.5625rem;font-weight:650}
.fact-value small{font-size:0.875rem;line-height:1.125rem;font-weight:600}
.fact-caption{font-size:0.6875rem;line-height:1rem;font-weight:400}
.hero-bottom>.location-fact{font-size:0.75rem;line-height:1.125rem;font-weight:400}
.formats-dialog>.eyebrow{font-size:0.625rem;line-height:0.9375rem;font-weight:650}
.formats-dialog h2{font-size:1.875rem;line-height:2.125rem;font-weight:650}
.dialog-intro{font-size:0.8125rem;line-height:1.1875rem;font-weight:400}
.format-option h3{font-size:1.0625rem;line-height:1.375rem;font-weight:650}
.format-option p{font-size:0.875rem;line-height:1.25rem;font-weight:400}
.format-option>strong{font-size:0.9375rem;line-height:1.25rem;font-weight:650}
.dialog-note{font-size:0.8125rem;line-height:1.1875rem;font-weight:400}
.skip-link,video{font-size:0.9375rem;line-height:1.5rem;font-weight:400}
@media(min-width:761px){
  .header-location{font-size:0.75rem;line-height:1.0625rem}
  h1{font-size:2.6rem;line-height:2.9rem}
  .video-brand{font-size:1.5rem;line-height:1.5rem}
  .fact-value{font-size:1.625rem;line-height:1.6875rem}
  .fact-caption{font-size:0.75rem;line-height:1.0625rem}
  .formats-dialog h2{font-size:2.25rem;line-height:2.5rem}
}
@media(min-width:1200px){
  h1{font-size:2.6rem;line-height:2.9rem}
  .video-topline{font-size:0.625rem;line-height:0.8125rem}
}
h1{letter-spacing:-.03em}.formats-dialog h2{letter-spacing:-.02em}
.hero-description,.occasion-list li,.video-caption,.format-option p{letter-spacing:normal}
.hero-copy>.eyebrow,.formats-dialog>.eyebrow{letter-spacing:.04em}
.visual-caption strong,.hero-bottom>p strong{font-weight:600}

/* Первый блок: выбор программы, связь и просмотр конкретного формата. */
.title-highlight{white-space:nowrap}
.button-contact{font-size:.875rem;line-height:1.25rem;font-weight:600;text-decoration:none;gap:5px;flex-direction:column;align-items:flex-start;padding:8px 0;min-height:44px}
.button-contact>span{font-size:.75rem;font-weight:400;color:var(--muted)}
.venue-note{font-size:.8125rem;line-height:1.25rem;color:var(--muted);margin:20px 0 0;max-width:480px}
@media(max-width:760px){.hero-actions>.button-primary{width:100%}.button-contact{flex-direction:row;align-items:center;gap:8px}.hero-description strong{font-weight:600}}

/* Выезд и состав программы видны до выбора формата. */
.included-block{margin:0 0 20px}
.included-list{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;margin:0;padding:12px 16px;background:var(--theme-surface);border-left:3px solid var(--green);border-radius:0 8px 8px 0;color:var(--ink);font-size:.9375rem;line-height:1.375rem;font-weight:600}
.included-list li+li:before{content:"·";margin-right:16px;color:var(--green)}
.included-block>p{margin:10px 0 0;font-size:.875rem;line-height:1.375rem;color:var(--muted)}
@media(max-width:374px){.included-list{gap:8px 10px;padding-inline:10px;font-size:.875rem}.included-list li+li:before{display:none}}

/* Двойной удар точки и две волны в одном ритме. */
.arrival-cue{width:fit-content}
.arrival-cue>.status-dot{position:relative;width:9px;height:9px;border-radius:50%;animation:arrival-heartbeat 1.4s ease-in-out infinite;box-shadow:none}
:root[data-theme] .arrival-cue>.status-dot{background:var(--green)}
.arrival-cue>.status-dot::before,.arrival-cue>.status-dot::after{content:"";position:absolute;inset:0;border:1px solid var(--green);border-radius:50%;pointer-events:none;opacity:0;animation:arrival-wave 1.4s ease-out infinite}
.arrival-cue>.status-dot::after{animation-delay:.28s}
@keyframes arrival-heartbeat{0%,20%,42%,100%{transform:scale(1)}8%{transform:scale(1.2)}28%{transform:scale(1.14)}}
@keyframes arrival-wave{0%{transform:scale(1);opacity:.5}55%,100%{transform:scale(2.7);opacity:0}}
@media(prefers-reduced-motion:reduce){.arrival-cue>.status-dot{animation:none}.arrival-cue>.status-dot::before,.arrival-cue>.status-dot::after{animation:none;display:none}}

/* Общий дизайн-код всех пяти оформлений; декоративные слои не меняют эту сетку. */
.hero-copy{padding-bottom:24px}
.hero-copy>.hero-description{color:var(--muted)}
.hero-copy>.composition-frame{margin:0 0 24px;min-width:0}
.hero-copy .composition-frame>:is(.composition,.paper-included){margin:0}
.occasion-list{gap:9px 16px;margin-bottom:24px}
:root[data-theme] .hero-copy .occasion-list li{padding:0;border:0;border-radius:0;background:none;color:var(--green);font-size:.75rem;line-height:1.7}
.hero-actions{gap:13px;flex-wrap:wrap}
.hero-actions>.button-primary{min-height:59px;justify-content:center;padding:12px 18px;gap:18px;border-radius:11px}
.hero-actions>.button-primary>.icon{width:25px;height:25px}
.hero-actions>.button-contact{display:flex;flex-direction:row;gap:10px;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--line);border-radius:11px;min-height:59px;color:var(--ink);background:color-mix(in srgb,var(--paper) 66%,transparent)}
.button-contact>.icon{width:28px;height:28px}
.button-contact>.contact-copy{font-size:.875rem;color:var(--ink);font-weight:600;line-height:1.25rem}
.contact-copy small{display:block;font-size:.6875rem;line-height:1rem;color:var(--muted);font-weight:400;margin-top:3px}
.price-note{gap:2px;margin-top:17px}
.venue-note{font-size:.75rem;line-height:1.125rem;margin-top:10px}
.hero-bottom{grid-template-columns:1.08fr 1fr .9fr 1.18fr;gap:20px;margin:0 0 24px;padding:25px 24px 28px;border:0;box-shadow:inset 0 1px var(--line)}
.hero-bottom>.hero-fact{display:flex;flex-direction:row;align-items:center;gap:13px;padding-left:20px;min-width:0}
.hero-bottom>.hero-fact:first-child{padding-left:0}
.hero-bottom>.hero-fact:first-child:before{display:none}
.hero-fact>.icon{width:32px;height:32px;color:var(--green);stroke-width:1.25}
.hero-fact p{margin:0;display:flex;flex-direction:column;gap:3px}
.hero-fact strong{font-size:1.625rem;line-height:1.6875rem;letter-spacing:-.035em;font-weight:650}
.hero-fact strong small{font-size:.875rem;line-height:1.125rem;font-weight:600;letter-spacing:0}
.hero-fact span{font-size:.75rem;line-height:1.125rem;color:var(--muted)}
.hero-fact .fact-tagline{color:var(--ink);font-size:.875rem;font-weight:500;line-height:1.25rem}
@media(max-width:1199px) and (min-width:761px){
  .hero-bottom{gap:13px}.hero-bottom>.hero-fact{gap:8px;padding-left:12px}.hero-fact>.icon{width:27px;height:27px}
}
@media(max-width:760px){
  .hero-copy{padding-bottom:0}
  .occasion-list{gap:5px 13px;margin-bottom:22px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:11px}
  .hero-actions>.button-primary,.hero-actions>.button-contact{min-height:57px}
  .hero-bottom{grid-template-columns:1fr 1fr;gap:24px 14px;padding:22px 14px 25px}
  .hero-bottom>.hero-fact{gap:10px;padding-left:0}
  .hero-bottom>.hero-fact:before{display:none}
  .hero-fact>.icon{width:29px;height:29px}
  .hero-fact strong{font-size:1.5rem;line-height:1.5625rem}
  .hero-fact span{font-size:.6875rem;line-height:1rem}
}
@media(max-width:540px){.hero-bottom>.hero-fact{align-items:flex-start;flex-direction:column;gap:9px}}

/* Единственное оформление: дневная Lime и тёмная Коралл. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;padding:13px;border:0;border-radius:50%;background:transparent;color:var(--muted)}
.theme-toggle .icon{width:18px;height:18px;stroke-width:1.6}
.theme-toggle:hover{color:var(--green);background:var(--theme-surface)}
.theme-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.theme-toggle .theme-sun{display:none}
:root[data-theme="dark"] .theme-toggle .theme-moon{display:none}
:root[data-theme="dark"] .theme-toggle .theme-sun{display:block}

/* Переход по якорям — плавная прокрутка, а не прыжок; при уменьшенном движении общее правило ниже возвращает мгновенную.
   Отступ приземления равен высоте закреплённой шапки (64px) плюс воздух. */
html{scroll-padding-top:76px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* Три основных раздела и два способа связи: одна строка без движения при прокрутке. */
.site-header-band{background:#171719}
.site-header{min-height:64px;flex-wrap:nowrap;gap:32px}
.header-nav{display:flex;align-items:center;gap:24px;margin-inline:auto}
.header-nav a{font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;padding:12px 0;transition:color .18s}
.header-nav a:is(:hover,:focus-visible){color:var(--green)}
.header-contacts{display:flex;align-items:center;gap:20px;margin-left:auto;flex-shrink:0}
.header-contact{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:var(--ink);text-decoration:none;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:600;transition:color .18s,background-color .18s}
.header-contact .icon{width:20px;height:20px;color:var(--green)}
.header-contact-call:is(:hover,:focus-visible){color:var(--green)}
.header-contact-max{padding:12px 16px;border-radius:10px;background:var(--green);color:#171719}
.header-contact-max .icon{color:currentColor}
.header-contact-max:is(:hover,:focus-visible){background:#ffad9e;color:#171719}
.header-burger{display:none;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:10px;background:transparent;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink);transition:color .18s,background-color .18s}
.header-burger:is(:hover,:focus-visible){color:var(--green);background:var(--theme-surface)}
.header-burger-lines{position:relative;display:block;width:20px;height:2px;border-radius:2px;background:currentColor}
.header-burger-lines:before,.header-burger-lines:after{content:"";position:absolute;left:0;width:20px;height:2px;border-radius:2px;background:currentColor}
.header-burger-lines:before{top:-6px}
.header-burger-lines:after{top:6px}
.site-header :is(a,button):focus-visible,.mobile-menu a:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:1399px){.site-header .brand-description{display:none}.site-header{gap:24px}}
@media(max-width:1100px){
  .header-nav{display:none}
  .header-burger{display:inline-flex}
  .site-header{gap:14px}
}
@media(max-width:760px){
  .site-header{display:flex;gap:8px;width:calc(100% - 24px)}
  .site-header .brand{min-height:44px}
  .site-header .brand-mark{width:40px}
  .header-contacts{display:flex;gap:8px}
  .header-contact{font-size:clamp(.875rem,4vw,1rem);line-height:1.25}
  .header-contact-call{gap:5px}
  .header-max-prefix{display:none}
  .header-contact-max{padding:8px 2px;gap:6px;background:transparent;color:var(--ink);border-radius:6px}
  .header-contact-max:is(:hover,:focus-visible){background:transparent;color:var(--green)}
  .site-header .header-contact-max>.icon{color:var(--green)}
  .site-header .header-contact-max>span[aria-hidden]{display:inline;color:var(--green);font-size:14px}
  .header-contact .icon{width:18px;height:18px}
}
@media(max-width:374px){
  .site-header{gap:4px;width:calc(100% - 16px)}
  .site-header .brand-mark{width:32px}
  .header-contacts{gap:4px}
  .header-contact-call{gap:4px}
  .header-contact-max{padding-inline:0;gap:4px}
  .header-contact .icon{width:16px;height:16px}
}
html{scroll-padding-top:80px}
.mobile-menu{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:8px 22px 24px;width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 24px);overflow:auto;margin:16px auto auto;box-shadow:0 25px 100px #00000066}
.mobile-menu::backdrop{background:#0e0e1080;backdrop-filter:blur(3px)}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 10px}
.mobile-menu-title{margin:0;font-size:0.6875rem;line-height:1rem;font-weight:650;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.mobile-menu-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}
.mobile-menu-close:is(:hover,:focus-visible){background:var(--theme-surface)}
.mobile-menu-nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.mobile-menu-nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px;font-size:1.0625rem;line-height:1.375rem;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.mobile-menu-nav a:is(:hover,:focus-visible){color:var(--green)}
.mobile-menu-arrow{color:var(--green)}
.mobile-menu-contacts{display:flex;flex-direction:column;padding:10px 0 4px}
.mobile-menu-contacts a{display:flex;align-items:center;gap:11px;padding:11px 2px;font-size:0.9375rem;line-height:1.25rem;font-weight:600;color:var(--ink);text-decoration:none}
.mobile-menu-contacts a:is(:hover,:focus-visible){color:var(--green)}
.mobile-menu-contacts .icon{width:19px;height:19px;color:var(--green)}
.mobile-menu-action{width:100%;margin-top:12px}

.mobile-menu-secondary{display:flex;flex-wrap:wrap;gap:4px 24px;padding:12px 2px;border-bottom:1px solid var(--line)}
.mobile-menu-secondary a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none;font-size:.875rem}
.mobile-menu-secondary a:hover{color:var(--green)}

/* Действующие варианты compact; архивные стили сохранены в paper.css. */
@font-face{font-family:Caveat;src:url("/cache/14aa967eabf29fdfdb34e1295bfaea4fae349118f25622f69b901859204a1f95/assets/fonts/caveat-cyrillic-current.woff2") format("woff2");font-style:normal;font-weight:400 500;font-display:swap;unicode-range:U+0-40,U+5B-60,U+7B-BF,U+400-45F,U+490-491,U+2000-206F,U+20BD,U+2116,U+2190-2199,U+FEFF,U+FFFD}
@font-face{font-family:Caveat;src:url("/cache/0306fdf9a38255483fcad0fdd5f2c1f3f54d1587ff3c19b5a28c24fb23a2bf3f/assets/fonts/caveat-latin-current.woff2") format("woff2");font-style:normal;font-weight:400 500;font-display:swap;unicode-range:U+41-5A,U+61-7A,U+C0-FF}
.paper-page{--fact-paper:color-mix(in srgb,var(--paper) 83%,#ac8e53);overflow-x:clip;position:relative;isolation:isolate;--paper-grain:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22180%22%20height%3D%22180%22%3E%3Cfilter%20id%3D%22grain%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%22.82%22%20numOctaves%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Cpath%20fill%3D%22%23808080%22%20filter%3D%22url%28%23grain%29%22%20d%3D%22M0%200h180v180H0z%22%2F%3E%3C%2Fsvg%3E")}
/* Ширина, шапка и шкала заголовка наследуются от основной страницы. */
.page-variants{min-height:65px;display:flex;gap:8px;align-items:center;font-size:13px;flex-wrap:wrap;padding-block:14px;color:var(--muted)}
.page-variants>span{margin-right:10px}
.page-variants a{padding:9px 13px;text-decoration:none;border-radius:20px;background:var(--theme-surface)}
.page-variants a[aria-current]{background:var(--ink);color:var(--paper);font-weight:500}
.paper-page main{position:relative;isolation:isolate;overflow:clip}
.paper-page:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--paper-grain) repeat;opacity:.075;pointer-events:none}
.paper-page .variant-bar{background:transparent}
.party-prop{position:absolute;display:block;height:auto;pointer-events:none;object-fit:contain;z-index:0}
.party-disco{top:-135px;right:clamp(-150px,calc((100vw - 1650px)/2),120px);width:clamp(240px,20vw,350px);transform:rotate(-8deg)}
.party-microphone{top:250px;right:clamp(-120px,calc((100vw - 1800px)/2),150px);width:clamp(155px,12vw,230px);transform:rotate(8deg)}
.party-bingo{top:335px;left:155px;width:410px}
/* Состав без общей плашки: три самостоятельных пункта. */
.paper-included{margin:24px 0;color:var(--muted)}
.paper-included ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;margin:0;padding:0}
.paper-included li{min-width:0;display:grid;grid-template-columns:1fr;align-content:start;justify-items:center;text-align:center;gap:5px}
.paper-service-outline{display:none}
.paper-included .paper-service-art{display:block;width:min(100%,96px);height:auto;aspect-ratio:1;object-fit:contain;margin-bottom:4px}
.paper-service-visual{display:contents}
.portrait-host{--portrait-decor:url("/cache/32a620a35637dbfc083e0e70cbc16485d27ee0a8e53f86ed469853117a77efb0/assets/paper/people-host-decor.png")}
.portrait-dj{--portrait-decor:url("/cache/eb5402e1eed63a3727c6c778fc8b5ed3b4326dc2883ed6b94ac80ada1147add1/assets/paper/people-dj-decor.png")}
.portrait-equipment{--portrait-decor:url("/cache/1b259e01b86a71a7dbc0494719a5b74dfce90e5dae2f5956802c51888b19a612/assets/paper/people-equipment-decor.png")}
.people-motion-layer{display:none;position:absolute;inset:0;z-index:1;pointer-events:none;background-repeat:no-repeat;background-position:0% 0;filter:brightness(1.04) saturate(1.12) contrast(1.04)}
.people-motion-toggle{position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:0;border:0;border-radius:50%;background:transparent;color:var(--green);cursor:pointer}
.people-motion-toggle[hidden]{display:none}
.people-motion-toggle:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.people-motion-toggle>.icon{position:absolute;right:0;bottom:3%;width:22px;height:22px;padding:4px;border-radius:50%;background:var(--paper);opacity:.8}
.paper-service-visual[data-motion-ready] .people-motion-layer{display:block}
.paper-service-visual[data-motion-ready] .paper-service-art{visibility:hidden}
@media(prefers-reduced-motion:reduce){
  .paper-service-visual[data-motion-ready] .people-motion-layer{display:none}
  .paper-service-visual[data-motion-ready] .paper-service-art{visibility:visible}
}
.paper-included strong{font-size:14px;line-height:1.4;font-weight:550;color:var(--ink)}
.paper-included span{font-size:11px;line-height:1.5;max-width:160px}
.paper-page .hero-visual{min-height:630px;padding:18px 0 0 170px;justify-content:flex-start;margin:0;isolation:auto}
.paper-page .hero-visual:before{content:"";position:absolute;inset:0 -80px 0 -25px;z-index:-1;background:radial-gradient(ellipse 49% 46% at 50% 48%,color-mix(in srgb,var(--lime) 28%,transparent),transparent 100%);pointer-events:none}
.paper-page .phone-shell{width:226px;flex-shrink:0;aspect-ratio:9/18.4;border-radius:41px;padding:7px;transform:rotate(9deg);z-index:2;box-shadow:2px 3px 0 1px #9da38f,8px 16px 22px -12px #111a0e65}
.paper-page .phone-screen{border-radius:33px}
.paper-page .video-topline{left:10px;right:10px;top:40px;gap:6px}
.paper-page .video-brand{font-size:22px}
.paper-page .video-topline>span:last-child{font-size:8px;letter-spacing:.02em}
.paper-page .video-controls{left:4px;right:4px;gap:3px}
.paper-page .video-control{width:30px;height:38px}
.paper-page .sound-control{width:auto;min-width:116px;padding:0 7px;font-size:9px}
.paper-page .video-sticker{top:15px;bottom:auto;left:0;right:auto;z-index:3;padding:12px 15px;gap:9px;transform:rotate(-12deg);border-radius:9px;font-size:11px;line-height:1.4}
.paper-page .video-sticker strong{font-size:16px;line-height:1.3}
.paper-page .sticker-icon{width:28px;height:32px;stroke:var(--accent-text,#18200e)}
.paper-video-note,.paper-place-note,.paper-party-note{position:absolute;z-index:1;margin:0;font:500 25px/1.03 "Caveat",cursive;transform:rotate(-9deg);color:var(--green);pointer-events:none}
.paper-video-note{left:-5px;top:220px;width:155px;font-size:22px;text-align:center}
.paper-video-note>span{display:block}
.paper-video-note>.icon{display:none;stroke-width:1.3}
.paper-video-note>.note-arrow-wide{display:block;width:68px;height:52px;margin:8px 0 0 auto}
.paper-place-note{right:-85px;top:58px;width:165px;color:var(--ink)}
.paper-place-note>.icon{display:block;width:29px;height:29px;margin:10px 7px 0 auto;transform:rotate(12deg)}
.paper-party-note{right:-85px;top:253px;width:164px;text-align:center}
.paper-party-note:after{content:"";display:block;border-bottom:3px double currentColor;width:90px;margin:8px auto 0;transform:rotate(-3deg)}
@media(min-width:1200px) and (max-width:1600px){.party-microphone{right:-48px;top:360px;width:185px}}
@media(max-width:1199px) and (min-width:761px){
  .paper-page .hero-visual{min-height:860px;padding:40px 0 0 65px;}
  .party-disco{right:-100px;width:240px}.party-microphone{display:none}
  .paper-page .party-bingo{top:405px;left:25px;width:310px}
  .paper-page .phone-shell{width:218px}
  .paper-page .video-sticker{left:0;top:2px;padding:10px;font-size:10px}.paper-page .video-sticker strong{font-size:14px}
  .paper-video-note{left:0;top:645px;width:230px;font-size:23px;text-align:left;transform:none}.paper-video-note>.note-arrow-wide{display:none}.paper-video-note>.note-arrow-medium{display:block;position:absolute;left:-12px;bottom:calc(100% + 20px);width:85px;height:136px}
  .paper-place-note{left:0;right:auto;top:735px;width:145px;font-size:23px}.paper-place-note>.icon{position:static;width:22px;margin:6px 4px 0 auto}
  .paper-party-note{left:auto;right:0;top:748px;width:155px;font-size:23px}
  .paper-included ul{gap:14px}.paper-included strong{font-size:12px}
}
@media(max-width:760px){
  .page-variants{font-size:11px;gap:5px;min-height:90px;padding-block:12px}.page-variants>span{width:100%}.page-variants a{padding:8px 10px}
  .paper-page main>.party-prop{display:none}
  .paper-page .hero-visual{min-height:845px;justify-content:center;padding:104px 0 0;margin-top:35px;isolation:isolate}
  .paper-page .party-bingo{width:min(340px,calc(100vw - 24px));top:445px;left:50%;transform:translateX(-50%)}
  .paper-page .phone-shell{width:246px;transform:rotate(6deg)}
  .paper-page .video-sticker{top:80px;left:0;padding:10px 12px;font-size:11px}.paper-page .video-sticker strong{font-size:15px}
  .paper-video-note{top:0;left:50%;right:auto;width:220px;max-width:calc(100% - 20px);font-size:24px;text-align:center;transform:translateX(-50%) rotate(-6deg)}
  .paper-video-note>.note-arrow-wide{display:none}.paper-video-note>.note-arrow-small{display:block;width:64px;height:48px;margin:6px 0 0 calc(50% + 6px)}
  .paper-place-note{left:0;top:713px;width:46%;font-size:24px;transform:rotate(-6deg)}.paper-place-note>.icon{position:static;width:23px;height:23px;margin:6px 4px 0 auto}
  .paper-party-note{right:0;top:726px;width:47%;font-size:24px;transform:rotate(-7deg)}
}
@media(max-width:374px){.paper-page .phone-shell{width:232px}.paper-place-note,.paper-party-note{font-size:22px}}
@media(max-width:540px){
  .paper-included{margin:22px 0}
  .paper-included ul{grid-template-columns:1fr;gap:15px}
  .paper-included li{grid-template-columns:64px 1fr;align-items:center;column-gap:12px;row-gap:2px;justify-items:start;text-align:left}
  .paper-included .paper-service-art{grid-row:1/3;align-self:center;margin:0;width:64px;height:auto}
  .paper-included strong{align-self:end}
  .paper-included span{align-self:start}
  .paper-included strong{font-size:13px}
  .paper-included span{grid-column:2;max-width:none;font-size:11px}
}
/* Восьмое оформление: Мобильный фокус (compact) */
.occasion-chip{display:none}
body[data-paper-variant=compact] .occasion-hashtag{display:none}
body[data-paper-variant=compact] .occasion-chip{display:inline-block;position:relative;isolation:isolate;padding:3px 5px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--ink);font-size:12px;font-weight:550;line-height:1.5;white-space:nowrap}
body[data-paper-variant=compact] .occasion-chip::before{content:"";position:absolute;z-index:-1;inset:22% 0 9%;background:color-mix(in srgb,var(--lime) 32%,transparent);clip-path:polygon(2% 7%,24% 3%,47% 8%,72% 0,98% 6%,100% 29%,98% 58%,100% 91%,78% 96%,52% 91%,27% 100%,0 92%,2% 68%,0 39%);transform:rotate(-1deg)}
body[data-paper-variant=compact] .occasion-list li:nth-child(even) .occasion-chip::before{transform:rotate(1deg)}
body[data-paper-variant=compact] .occasion-chip .chip-icon{display:none}
body[data-paper-variant=compact] .arrival-cue{--pulse-base:247,130,111;--pulse-peak:255,82,56;--pulse-second:255,107,85}
:root[data-theme=dark] body[data-paper-variant=compact] .arrival-cue{--pulse-base:212,244,107;--pulse-peak:225,255,139;--pulse-second:199,239,85}
body[data-paper-variant=compact] .arrival-cue>.status-dot{position:relative;width:9px;height:9px;border-radius:50%;background:rgb(var(--pulse-base));box-shadow:0 0 0 2px rgba(var(--pulse-base),.25);animation:compact-coral-heartbeat 1.6s cubic-bezier(.25,.1,.25,1) infinite}
body[data-paper-variant=compact] .arrival-cue>.status-dot::before,
body[data-paper-variant=compact] .arrival-cue>.status-dot::after{content:"";position:absolute;inset:0;border:1px solid rgb(var(--pulse-peak));border-radius:50%;pointer-events:none;opacity:0;animation:compact-coral-wave 1.6s ease-out infinite}
body[data-paper-variant=compact] .arrival-cue>.status-dot::after{animation-delay:.32s}
body[data-paper-variant=compact] .arrival-cue .status-glow{position:absolute;inset:0;border-radius:inherit;background:rgb(var(--pulse-peak));box-shadow:0 0 0 3px rgba(var(--pulse-peak),.4),0 0 12px rgba(var(--pulse-peak),.7);pointer-events:none;opacity:0;animation:compact-coral-glow 1.6s cubic-bezier(.25,.1,.25,1) infinite}
@keyframes compact-coral-glow{0%,50%,100%{opacity:0}12%{opacity:1}24%{opacity:.2}36%{opacity:.65}}
@keyframes compact-coral-heartbeat{0%,50%,100%{transform:scale(1)}12%{transform:scale(1.35)}24%{transform:scale(1.08)}36%{transform:scale(1.22)}}
@keyframes compact-coral-wave{0%{transform:scale(1);opacity:.8}50%{opacity:.3}100%{transform:scale(3);opacity:0}}
@media(prefers-reduced-motion:reduce){body[data-paper-variant=compact] .arrival-cue>.status-dot{animation:none;background:rgb(var(--pulse-base))}body[data-paper-variant=compact] .arrival-cue>.status-dot::before,body[data-paper-variant=compact] .arrival-cue>.status-dot::after,body[data-paper-variant=compact] .arrival-cue .status-glow{display:none}}
body[data-paper-variant=compact] .occasion-list{display:flex;gap:8px;flex-wrap:nowrap;justify-content:space-between;list-style:none;padding:0;margin:0 0 20px}
body[data-paper-variant=compact] .occasion-list li{padding:0;border:0;background:transparent}
/* Состав на десктопе в 8-м оформлении */
body[data-paper-variant=compact] .paper-service-visual{display:block;position:relative;width:80px;height:80px;margin-bottom:4px;isolation:isolate}
body[data-paper-variant=compact] .paper-service-visual:before{content:"";position:absolute;width:85%;aspect-ratio:1;left:7.5%;bottom:2%;border-radius:50%;background:color-mix(in srgb,var(--lime) 17%,var(--paper))}
body[data-paper-variant=compact] .paper-service-visual:after{content:"";position:absolute;inset:0;background:var(--green);opacity:.65;mask:var(--portrait-decor) center/contain no-repeat}
body[data-paper-variant=compact] .paper-service-art{position:relative;z-index:1;width:100%;height:100%;margin:0;filter:brightness(1.04) saturate(1.12) contrast(1.04)}
body[data-paper-variant=compact] .paper-included ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
body[data-paper-variant=compact] .paper-included li{min-width:0;display:grid;grid-template-columns:1fr;align-content:start;justify-items:center;text-align:center;gap:4px;order:0}
body[data-paper-variant=compact] .paper-included strong{font-size:13px;line-height:1.35;font-weight:600;color:var(--ink)}
body[data-paper-variant=compact] .paper-included span{font-size:11px;line-height:1.4;max-width:160px;color:var(--muted)}
body[data-paper-variant=compact] .people-motion-toggle>.icon{width:18px;height:18px;padding:3px;right:0;bottom:2%}
@media(max-width:760px){
  body[data-paper-variant=compact] .hero{padding-top:20px}
  body[data-paper-variant=compact] .hero-copy{min-width:0}
  body[data-paper-variant=compact] .arrival-cue{align-items:flex-start}
  body[data-paper-variant=compact] .arrival-cue>.status-dot{margin-top:4px;flex-shrink:0}
  body[data-paper-variant=compact] h1{margin-bottom:14px;font-size:28px;line-height:1.2}
  body[data-paper-variant=compact] .hero-description{margin-bottom:14px;font-size:14px;line-height:1.5}
  body[data-paper-variant=compact] .occasion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-bottom:14px;max-width:100%;overflow:visible}
  body[data-paper-variant=compact] .occasion-list li{min-width:0;text-align:center}
  body[data-paper-variant=compact] .occasion-chip{font-size:12px;padding:3px 4px}
  /* Карточка команды на мобильном: компактные аватары 46px с анимацией */
  body[data-paper-variant=compact] .paper-included{margin:12px 0 14px}
  body[data-paper-variant=compact] .paper-included ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:9px 6px;background:color-mix(in srgb,var(--paper) 90%,var(--lime) 10%);border:1px dashed color-mix(in srgb,var(--line) 75%,var(--green) 25%);border-radius:12px}
  :root:is([data-theme=dark],[data-theme=dark-lime]) body[data-paper-variant=compact] .paper-included ul{background:color-mix(in srgb,var(--theme-surface) 92%,var(--paper));border-color:color-mix(in srgb,var(--line) 80%,var(--green) 20%)}
  body[data-paper-variant=compact] .paper-included li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0;order:0}
  body[data-paper-variant=compact] .paper-service-visual{width:46px;height:46px;border-radius:50%;margin-bottom:2px;flex-shrink:0}
  body[data-paper-variant=compact] .paper-included strong{align-self:center;font-size:11.5px;line-height:1.25;white-space:nowrap}
  body[data-paper-variant=compact] .paper-included span{align-self:center;grid-column:auto;font-size:9.5px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%}
  body[data-paper-variant=compact] .people-motion-toggle>.icon{width:14px;height:14px;padding:2px;right:-2px;bottom:0}
  body[data-paper-variant=compact] .hero-actions{gap:10px;margin-bottom:10px}
  body[data-paper-variant=compact] .hero-actions .button{min-height:48px}
  body[data-paper-variant=compact] .price-note{margin-top:10px;font-size:12px;line-height:1.4}
  body[data-paper-variant=compact] .price-note strong{font-size:13px}
  body[data-paper-variant=compact] .venue-note{font-size:11px;line-height:1.4;margin-top:6px;color:var(--muted)}
  body[data-paper-variant=compact] .hero-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;justify-items:center;gap:18px 10px;min-height:0;padding:0;margin-top:26px}
  body[data-paper-variant=compact] .paper-video-note{position:static;grid-column:1;grid-row:1;width:auto;max-width:100%;font-size:20px;line-height:1.05;transform:rotate(-3deg)}
  body[data-paper-variant=compact] .paper-video-note>.icon{display:none}
  body[data-paper-variant=compact] .video-sticker{position:static;grid-column:2;grid-row:1;max-width:100%;padding:8px 9px;gap:5px;font-size:9px;transform:rotate(4deg)}
  body[data-paper-variant=compact] .video-sticker strong{font-size:12px}
  body[data-paper-variant=compact] .video-sticker .sticker-icon{width:22px;height:22px;flex-shrink:0}
  body[data-paper-variant=compact] .phone-shell{grid-column:1/-1;grid-row:2;width:clamp(205px,56vw,224px);margin:8px 0 10px;transform:rotate(2deg)}
  body[data-paper-variant=compact] .paper-place-note,body[data-paper-variant=compact] .paper-party-note{display:none}
  body[data-paper-variant=compact] .paper-place-note{grid-column:1}
  body[data-paper-variant=compact] .paper-party-note{grid-column:2}
  body[data-paper-variant=compact] .paper-place-note>.icon{width:19px;height:19px;margin:5px auto 0}
  body[data-paper-variant=compact] .party-bingo{position:static;grid-column:1/-1;grid-row:2;align-self:end;z-index:0;width:min(340px,100%);height:auto;transform:none;margin:0 0 24px}
}
@media(max-width:374px){
  body[data-paper-variant=compact] .paper-included ul{padding:7px 4px;gap:4px}
  body[data-paper-variant=compact] .paper-service-visual{width:38px;height:38px}
  body[data-paper-variant=compact] .paper-included strong{font-size:10.5px}
  body[data-paper-variant=compact] .paper-included span{font-size:8.5px}
}
@media(max-width:760px){
  body[data-paper-variant=compact] .hero-copy>#party-video{margin:22px 0 26px}
  body[data-paper-variant=compact] .hero-copy>.hero-bottom{margin:18px 0 20px}
  body[data-paper-variant=compact] .hero-copy>.price-note{margin:0 0 14px}
  body[data-paper-variant=compact] .hero-copy>.hero-actions{margin-bottom:0}
}

.design-switch{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px;row-gap:2px;min-height:34px;padding:3px 12px;font-size:11px;line-height:16px;font-family:var(--font,"Golos Text",sans-serif);background:var(--paper,#f8f9f3);color:var(--ink,#24291f);border-bottom:1px solid var(--line,#dde1d4)}
.design-switch a{padding:4px 12px;border-radius:20px;text-decoration:none;color:var(--muted,#686e62)}
.design-switch a[aria-current=page]{background:var(--theme-surface,#eefbd0);color:var(--ink,#24291f)}
.design-switch a:hover{color:var(--green,#50642c)}
.design-switch-sep{flex:0 0 1px;width:1px;height:16px;background:var(--line,#dde1d4)}
@media(pointer:coarse){.design-switch{min-height:44px}.design-switch a{padding-block:11px}}

/* Общие правила главной; отдельный архивный вариант — night.css. */
@font-face{font-family:"Russo One";src:url("/cache/b625bfa54d674ee0287b744dc948575f770f571187aedf98dc0fa3d83867c969/assets/fonts/russo-one.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
.night-copy{position:relative;z-index:2;padding-top:18px;container-type:inline-size}
.night-eyebrow{display:flex;align-items:center;gap:16px;font-size:11px;line-height:16px;letter-spacing:2px;text-transform:uppercase;color:#b9b8b7;margin:0 0 24px}
.night-eyebrow::before{content:"";width:28px;height:2px;background:var(--lime);flex-shrink:0}
.night-copy h1{font-size:60px;line-height:1.02;letter-spacing:-2.1px;font-weight:750;margin:0 0 24px;max-width:none}
.night-copy h1 span{display:block;text-wrap:balance}
.night-copy h1 .night-title-brand{color:var(--green);font-family:"Russo One",sans-serif;font-weight:400;letter-spacing:0}
.night-copy h1 .night-title-offer{font-size:.85em;line-height:1.12;color:inherit;margin-block:5px}
.night-copy h1 .night-title-audience{font-size:.85em}
.night-description{font-size:18px;line-height:25px;color:var(--muted);max-width:490px;margin:0 0 20px}
.night-included{font-size:17px;line-height:24px;font-weight:650;margin:0 0 10px}
.night-price{font-size:17px;line-height:25px;color:var(--muted);margin:0 0 26px}
.night-motto{display:flex;align-items:center;gap:22px;margin:24px 0;color:var(--green);font-size:12px;font-weight:650;letter-spacing:3px;text-transform:uppercase}
.night-motto::before{content:"";width:46px;height:3px;background:currentColor}
.night-terms{font-size:11px;line-height:16px;color:#b8b1ac;margin:16px 0 0}
.night-video-heading{position:absolute;top:40px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.night-video-heading img{width:62px;height:auto}
.night-video-heading span{font:500 22px/.95 Caveat,cursive;color:#fff;transform:rotate(-5deg);padding-top:10px}
@media(max-width:1100px){.night-copy h1{font-size:clamp(38px,4.8vw,54px);letter-spacing:-1.5px}.night-description{font-size:16px;line-height:24px}.night-included,.night-price{font-size:15px}}
@media(width < 768px){.night-copy{width:100%}.night-eyebrow{font-size:9px;letter-spacing:1.3px;gap:10px;margin-bottom:20px}.night-eyebrow::before{width:20px}.night-copy h1{font-size:clamp(30px,7.8vw,44px);line-height:1.06;letter-spacing:-1.1px;margin-bottom:24px}.night-description{max-width:520px;font-size:16px;line-height:24px}.night-included{font-size:15px}.night-price{font-size:15px;margin-bottom:22px;max-width:320px}.night-terms{max-width:350px;font-size:11px}}
@media(max-width:374px){.night-copy h1{font-size:29px;letter-spacing:-1px}.night-eyebrow{font-size:8px;letter-spacing:1px}.night-video-heading span{font-size:19px}}
/* На узком экране подпись занимает своё место над телефоном. */
@media(width < 768px){
  .night-copy{padding-top:0}
  .night-motto{font-size:10px;letter-spacing:2px;margin-block:24px}
  .night-motto::before{width:30px}
}
/* Телефон, точка опоры и освещение живут в одной системе координат 4:5. */
.night-stage{position:relative;isolation:isolate;container-type:inline-size;width:114%;margin-left:-7%;aspect-ratio:4/5;flex:none;max-width:700px}
.night-stage-light{position:absolute;inset:7% -4% 9%;pointer-events:none;background:radial-gradient(ellipse 43% 46% at 52% 47%,#f3a77abb 0%,#d782528a 38%,#99543855 65%,transparent 100%);transform:rotate(9deg);filter:blur(2cqw)}
/* Из фотографии оставляем поверхность; яркие источники скрыты за мягкой засветкой. */
.night-stage-backdrop{position:absolute;top:0;left:-13%;width:130%;height:110%;object-fit:fill;pointer-events:none;user-select:none;mix-blend-mode:screen;opacity:.8;mask-image:radial-gradient(ellipse 50% 50% at 50% 48%,#000 38%,#000d 60%,transparent 100%),linear-gradient(transparent 65%,#000 82%);mask-composite:intersect}
/* Мягкая тень по плоскости и плотная контактная тень у нижней кромки. */
.night-stage::before,.night-stage::after{content:"";position:absolute;z-index:1;pointer-events:none;background:#000;border-radius:50%}
.night-stage::before{left:12%;top:86%;width:67%;height:15%;opacity:.65;filter:blur(2.6cqw);transform:rotate(12deg)}
.night-stage::after{left:15%;top:85.6%;width:56%;height:2.8%;opacity:.95;filter:blur(.6cqw);transform:rotate(9deg);box-shadow:0 .6cqw 1.8cqw .5cqw #000b}
.simple-page .hero .night-stage .phone-shell,.collage-page .hero .night-stage .phone-shell{position:absolute;z-index:2;left:15%;bottom:13%;width:54%;height:auto;aspect-ratio:9/17.5;margin:0;padding:0;border:0;border-radius:8.3cqw;background:transparent;transform-origin:50% 100%;transform:rotate(9deg);box-shadow:none}
:is(.night-page,.simple-page,.collage-page) .night-stage .phone-shell::before,:is(.night-page,.simple-page,.collage-page) .night-stage .phone-shell::after{display:none}
/* Контур маски соответствует пикселям корпуса; чёрную область занимает живой плеер. */
.night-stage .phone-hardware{position:absolute;z-index:0;left:-10.49%;top:-1.19%;width:119.39%;height:103.74%;max-width:none;pointer-events:none;user-select:none;mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20899%201748%22%20preserveAspectRatio%3D%22none%22%3E%20%3Cpath%20fill%3D%22white%22%20d%3D%22M210%2020H706L740%2024L750%2027L763%2032L780%2042L797%2057L812%2077L823%20102L828%20127L830%20152V1578L824%201619L811%201648L796%201668L778%201683L760%201693L745%201698L713%201702H202L172%201698L154%201693L134%201683L115%201668L100%201648L87%201619L81%201578V152L83%20127L89%20102L100%2077L115%2057L133%2042L150%2032L164%2027L176%2024Z%22%2F%3E%20%3Crect%20fill%3D%22white%22%20x%3D%2274%22%20y%3D%22288%22%20width%3D%2210%22%20height%3D%2254%22%20rx%3D%223%22%2F%3E%20%3Crect%20fill%3D%22white%22%20x%3D%2274%22%20y%3D%22399%22%20width%3D%2210%22%20height%3D%22106%22%20rx%3D%223%22%2F%3E%20%3Crect%20fill%3D%22white%22%20x%3D%2274%22%20y%3D%22548%22%20width%3D%2210%22%20height%3D%22105%22%20rx%3D%223%22%2F%3E%20%3Crect%20fill%3D%22white%22%20x%3D%22822%22%20y%3D%22416%22%20width%3D%2212%22%20height%3D%22183%22%20rx%3D%225%22%2F%3E%20%3C%2Fsvg%3E");mask-size:100% 100%;mask-repeat:no-repeat}
.night-stage .phone-screen{position:absolute;z-index:1;left:3.8%;right:6%;top:2.5%;bottom:2.2%;height:auto;isolation:isolate;border-radius:6.5cqw;box-shadow:none;background:#080706}
/* Общий свет на стекле связывает ролик, чёрные поля и корпус со сценой. */
.night-stage .phone-screen::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(112deg,#f9d9c11c,transparent 28%,transparent 62%,#e9a87518 92%,#f5bc9133),linear-gradient(0deg,#25140e66,transparent 19%,transparent 78%,#19100b33);box-shadow:inset -.7cqw 0 1.4cqw #f2c5a41a,inset .3cqw 0 .8cqw #fff1}
.night-stage video{padding-top:18cqw;padding-bottom:9cqw;filter:saturate(.88) brightness(.94);mask-image:linear-gradient(transparent 18cqw,#000 22cqw,#000 calc(100% - 13cqw),transparent calc(100% - 8cqw))}
.night-stage .night-video-heading{z-index:2}
.night-stage .video-control{background:#14100ee8}
.night-stage .phone-island{top:1.5cqw;width:15cqw;height:4.2cqw;background:#030303;box-shadow:inset 0 .15cqw .3cqw #222}
.night-stage .phone-island i{width:1.5cqw;height:1.5cqw;top:1.3cqw;right:1.8cqw;background:#091419;box-shadow:inset 0 0 0 .25cqw #18262b}
.night-stage .night-video-heading{top:7.5cqw;left:3.4cqw;right:3.4cqw}
.night-stage .night-video-heading img{width:12cqw}
.night-stage .night-video-heading span{font-size:4.2cqw;padding-top:1.7cqw}
.night-stage .phone-screen:fullscreen{inset:0;border-radius:0;box-shadow:none}
.night-stage .phone-screen:fullscreen video{padding:0;filter:none;mask-image:none}
.night-stage .phone-screen:fullscreen::after{display:none}
.night-stage .phone-screen:fullscreen .night-video-heading{display:none}
/* Планшет и узкое окно: сохраняем две колонки, подпись ставим над телефоном. */
@media(min-width:768px) and (max-width:1100px){
  .night-copy{padding-top:0}
  .night-eyebrow{font-size:9px;letter-spacing:1px;gap:10px;margin-bottom:18px}
  .night-eyebrow::before{width:20px}
  .night-copy h1{font-size:clamp(32px,4.3vw,47px);line-height:1.06;letter-spacing:-1.2px;margin-bottom:20px}
  .night-description{font-size:15px;line-height:22px;margin-bottom:16px}
  .night-included,.night-price{font-size:14px;line-height:21px}
  .night-price{margin-bottom:18px}
  .night-motto{font-size:10px;letter-spacing:1.6px;gap:14px;margin-block:18px}
  .night-motto::before{width:30px}
  .night-terms{margin-top:12px}
  .night-stage{width:min(120%,440px);margin-inline:0}
}
@media(width < 768px){.night-stage{width:130%;margin-inline:-15%;max-width:600px}}
@container(max-width:440px){
  .night-stage .sound-control{min-width:40px;width:40px;padding:0;gap:0}
  .night-stage .sound-control span{display:none}
}
/* На широком мобильном экране действия помещаются рядом. */
@media (480px <= width < 768px){
  .night-price,.night-terms{max-width:580px}
}
/* Размер заголовка следует ширине колонки без скачка после 1100 px. */
.night-copy h1{font-size:clamp(29px,9cqw,60px)}
/* Список допускает новые поводы и длинные названия без фиксированных колонок. */
/* Общая шкала текста для вечернего и текстового оформлений. */
.night-copy,.games-block,.rhythm-block,.atmosphere-block,.occasions-block,.pricing-block{--copy-body:18px;--copy-detail:17px;--copy-label:14px;--copy-action:16px;--copy-heading-size:clamp(29px,9cqw,60px);--copy-heading-weight:600;--copy-heading-leading:1.15;--copy-heading-tracking:-.02em}
.night-copy .night-eyebrow{font-size:12px;line-height:1.5;letter-spacing:1.2px}
.night-copy .night-description{font-size:var(--copy-body);line-height:1.5}
.night-copy :is(.night-included,.night-price){font-size:var(--copy-detail);line-height:1.5}
.night-copy .night-terms{font-size:var(--copy-label);line-height:1.5}
.night-copy .night-motto{font-size:12px;line-height:1.5;letter-spacing:1.5px}
.night-copy .button{font-size:var(--copy-action)}
@media(max-width:1100px){.night-copy,.games-block,.rhythm-block,.atmosphere-block,.occasions-block,.pricing-block{--copy-body:16px;--copy-detail:16px}}
/* Мобильный порядок и размеры блоков совпадают с текстовым вариантом. */

/* Общая с вечерним вариантом типографика; фактура и элементы оформления Simple. */
:root:has(.simple-page){--content-max:1200px;--page-gutter:40px}
.simple-page .hero{grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:12px;padding-block:38px 34px}
.simple-page .night-copy{padding-bottom:0}
.simple-page .site-header{min-height:64px;padding-block:8px}
.simple-page .site-header-band{border-bottom:0;box-shadow:inset 0 -1px var(--line)}
@media(width > 1100px){.simple-page .night-copy{padding-top:0;margin-top:-22px}}
@media(min-width:1400px){.simple-page .hero{padding-top:62px}}
.simple-page .night-copy h1{font-size:clamp(29px,9cqw,60px);line-height:1.02;margin-bottom:24px}
.simple-page .night-copy h1 :is(.night-title-offer,.night-title-audience){font-size:.8em;font-weight:600;line-height:1.15;letter-spacing:-.02em}
.simple-page .night-copy h1 .night-title-offer{margin-block:10px 2px}
.simple-page .night-eyebrow{font-weight:400;color:var(--muted)}
.simple-page .night-eyebrow::before,.simple-page .night-motto::before{display:none}
.simple-page .night-description,.simple-page .night-terms{color:var(--muted)}
/* Цена предложения — как в коллаже: акцентный цвет вместо приглушённого. */
.simple-page .simple-offer .night-price{color:var(--green);margin:8px 0 0}
.simple-page .night-motto{color:var(--green)}
.simple-page .hero-actions{gap:20px}
.simple-page[data-paper-variant=compact] .hero-actions .button{font-size:var(--copy-action);font-weight:500;min-height:64px}
.simple-page .simple-terms{margin:16px 0}
.simple-page[data-paper-variant=compact] .occasion-list{flex-wrap:wrap;justify-content:flex-start;gap:6px 12px;margin:24px 0}
.simple-page[data-paper-variant=compact] .occasion-chip{font-size:var(--copy-label);line-height:1.5;font-weight:500}
.simple-page[data-paper-variant=compact] .hero-visual{padding:0;min-height:0;display:flex;justify-content:center;align-items:flex-start;align-self:start}
.simple-page .night-stage{width:min(115%,600px);margin:0}
.simple-page{overflow-x:clip}
.simple-page[data-paper-variant=compact] .occasion-list{display:flex;gap:8px 10px}
.simple-page[data-paper-variant=compact] .occasion-list li{display:inline-flex;align-items:baseline;gap:10px;max-width:100%;padding:0;text-align:left}
.simple-page[data-paper-variant=compact] .occasion-chip{padding:0;color:var(--ink)}
.simple-page[data-paper-variant=compact] .occasion-chip::before{display:none}
.simple-page .occasion-list li:not(:last-child)::after{content:'·';color:var(--muted);flex:none}
@media(width >= 768px){
  .simple-page[data-paper-variant=compact] .occasion-list{display:block;text-wrap:balance;text-align:left;line-height:2.1}
  .simple-page .occasion-list li{margin-inline-end:6px}
  .simple-page .occasion-list li:last-child{margin-inline-end:0}
}
@media(width < 768px){
  .simple-page[data-paper-variant=compact] .occasion-list{justify-content:center}
}
.simple-page main{overflow-x:clip;overflow-y:visible}
.simple-party-backdrop{position:absolute;z-index:0;left:-30%;bottom:0;width:160%;height:auto;max-width:none;pointer-events:none;opacity:.2;filter:blur(1.5px);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent),linear-gradient(transparent,#000 18%,#000 72%,#0008 85%,transparent 100%);mask-composite:intersect}
:root[data-theme=dark] .simple-party-backdrop{opacity:.5}
.simple-page .night-stage::before{left:10%;top:86%;width:76%;height:14%;opacity:.55;filter:blur(2.2cqw);transform:rotate(9deg)}
.simple-page .night-stage::after{left:9%;top:84%;width:82%;height:20%;opacity:.7;background:radial-gradient(ellipse,#c1784938,transparent 68%);filter:blur(1.2cqw);box-shadow:none;transform:rotate(9deg)}
.simple-page .phone-contact-shadow{position:absolute;z-index:-1;left:-9%;right:-7%;bottom:-3%;height:4%;border-radius:50%;background:#000;filter:blur(.55cqw);pointer-events:none;box-shadow:0 .6cqw 1cqw .2cqw #000b}
.simple-page .night-stage .video-controls{bottom:23px;left:10px;right:10px}
.simple-page .night-stage .video-progress{bottom:0}
.simple-page .night-stage .sound-control{font-size:9px;min-width:125px;padding-inline:8px}
@media(min-width:768px){
  .simple-page[data-paper-variant=compact] .hero-visual{align-self:stretch;container-type:size}
  /* Видимый корпус занимает около 1,12 ширины сцены по высоте; остальное — тень. */
  .simple-page .night-stage{--stage-width:min(135cqw,89cqh);position:absolute;width:var(--stage-width);left:50%;bottom:calc(var(--stage-width) * -.12);transform:translateX(-50%)}
}
@media(min-width:768px) and (max-width:1100px){
  :root:has(.simple-page){--page-gutter:24px}
  .simple-page .night-stage{top:0;bottom:auto}
  .simple-page .hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;padding-block:12px 24px}
  .simple-page .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;max-width:360px}
  .simple-page[data-paper-variant=compact] .hero-actions .button{min-height:54px}
}
@media(width < 768px){
  :root:has(.simple-page){--page-gutter:22px}
  .simple-page .hero{display:flex;flex-direction:column;gap:24px;padding-block:20px 0}
  .simple-page .hero-copy>#party-video{margin:24px 0 0}
  .simple-page .hero-visual{width:100%}
  .simple-page .night-stage{width:min(130%,560px)}
  .simple-page[data-paper-variant=compact] .hero-actions .button{min-height:54px}
  .simple-page[data-paper-variant=compact] .occasion-chip{white-space:normal;max-width:100%;text-wrap:balance}
}
@media(max-width:374px){:root:has(.simple-page){--page-gutter:18px}}
@media(max-width:1100px){.simple-page .night-copy h1{line-height:1.06}}
@container(max-width:440px){
  .simple-page .night-stage .sound-control{min-width:40px;width:40px;padding:0;gap:0}
  .simple-page .night-stage .sound-control span{display:none}
}

/* Навигация и контакты шапки используют общие стили style.css. */

:root{--section-graphite:#171719;--section-milk:#f2eee8}
/* Зона нажатия больше значка; размеры сохраняются и в мобильных правилах. */
:is(.simple-page,.collage-page) .night-stage .video-control{width:44px;height:44px;min-width:44px;min-height:44px}
:is(.simple-page,.collage-page) .night-stage .sound-control{width:auto}
@container(max-width:440px){:is(.simple-page,.collage-page) .night-stage .sound-control{width:44px}}
/* Второй блок «Коллажа». Первый экран и другие оформления не затрагиваются. */
.games-block{--games-paper:#f2eee8;--games-ink:#282725;--games-muted:#605b56;--games-coral:#ff7f6e;background:var(--games-paper);color:var(--games-ink);padding:64px 0 60px;margin-top:48px;position:relative;isolation:isolate}
.games-block :is(h2,h3,p,figure){margin:0}
.games-heading{display:grid;grid-template-columns:1.13fr 1fr;gap:18px 48px;align-items:start;margin-bottom:36px}
.games-kicker{grid-column:1/-1;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;line-height:20px;letter-spacing:.07em;text-transform:uppercase}
.games-kicker>span{width:10px;height:10px;flex:none;border:2px solid var(--games-coral);border-radius:50%;box-shadow:0 0 0 4px #c850421c}
.games-title{container-type:inline-size}
.games-heading h2{font-family:var(--font);font-size:calc(var(--copy-heading-size) * .8);font-weight:var(--copy-heading-weight);line-height:var(--copy-heading-leading);letter-spacing:var(--copy-heading-tracking)}
.games-heading h2 span{color:#d65849}
.games-heading .games-intro{max-width:480px;font-size:var(--copy-body);line-height:1.5;color:var(--games-muted);padding-bottom:3px}
.games-frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.games-arsenal{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.games-frame{position:relative;min-width:0}
.games-photo{position:relative;overflow:hidden;border-radius:12px}
.games-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}
.games-frame figcaption{display:flex;align-items:flex-start;gap:12px;padding-top:18px}
.games-count{display:block;flex:none;width:36px;color:#b94e3e;font-family:'Caveat',cursive;font-size:32px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.games-frame h3{font-size:calc(var(--copy-body) + 2px);line-height:1.3;font-weight:650;letter-spacing:-.01em}
.games-frame figcaption p{margin-top:6px;max-width:none;font-size:var(--copy-body);line-height:1.5;color:var(--games-muted)}
/* Рукописные пометки остаются текстом, а не частью изображения. */
.games-photo-note{position:absolute;left:18px;top:16px;color:#fffaf3;font-family:'Caveat',cursive;font-size:30px;line-height:.92;font-weight:400;transform:rotate(-7deg);text-shadow:0 1px 5px #000,0 0 12px #0009;pointer-events:none}
.games-photo-note svg{display:block;width:44px;height:30px;margin:3px 0 0 18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.games-photo-support .games-photo-note{left:auto;right:20px;top:14px;transform:rotate(5deg)}
@media(max-width:1100px){.games-heading{column-gap:32px}.games-frames{gap:20px}.games-frame figcaption{gap:9px}}
@media(max-width:767px){
 .games-block{padding:36px 0 40px}
 .games-heading{grid-template-columns:1fr;gap:13px;margin-bottom:20px}
 .games-kicker{grid-column:auto;font-size:13px;line-height:19px}
 .games-heading .games-intro{padding:0}
 .games-frames{grid-template-columns:1fr;gap:24px}
 .games-photo{border-radius:9px}
 .games-photo img{height:auto;aspect-ratio:12/5;border-radius:0;object-position:50% 42%}
 .games-photo-host img{object-position:50% 28%}
 .games-photo-play img{object-position:50% 24%}
 .games-photo-support img{object-position:50% 22%}
 .games-frame figcaption{padding-top:10px;gap:10px}
 .games-count{width:34px;font-size:30px}
 .games-frame figcaption p{max-width:100%;margin-top:3px}
 .games-photo-note{top:11px;left:13px;font-size:32px}
 .games-photo-note svg{width:30px;height:22px;margin-top:1px;margin-left:10px}
 .games-photo-support .games-photo-note{left:13px;right:auto;top:8px;transform:rotate(-5deg)}
}
@media(max-width:374px){.games-photo-note{font-size:28px}}

/* Уточнение об участии — часть объяснения, без значка и отдельного действия. */
.games-summary{display:grid;grid-template-columns:minmax(0,1fr) 144px;align-items:center;gap:24px}
.games-summary .games-intro{grid-column:1;grid-row:1}
.games-stamp-slot{grid-column:2;grid-row:1;position:relative;align-self:stretch}
.games-participation{display:grid;grid-template-columns:1fr 2fr;gap:24px 40px;margin-top:40px;padding:28px 32px;border-radius:12px;background:#e9e3da}
.games-participation h3{max-width:320px;font-size:calc(var(--copy-body) + 2px);line-height:1.3;font-weight:650;letter-spacing:-.01em}
.games-participation p{font-size:var(--copy-body);line-height:1.5;color:var(--games-muted)}
@media(max-width:767px){.games-participation{grid-template-columns:1fr;gap:12px;margin-top:28px;padding:22px 20px;border-radius:9px}.games-participation h3{max-width:none}}
@media(max-width:767px){.games-block{margin-top:36px}.games-summary{gap:12px}}

@media(max-width:767px){.games-summary{grid-template-columns:minmax(0,1fr) 128px;gap:16px}.games-stamp-slot{height:128px;align-self:center}}

/* Третий блок: ритм вечера и пример расписания. */
.rhythm-block{background:#faf8f4;color:#282725;padding:72px 0 80px;border-top:1px solid #ded7ce}
.rhythm-block :is(h2,h3,h4,p,ol){margin:0}
.rhythm-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.rhythm-intro{min-width:0;padding-top:16px}
@media(min-width:901px){.rhythm-intro{position:sticky;top:24px}}
.rhythm-kicker{display:flex;align-items:center;gap:18px;color:#b94e3e;font-size:14px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.rhythm-kicker span{font-family:'Caveat',cursive;font-size:30px;line-height:1;letter-spacing:0}
.rhythm-title-wrap{container-type:inline-size;margin:24px 0}
.rhythm-block h2{font-family:var(--font);font-size:calc(var(--copy-heading-size) * .8);font-weight:var(--copy-heading-weight);line-height:var(--copy-heading-leading);letter-spacing:var(--copy-heading-tracking)}
.rhythm-block h2 span{color:#d65849}
.rhythm-description,.rhythm-adaptation p{font-size:var(--copy-body);line-height:1.5;color:#605b56}
.rhythm-block .rhythm-accent{font-size:calc(var(--copy-body) + 2px);line-height:1.35;font-weight:650;margin-top:22px}
.rhythm-adaptation{margin-top:36px;padding:24px;border-radius:12px;background:#f7e8e1}
.rhythm-adaptation h3{font-size:calc(var(--copy-body) + 2px);line-height:1.3;font-weight:650;margin-bottom:12px}
.rhythm-schedule{min-width:0;background:#fffdfa;border:1px solid #e6e0d8;border-radius:20px;padding:28px}
.rhythm-schedule-heading{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}
.rhythm-schedule-heading h3{font-size:26px;line-height:1.2;font-weight:650;letter-spacing:-.02em}
.rhythm-hit{flex:none;padding:7px 16px;background:#ff7f6e;border-radius:20px;color:#282725;font-size:14px;font-weight:600;line-height:20px;text-transform:uppercase}
.rhythm-block .rhythm-schedule-note{margin-top:8px;color:#605b56;font-size:var(--copy-detail);line-height:1.5}
.rhythm-timeline{list-style:none;padding:0;margin-top:24px!important}
.rhythm-timeline li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:28px;padding:11px 12px;position:relative;margin:0 -12px;border-radius:12px;transition:background-color .18s ease}
.rhythm-timeline li::before{content:'';position:absolute;left:78px;top:0;bottom:0;width:1px;background:#ded7ce}
.rhythm-timeline li:first-child::before{top:22px}
.rhythm-timeline li:last-child::before{bottom:auto;height:22px}
.rhythm-time{font-size:var(--copy-detail);line-height:25px;font-weight:650;color:#b94e3e;font-variant-numeric:tabular-nums;position:relative}
.rhythm-time::after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#ff7f6e;left:63px;top:8px}
.rhythm-step-copy h4{font-size:var(--copy-body);line-height:1.4;font-weight:650}
.rhythm-step-copy p{font-size:var(--copy-detail);line-height:1.45;color:#605b56}
.rhythm-step-copy .rhythm-pause-label{color:#282725;font-weight:600;margin:3px 0 5px}
.rhythm-program-note{display:inline-block;background:#efede9;color:#605b56;font-size:12px;line-height:18px;padding:3px 9px;border-radius:12px;margin:5px 0 7px}
@media(max-width:1100px){.rhythm-layout{gap:28px;grid-template-columns:.85fr 1.15fr}.rhythm-schedule{padding:22px}.rhythm-schedule-heading h3{font-size:23px}}
@media(max-width:900px){.rhythm-layout{grid-template-columns:1fr}.rhythm-intro{padding-top:0}.rhythm-title-wrap{max-width:650px}.rhythm-description,.rhythm-accent{max-width:650px}.rhythm-adaptation{margin-top:24px}.rhythm-schedule{margin-top:4px}}
@media(max-width:767px){.rhythm-block{padding:36px 0 40px}.rhythm-kicker{font-size:13px;gap:12px}.rhythm-title-wrap{margin:18px 0}.rhythm-adaptation{padding:20px;border-radius:9px}.rhythm-schedule{padding:20px 16px;border-radius:12px}.rhythm-schedule-heading{gap:10px}.rhythm-schedule-heading h3{font-size:22px}.rhythm-hit{font-size:12px;padding:4px 10px}.rhythm-timeline li{grid-template-columns:46px minmax(0,1fr);gap:22px}.rhythm-timeline li{margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}.rhythm-timeline li::before{left:64px}.rhythm-time::after{left:53px}}
@media(hover:hover) and (pointer:fine){.rhythm-timeline li:hover{background-color:#fbe8e3}}
@media(prefers-reduced-motion:reduce){.rhythm-timeline li{transition:none}}

/* Четвёртый блок: единая композиция музыки, фотографии и Reels. */
.atmosphere-block{position:relative;isolation:isolate;background:var(--section-graphite);color:#faf8f4;padding:70px 0 44px;overflow:clip}
.atmosphere-block::before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse 24% 36% at 73% 37%,#95573585,transparent 100%),radial-gradient(ellipse 27% 28% at 78% 70%,#81523945,transparent 100%),linear-gradient(90deg,#080d0f55,transparent 45%,#080d0f55)}
.atmosphere-block :is(h2,p,figure){margin:0}
.atmosphere-layout{display:grid;grid-template-columns:45% 55%;gap:0;align-items:start}
.atmosphere-copy{position:relative;z-index:2;padding-top:38px;padding-right:24px;min-width:0}
.atmosphere-kicker{display:flex;align-items:center;gap:24px;font-size:12px;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:#b8baba}
.atmosphere-kicker span{font-size:24px;letter-spacing:0;color:#ff7f6e;padding-right:0}
.atmosphere-title-wrap{container-type:inline-size;margin:42px -24px 32px 0}
.atmosphere-block h2{font-family:var(--font);font-size:clamp(30px,9.2cqw,48px);font-weight:var(--copy-heading-weight);line-height:1.15;letter-spacing:-.02em}
.atmosphere-block h2 span{color:#ff7f6e}
.atmosphere-copy>p:not(.atmosphere-kicker){font-size:var(--copy-body);font-weight:400;line-height:1.6;color:#d0d0cd;max-width:500px}
.atmosphere-copy>p+p:not(.atmosphere-kicker){margin-top:24px}
.atmosphere-media{position:relative;min-width:0;aspect-ratio:1/1.02}
.atmosphere-dj{position:absolute;left:14%;top:-2%;width:64%;z-index:auto}
.atmosphere-dj>img{position:relative;z-index:1;mix-blend-mode:screen;display:block;width:100%;height:auto;filter:brightness(.9) contrast(1.15);mask-image:linear-gradient(to bottom,#000 96%,transparent)}
.atmosphere-label{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;width:max-content;padding:11px 16px;border:1px solid #ff9f8752;border-radius:22px;background:var(--section-graphite);box-shadow:0 0 12px 7px #06090bd9,0 0 30px 13px #ff7f6e25;color:#d0d0cd;font-size:14px;line-height:1.3;font-weight:400;position:relative;z-index:4}
.atmosphere-label strong{font-weight:500;color:#ff7f6e}
.atmosphere-label>span::before{content:'· '}
.atmosphere-reel .atmosphere-label>span::before{content:none}
.atmosphere-dj .atmosphere-label{position:absolute;left:-6%;top:29%}
.atmosphere-photo{position:absolute;left:7%;top:42%;width:35%;z-index:3}
.atmosphere-print{padding:8px 8px 25px;background:#f7f4ee;transform:rotate(-9deg);box-shadow:0 14px 25px #0005;transition:translate .2s ease}
.atmosphere-print img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:50% 48%}
.atmosphere-photo .atmosphere-label{position:absolute;left:50%;bottom:-25px;transform:translateX(-50%)}
.atmosphere-reel{position:absolute;right:6%;top:26%;width:33.3%;z-index:2}
.atmosphere-reel::before{content:'';position:absolute;z-index:-1;inset:-12% -18%;border-radius:45%;background:radial-gradient(ellipse,#ca784865 0%,#d995562b 40%,transparent 72%);filter:blur(18px);pointer-events:none}
.atmosphere-reel-frame{position:relative;aspect-ratio:9/16;transform:rotate(8deg);border:1px solid #ffae7999;border-radius:12px;overflow:hidden;box-shadow:-20px 12px 36px #000d,0 0 26px #d6924e26;transition:border-color .2s ease,box-shadow .2s ease;background:var(--section-graphite) url('/cache/a49ea239091699ed01248241a867e2a35bd3f97e37bb290fc674f8cfbbbda32f/assets/gallery/atmosphere-reel-poster.webp') center/cover no-repeat}
.atmosphere-reel-video{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.atmosphere-reel-video[hidden]{display:none}
.atmosphere-reel-title{position:absolute;top:0;left:0;right:0;padding:12px;color:#fff;font-size:16px;font-weight:600;display:flex;justify-content:space-between;background:linear-gradient(#0008,transparent)}
.atmosphere-reel-ui{position:absolute;right:10px;bottom:24px;display:grid;gap:16px;color:white;filter:drop-shadow(0 1px 3px #000)}
.atmosphere-reel-ui svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.atmosphere-reel-ui svg:first-child{fill:#ff655d;stroke:#ff655d}
.atmosphere-reel .atmosphere-label{position:absolute;top:-46px;right:-14px;flex-direction:column;align-items:center;text-align:center;gap:2px;border-radius:18px}
.atmosphere-reel-more{position:absolute;bottom:9px;left:0;right:0;text-align:center;color:#fff;font-size:14px;letter-spacing:2px}
@media(hover:hover) and (pointer:fine){.atmosphere-print:hover{translate:0 -3px}.atmosphere-reel-frame:hover{border-color:#ff9c80;box-shadow:-18px 10px 38px #000b,0 0 18px #ff7f6e20}}
@media(max-width:1100px) and (min-width:901px){.atmosphere-layout{grid-template-columns:45% 55%}.atmosphere-copy{padding-top:15px}.atmosphere-title-wrap{margin:28px 0 24px}.atmosphere-label{font-size:12px;padding:9px 10px}.atmosphere-kicker{gap:14px;font-size:10px}.atmosphere-kicker span{padding-right:14px}.atmosphere-media{aspect-ratio:1/1.06}.atmosphere-dj{top:2%}.atmosphere-photo{top:42%}.atmosphere-reel{top:26%;right:7%}}
@media(max-width:900px){.atmosphere-layout{grid-template-columns:1fr;gap:36px}.atmosphere-copy{padding:0}.atmosphere-title-wrap{margin-right:0}.atmosphere-copy>p:not(.atmosphere-kicker){max-width:650px}.atmosphere-media{width:min(100%,620px);justify-self:center}.atmosphere-block::before{background:radial-gradient(ellipse 55% 27% at 65% 68%,#95573585,transparent 100%),linear-gradient(90deg,#080d0f55,transparent 45%,#080d0f55)}}
/* На телефоне сохраняется коллаж; подписи не масштабируются вместе с фото. */
@media(max-width:767px){
 .atmosphere-block{padding:36px 0 40px}
 .atmosphere-block::before{background:radial-gradient(ellipse 65% 26% at 55% 73%,#95573585,transparent 100%),radial-gradient(ellipse 75% 20% at 65% 90%,#81523925,transparent 100%)}
 .atmosphere-kicker{gap:14px;font-size:11px;letter-spacing:.09em}.atmosphere-kicker span{font-size:22px;padding-right:14px}
 .atmosphere-title-wrap{margin:24px 0}
 .atmosphere-block h2{font-size:clamp(23.2px,7.3vw,34px)}
 .atmosphere-media{width:min(100%,470px);aspect-ratio:1/1.27}
 .atmosphere-dj{left:13%;top:0;width:70%}
 .atmosphere-label{font-size:12px;line-height:1.25;padding:7px 9px;gap:1px;flex-direction:column;align-items:center;text-align:center;border-radius:14px;box-shadow:0 0 9px 4px #06090bd9,0 0 22px 8px #ff7f6e25}
 .atmosphere-label>span::before{content:none}
 .atmosphere-dj .atmosphere-label{left:-16%;top:25%}
 .atmosphere-photo{left:2%;top:49%;width:42%}
 .atmosphere-print{padding:6px 6px 16px;transform:rotate(-6deg)}
 .atmosphere-photo .atmosphere-label{bottom:-48px}
 .atmosphere-reel{right:2%;top:36%;width:38%}
 .atmosphere-reel-frame{transform:rotate(6deg);border-radius:9px;box-shadow:-10px 7px 24px #000b,0 0 20px #d6924e26}
 .atmosphere-reel .atmosphere-label{top:-52px;right:-2px;padding:7px 9px;gap:1px;border-radius:14px}
 .atmosphere-reel-title{padding:8px;font-size:12px}
 .atmosphere-reel-ui{right:7px;bottom:20px;gap:9px}
 .atmosphere-reel-ui svg{width:15px;height:15px}
 .atmosphere-reel-more{font-size:11px;bottom:6px}
}

@media(prefers-reduced-motion:reduce){.atmosphere-print,.atmosphere-reel-frame{transition:none}}

/* Пятый блок: поводы для праздника, фотографии временные. */
.occasions-block{background:#faf8f4;color:#282725;padding:64px 0 56px}
.occasions-block :is(h2,h3,p,figure){margin:0}
.occasions-heading{display:grid;grid-template-columns:1fr auto;gap:24px 36px;align-items:center;margin-bottom:32px}
.occasions-kicker{grid-column:1/-1;display:flex;align-items:center;gap:22px;font-size:13px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.occasions-kicker span{font-size:26px;font-weight:600;color:#d65849}
.occasions-heading h2{font-family:var(--font);font-size:48px;line-height:1.15;font-weight:var(--copy-heading-weight);letter-spacing:-.02em}
.occasions-heading h2>span{color:#d65849}
.occasions-handnote{font:400 32px/1.05 Caveat,cursive;color:#605b56;transform:rotate(-7deg);padding-right:12px}
.occasions-handnote::after{content:'';display:block;width:80%;height:12px;border-top:1px solid currentColor;border-radius:50%;margin:10px 0 0 20px;transform:rotate(-5deg)}
.occasions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.occasions-item{min-width:0;padding:16px;background:#fffdfa;border:1px solid #eee5da;border-radius:24px;box-shadow:none;transition:border-color .2s ease,background-color .2s ease}
.occasions-photo{position:relative;overflow:hidden;border-radius:12px;background:#272522}
.occasions-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.occasions-photo>span{position:absolute;left:15px;top:13px;color:#fffaf3;font:400 26px/.95 Caveat,cursive;transform:rotate(-6deg);text-shadow:0 1px 5px #000,0 0 14px #000;pointer-events:none}
.occasions-item figcaption{padding:20px 4px 12px}
.occasions-item h3{font-size:calc(var(--copy-body) + 2px);line-height:1.3;letter-spacing:-.015em;font-weight:650}
.occasions-item h3>span{white-space:nowrap;color:#d65849}
.occasions-item figcaption p{margin-top:7px;font-size:var(--copy-body);line-height:1.5;color:#605b56}
.occasions-more{margin-top:36px;padding:26px 0;display:grid;grid-template-columns:auto 1fr;gap:20px 40px;align-items:center;border-top:1px solid #d7cec3;border-bottom:1px solid #d7cec3}
.occasions-more .occasions-more-label{font:400 36px/1.1 Caveat,cursive;color:#d65849;transform:rotate(-5deg);white-space:nowrap}
.occasions-more-list{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0;padding:0;list-style:none}
.occasions-more-list li{display:flex;align-items:baseline;gap:12px;font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.015em}
.occasions-more-list li::before{content:'•';color:#d65849;font-size:18px;font-weight:400}
@media(max-width:1100px){.occasions-grid{gap:16px}.occasions-heading h2{font-size:42px}.occasions-photo>span{font-size:24px}}
@media(max-width:900px){.occasions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}.occasions-heading h2{font-size:38px}.occasions-handnote{font-size:28px}}
@media(max-width:767px){.occasions-block{padding:36px 0 40px}.occasions-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}.occasions-heading h2{font-size:clamp(28px,7.3vw,38px)}.occasions-kicker{font-size:12px;gap:14px}.occasions-kicker span{font-size:24px}.occasions-handnote{display:none}.occasions-grid{gap:24px 14px}.occasions-photo{border-radius:9px}.occasions-photo>span{font-size:22px;left:10px;top:10px}.occasions-item{padding:10px;border-radius:20px}.occasions-item figcaption{padding:16px 2px 10px}.occasions-item h3{font-size:18px}.occasions-more{margin-top:28px;padding:22px 0;grid-template-columns:1fr;gap:18px}.occasions-more .occasions-more-label{font-size:32px;justify-self:start}.occasions-more-list{gap:10px 18px}.occasions-more-list li{font-size:18px;gap:9px}.occasions-more-list li::before{font-size:16px}}
@media(max-width:374px){.occasions-grid{grid-template-columns:1fr}.occasions-photo img{aspect-ratio:12/5}.occasions-photo>span{font-size:25px}}

@media(hover:hover) and (pointer:fine){.occasions-item:hover{border-color:#e79080;background:#fff8f3}}
@media(prefers-reduced-motion:reduce){.occasions-item{transition:none}.occasions-item:hover{transform:none}}
/* Шестой блок: объёмные карточки программ. */
.pricing-block{padding:64px 0 56px;background:var(--section-milk);color:#282725}
.pricing-block :is(h2,h3,p,ul,dl,dd){margin:0}
.pricing-heading{display:grid;grid-template-columns:1fr auto;gap:12px 28px;margin-bottom:46px}
.pricing-heading .occasions-kicker{margin-bottom:12px}
.pricing-heading h2{font-size:48px;line-height:1.1;font-weight:600;letter-spacing:-.025em}
.pricing-heading h2 span{color:#d65849}
.pricing-handnote{align-self:center;font:400 30px/1.05 Caveat,cursive;transform:rotate(-7deg);padding:0 8px 12px}
.pricing-handnote::after{content:'';display:block;border-top:1px solid currentColor;border-radius:50%;height:10px;margin-top:12px;transform:rotate(-5deg)}
.pricing-intro{grid-column:1/-1;font-size:var(--copy-body);line-height:1.5;color:#605b56}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch;padding:0 6px}
.pricing-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:30px 28px 24px;border:1px solid #e3dcd3;border-radius:24px;background:#fffdfa;box-shadow:none;}

.pricing-card h3{font-size:38px;line-height:1.15;font-weight:650;letter-spacing:-.025em}
.pricing-tag{align-self:flex-start;background:#eae3db99;border-radius:30px;padding:6px 12px;margin-bottom:12px;font-size:10px;line-height:1.2;letter-spacing:.15em;text-transform:uppercase;font-weight:600}
.pricing-price{color:#d65849;font-size:32px;line-height:1.3;font-weight:650;letter-spacing:-.025em;white-space:nowrap}
.pricing-price small{font-size:.6em}
.pricing-tiers{padding:14px 0;border-top:1px solid #d7cec3;border-bottom:1px solid #d7cec3;margin-top:14px!important;font-size:15px;line-height:1.6}
.pricing-tiers div{display:flex;gap:14px;justify-content:space-between}
.pricing-tiers dd{white-space:nowrap}
.pricing-features{list-style:none;padding:16px 0;font-size:16px;line-height:1.4;display:grid;gap:8px}
.pricing-features li{position:relative;padding-left:28px}
.pricing-features li::before{content:'✓';position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:#eee2db;color:#a67566;font-size:12px;line-height:18px;text-align:center}
.pricing-features-full{border-top:1px solid #d7cec3;margin-top:14px!important}
.pricing-description{padding:14px 0;border-top:1px solid #d7cec3;color:#69615b;font-size:14px;line-height:1.5}
.pricing-action{margin-top:auto;width:100%;text-decoration:none}
.pricing-card-featured{transform:none;background:var(--section-graphite);color:#fffaf4;border:1px solid #343838;box-shadow:none;padding-top:38px}
.pricing-card-featured .pricing-price{color:#ffac9b}
.pricing-card-featured .pricing-tiers{border-color:#ffffff33}
.pricing-hit{position:absolute;left:50%;top:-12px;transform:translateX(-50%);padding:7px 28px;background:#ff7f6e;color:#291b17;border-radius:5px 5px 18px 18px;font-size:14px;letter-spacing:.04em;font-weight:600;text-transform:uppercase;box-shadow:none;}
.pricing-timing{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:0 0 14px;border:1px solid #8d746766;border-radius:12px;background:#ffffff09;color:#dbd6d0;text-decoration:none;font-size:13px;line-height:1.4}
.pricing-timing span{text-decoration-line:underline;text-decoration-style:dashed;text-decoration-color:#a99b90;text-underline-offset:4px;text-decoration-thickness:1px}
.pricing-card-featured .pricing-features li::before{background:#393532;color:#c8aa9d}
.pricing-other-heading{display:flex;gap:24px;align-items:baseline;margin:34px 0 16px}
.pricing-other-heading h3{font-size:22px;white-space:nowrap;letter-spacing:-.02em}
.pricing-other-heading p{font-size:14px;line-height:1.5;color:#69615b}
.pricing-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pricing-option{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:20px;border-radius:18px;background:#fffdfa;border:1px solid #e3dcd3;box-shadow:none;}
.pricing-option h3{font-size:21px;line-height:1.35}.pricing-option h3 small{font-size:13px;font-weight:400}
.pricing-option .pricing-price{font-size:28px}.pricing-option .pricing-features{padding:0;font-size:13px;gap:5px}.pricing-option .pricing-features li{padding-left:23px}.pricing-option .pricing-features li::before{width:15px;height:15px;line-height:15px;font-size:10px}
.pricing-no-dj{font-weight:650;display:inline-block;background:#ffe0d9;color:#a73f30;border-radius:30px;padding:3px 10px;font-size:12px;margin-top:5px}
.pricing-option-note{font-size:12px;line-height:1.5;color:#69615b;padding-top:8px}
.pricing-footer{display:grid;grid-template-columns:1.4fr 1fr auto;gap:28px;align-items:center;margin-top:30px}
.pricing-footer p{font-size:12px;line-height:1.5;color:#69615b}.pricing-footer p+p{border-left:1px solid #c9bfb4;padding-left:24px}.pricing-footer .pricing-action{margin:0}
.pricing-block a:focus-visible{outline:3px solid #d65849;outline-offset:5px}.pricing-card-featured a:focus-visible{outline-color:#ffb2a1}
@media(hover:hover) and (pointer:fine){.pricing-timing:hover{background:#ffffff16}}
@media(max-width:1100px){.pricing-heading h2{font-size:40px}.pricing-handnote{font-size:26px}.pricing-grid{gap:18px}.pricing-card{padding:26px 18px 20px}.pricing-card-featured{padding-top:38px}.pricing-card h3{font-size:32px}.pricing-price{font-size:28px}.pricing-tiers{font-size:13px}.pricing-features{font-size:14px}.pricing-option{gap:14px;padding:16px}.pricing-footer{grid-template-columns:1.2fr 1fr}.pricing-footer .pricing-action{margin:0;grid-column:1/-1;justify-self:end;width:auto}}
@media(max-width:767px){.pricing-block{padding:40px 0}.pricing-heading{grid-template-columns:1fr;gap:14px;margin-bottom:32px}.pricing-heading h2{font-size:clamp(28px,7.3vw,38px)}.pricing-handnote{display:none}.pricing-grid{grid-template-columns:1fr;gap:30px;padding:0}.pricing-card,.pricing-card:last-child,.pricing-card-featured{transform:none;padding:24px;border-radius:22px}.pricing-card-featured{padding-top:34px}.pricing-card h3{font-size:36px}.pricing-price{font-size:32px}.pricing-tiers{font-size:16px}.pricing-features{font-size:16px}.pricing-description{font-size:15px}.pricing-other-heading{display:block;margin-top:30px}.pricing-other-heading h3{font-size:22px;white-space:normal;margin-bottom:8px}.pricing-options{grid-template-columns:1fr;gap:16px}.pricing-option{grid-template-columns:1fr;padding:20px;gap:14px}.pricing-option .pricing-features{font-size:15px}.pricing-option-note{font-size:14px}.pricing-footer{grid-template-columns:1fr;gap:16px;margin-top:24px}.pricing-footer p{font-size:13px}.pricing-footer p+p{border-left:0;padding-left:0}.pricing-footer .pricing-action{margin:0;width:100%}.pricing-timing{font-size:14px}}

/* Общие элементы секций: кнопка первого экрана и единая нумерация. */
:is(.collage-page,.simple-page) :is(.collage-page .hero-actions>.button-primary,.pricing-action.button-primary){min-height:57px;height:auto;padding:12px 18px;gap:18px;border:0;border-radius:11px;background:var(--lime);color:var(--accent-text,#24291f);box-shadow:0 2px 0 var(--accent-shadow,#8ba63e);font-family:var(--font);font-size:16px;font-weight:500;line-height:1.35;text-align:center;justify-content:center;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}
:is(.collage-page,.simple-page) :is(.collage-page .hero-actions>.button-primary,.pricing-action.button-primary)>.icon{width:25px;height:25px;flex:none}
:is(.collage-page,.simple-page) :is(.collage-page .hero-actions>.button-primary,.pricing-action.button-primary):focus-visible{outline:3px solid var(--focus);outline-offset:5px;background:var(--accent-hover,#e1ff8b)}
@media(hover:hover) and (pointer:fine){:is(.collage-page,.simple-page) :is(.collage-page .hero-actions>.button-primary,.pricing-action.button-primary):hover{background:var(--accent-hover,#e1ff8b);transform:translateY(-2px)}}
:is(.collage-page,.simple-page) .section-kicker{display:flex;align-items:center;gap:18px;font-family:var(--font);font-size:13px;font-weight:600;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#605b56}
:is(.collage-page,.simple-page) .section-kicker>span{display:block;flex:none;width:auto;height:auto;padding:0;border:0;border-radius:0;box-shadow:none;font-family:var(--font);font-size:26px;font-weight:600;line-height:1;letter-spacing:0;color:#d65849;font-variant-numeric:tabular-nums}
:is(.collage-page,.simple-page) .atmosphere-kicker{color:#b8baba}:is(.collage-page,.simple-page) .atmosphere-kicker>span{color:#ff7f6e}
@media(max-width:767px){:is(.collage-page,.simple-page) .section-kicker{font-size:12px;gap:14px}:is(.collage-page,.simple-page) .section-kicker>span{font-size:24px}}
@media(prefers-reduced-motion:reduce){:is(.collage-page,.simple-page) :is(.collage-page .hero-actions>.button-primary,.pricing-action.button-primary){transition:none;transform:none}:is(.collage-page,.simple-page) :is(.collage-page .hero-actions>.button-primary,.pricing-action.button-primary)>.icon{transition:none;transform:none}}

:is(.collage-page,.simple-page) .pricing-action-link{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:48px;padding:10px 0;color:#c44f40;font:500 16px/1.35 var(--font);text-decoration:none;transition:color .2s ease}
:is(.collage-page,.simple-page) .pricing-action-link>.icon{width:25px;height:25px;flex:none}
:is(.collage-page,.simple-page) .pricing-action-link:focus-visible{outline:3px solid #c44f40;outline-offset:5px;border-radius:4px}
@media(hover:hover) and (pointer:fine){:is(.collage-page,.simple-page) .pricing-action-link:hover{color:#963b30}}
@media(prefers-reduced-motion:reduce){:is(.collage-page,.simple-page) :is(.collage-page .hero-actions>.button-primary,.pricing-action.button-primary):is(:hover,:focus-visible){transform:none}:is(.collage-page,.simple-page) .pricing-action-link{transition:none}}

/* Седьмой блок: помощь с организацией и площадкой. */
.venue-block{padding:64px 0 70px;background:var(--section-graphite);color:#f7f5f0}
.venue-block :is(h2,h3,p){margin:0}
:is(.collage-page,.simple-page) .venue-block .section-kicker{color:#b8baba;margin-bottom:40px}
:is(.collage-page,.simple-page) .venue-block .section-kicker>span{color:#ff7f6e}
.venue-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.venue-copy h2{font-family:var(--font);font-size:48px;font-weight:600;line-height:1.15;letter-spacing:-.02em}
.venue-copy h2 em{display:inline-block;margin-top:8px;font:inherit;color:#ff8e7d}
.venue-copy>p{font-size:18px;line-height:1.6;color:#cfceca;margin-top:30px;max-width:530px}
.venue-details{border-left:1px solid #946e5d77;padding-left:64px;display:flex;flex-direction:column;justify-content:space-between}
.venue-detail{padding:12px 0 28px}
.venue-detail+.venue-detail{border-top:1px solid #ffffff30;padding-top:30px}
.venue-detail:last-child{padding-bottom:0}
.venue-detail h3{font:500 18px/1.4 var(--font);letter-spacing:.055em;text-transform:uppercase;color:#ff8e7d;margin-bottom:12px}
.venue-detail p{font-size:18px;line-height:1.5;color:#cfceca;max-width:500px}
@media(max-width:1100px){.venue-layout{gap:36px}.venue-details{padding-left:36px}.venue-copy h2{font-size:42px}.venue-copy>p{font-size:16px}.venue-detail p{font-size:16px}.venue-detail h3{font-size:16px}}
@media(max-width:767px){.venue-block{padding:40px 0 44px}:is(.collage-page,.simple-page) .venue-block .section-kicker{margin-bottom:28px}.venue-layout{grid-template-columns:1fr;gap:30px}.venue-copy h2{font-size:clamp(28px,7.3vw,38px)}.venue-copy>p{font-size:16px;line-height:1.5;margin-top:24px}.venue-details{border-left:0;padding-left:0;border-top:1px solid #946e5d77}.venue-detail{padding:24px 0}.venue-detail+.venue-detail{padding-top:24px}.venue-detail h3{font-size:16px;margin-bottom:10px}.venue-detail p{font-size:16px}}


@media(max-width:900px){.venue-title-break{display:none}}
/* Команда: общий заголовок, портрет и компактная колонка знакомства. */
.team-block{padding:64px 0;background:#faf8f4;color:#282725}
.team-block :is(h2,p,figure){margin:0}
.team-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);grid-template-areas:"heading heading" "photo copy" "photo social";gap:28px 44px;align-items:start}
.team-heading{grid-area:heading;margin-bottom:8px}
.team-heading h2{font:600 48px/1.15 var(--font);letter-spacing:-.02em;margin-top:28px}
.team-heading h2>span{color:#d65849}
.team-copy{grid-area:copy;min-width:0}
.team-copy .team-description{font-size:18px;line-height:1.55}
.team-layout .team-figure{grid-area:photo;width:100%;align-self:end;overflow:hidden;border-radius:16px;background:#f0ece5}
.team-figure img{display:block;width:100%;height:auto;object-fit:contain}
.team-social{grid-area:social;min-width:0}
@media(max-width:1100px){.team-layout{column-gap:28px}.team-heading h2{font-size:42px}.team-copy .team-description{font-size:16px}}
@media(max-width:900px){.team-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "copy" "photo" "social";gap:26px}.team-heading{margin-bottom:0}.team-heading h2{font-size:38px}.team-layout .team-figure{max-width:720px;justify-self:center}}
@media(max-width:767px){.team-block{padding:40px 0}.team-heading h2{font-size:clamp(28px,7.3vw,38px)}}

/* Единая шкала заголовков секций на узком экране. */
@media(max-width:900px){
 :is(.collage-page,.simple-page) .section-title{font-family:var(--font);font-size:clamp(28px,7.3vw,38px);font-weight:600;line-height:1.15;letter-spacing:-.02em}
 .section-title-break{display:none}
 .venue-copy h2 em{margin-top:0}
}


@media(min-width:901px){
 .atmosphere-layout{grid-template-columns:55% 45%}
 .atmosphere-media{grid-column:1;grid-row:1}
 .atmosphere-copy{grid-column:2;grid-row:1;padding-right:0;padding-left:24px}
 .atmosphere-title-wrap{margin-right:0}
 .atmosphere-block::before{background:radial-gradient(ellipse 24% 36% at 32% 37%,#95573585,transparent 100%),radial-gradient(ellipse 27% 28% at 37% 70%,#81523945,transparent 100%),linear-gradient(90deg,#080d0f55,transparent 45%,#080d0f55)}
}

.team-copy .team-note{margin-top:24px;font-size:15px;line-height:1.5;color:#78716a}
.team-social{padding-top:28px;border-top:1px solid #ddd3c8}
.team-social h3{margin:0 0 10px;font-size:24px;line-height:1.25;font-weight:600;letter-spacing:-.02em}
.team-social>p{font-size:15px;line-height:1.5;color:#78716a;max-width:440px}
.team-social-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.team-social-link{display:flex;align-items:center;gap:10px;padding:14px 10px;border:1px solid #e6ddd2;border-radius:18px;text-decoration:none;color:#282725;background:#faf8f4;transition:background .2s,border-color .2s}
.team-social-link strong{display:block;font-size:13px;font-weight:600}.team-social-link small{display:block;margin-top:4px;font-size:11px;line-height:1.35;color:#605b56}
.team-social-icon{display:grid;place-items:center;background:#d65849;border-radius:50%;width:36px;height:36px;flex:none;color:white}
.team-social-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.team-social-link>.icon{width:18px;height:18px;flex:none;margin-left:auto;color:#d65849}
.team-social-link:hover{background:#fff0e9;border-color:#d65849}.team-social-link:focus-visible{outline:2px solid #d65849;outline-offset:4px}
@media(min-width:901px) and (max-width:1200px){.team-social-links{grid-template-columns:1fr}.team-social-link{padding:10px 14px}.team-social-link small{margin-top:0}.team-social-link>span:nth-child(2){display:flex;gap:12px;align-items:center}}
@media(max-width:600px){.team-social-links{grid-template-columns:1fr}.team-social-link{padding:12px 16px}.team-social-link strong{font-size:15px}.team-social-link small{font-size:13px}.team-social h3{font-size:22px}}

/* Соцсети — компактные ссылки без карточек и пояснений. */
.team-social-links{display:flex;flex-wrap:wrap;gap:16px 24px}
.team-social-link{padding:4px 0;border:0;border-radius:0;background:none;gap:10px}
.team-social-link strong{font-size:15px}
.team-social-link>.icon{display:none}
.team-social-link:hover{background:none;color:#d65849}

.team-copy .team-description,.team-social>p{max-width:none;text-align:left;word-break:normal;overflow-wrap:normal;hyphens:none;text-wrap:wrap}

.team-social-arrow{display:inline-block;color:currentColor;font-size:16px;line-height:1;opacity:.65}
.team-social-link{transition:color .2s ease}
.team-social-link:is(:hover,:focus-visible){color:#d65849}
.team-social-link:is(:hover,:focus-visible) .team-social-arrow{opacity:1}
@media(prefers-reduced-motion:reduce){.team-social-link,.team-social-arrow{transition:none}}

.team-social-icon{transition:background-color .2s ease,transform .2s ease}
.team-social-link:is(:hover,:focus-visible) .team-social-icon{background-color:#b9473b;transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.team-social-icon{transition:none}.team-social-link:is(:hover,:focus-visible) .team-social-icon{transform:none}}

/* Девятый блок: ответы на вопросы. */
.faq-block{padding:64px 0 70px;background:var(--section-milk);color:#282725}
.faq-block :is(h2,p){margin:0}
.faq-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:64px;margin-top:40px;align-items:start}
.faq-block h2{font:600 48px/1.15 var(--font);letter-spacing:-.02em}
.faq-block h2 span{color:#d65849}
.faq-list{border-top:1px solid #d9cfc3}
.faq-item{border-bottom:1px solid #d9cfc3}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;list-style:none;cursor:pointer;font-size:18px;line-height:1.4;font-weight:500;transition:color .2s ease}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:is(:hover,:focus-visible){color:#c14b3e}
.faq-item summary:focus-visible{outline:2px solid #d65849;outline-offset:5px;border-radius:3px}
.faq-toggle{position:relative;flex:none;width:30px;height:30px;border:1px solid #cfbcb0;border-radius:50%;color:#d65849;transition:background .2s ease,transform .2s ease}
.faq-toggle::before,.faq-toggle::after{content:'';position:absolute;left:8px;right:8px;top:13px;height:2px;background:currentColor}
.faq-toggle::after{transform:rotate(90deg);transition:transform .2s ease}
.faq-item[open] .faq-toggle::after{transform:rotate(0deg)}
.faq-item[open] summary{color:#c14b3e}
.faq-item summary:hover .faq-toggle{background:#e9ded4}
.faq-answer{padding:0 54px 24px 0;font-size:16px;line-height:1.6;color:#605b56}
.faq-answer strong{font-weight:600;color:#282725}
@media(max-width:1100px){.faq-layout{gap:36px}.faq-block h2{font-size:42px}}
@media(max-width:900px){.faq-layout{grid-template-columns:1fr;gap:28px}.faq-block h2.section-title{font-size:clamp(28px,7.3vw,38px)}}
@media(max-width:767px){.faq-block{padding:40px 0}.faq-layout{margin-top:28px}.faq-item summary{padding:20px 0;gap:16px;font-size:17px}.faq-answer{padding:0 0 20px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.faq-item summary,.faq-toggle,.faq-toggle::after{transition:none}}

/* Более плотный ритм вопросов на десктопе. */
@media(min-width:901px){
 .faq-list{border-top:0}
 .faq-item summary{padding:16px 0}
 .faq-item:first-child summary{padding-top:8px}
 .faq-answer{padding-bottom:20px}
}

/* Финальный шаг: черновик сообщения в Telegram. */
.occasions-item{text-decoration:none;color:inherit}.occasions-item>figure{margin:0}
.occasions-item:focus-visible{outline:2px solid #d65849;outline-offset:5px}
.contact-block{padding:64px 0 70px;background:var(--section-graphite);color:#f7f5f0}
.contact-block :is(h2,p){margin:0}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact-block .section-kicker{color:#b8baba}.contact-block .section-kicker>span{color:#ff7f6e}
.contact-block h2{font:600 48px/1.15 var(--font);letter-spacing:-.02em;margin:40px 0 24px}
.contact-block h2 span{color:#ff7f6e}
.contact-intro>p:not(.section-kicker){font-size:18px;line-height:1.6;color:#d0d0cd;max-width:510px}
.contact-intro .contact-note{margin-top:24px;color:#a9a6a5}
.contact-form{padding:30px;border:1px solid #6a636c;border-radius:22px;background:#3e3b42;display:grid;gap:22px}
.contact-field{display:grid;gap:9px;align-content:start}.contact-field>label:first-child{font-size:16px;font-weight:500}
:is(.contact-field>input,.contact-date-input>input){width:100%;min-width:0;min-height:48px;border:1px solid #857e88;background:#2e2b30;color:#f7f5f0;border-radius:9px;padding:12px 14px;font:400 16px/1.4 var(--font);color-scheme:dark}
.contact-date-input{position:relative;display:block;min-width:0}
.contact-date-input>input{padding-right:50px;appearance:none;-webkit-appearance:none}
.contact-date-input>input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:24px;height:24px}
.contact-calendar-icon{position:absolute;right:16px;top:50%;width:20px;height:20px;transform:translateY(-50%);pointer-events:none;color:#e5dfdc}
.contact-date-input>input:disabled+.contact-calendar-icon{opacity:.45}
.contact-field>input::placeholder{color:#c4bec6}.contact-field>input:disabled{opacity:.45}
.contact-field input:focus-visible{outline:2px solid #ff9989;outline-offset:3px}
.contact-field small{font-size:13px;color:#b8b3b2}
.contact-checkbox{display:flex;align-items:center;gap:9px;font-size:14px;line-height:1.4;cursor:pointer}.contact-checkbox input{width:18px;height:18px;accent-color:#ff7f6e}.contact-context{display:flex;flex-wrap:wrap;gap:8px}.contact-context[hidden]{display:none}
.contact-context button{padding:7px 10px;border:1px solid #68524d;background:transparent;color:#ffb1a5;border-radius:20px;font:400 13px/1.4 var(--font);cursor:pointer}
.contact-context button:focus-visible{outline:2px solid #ff9989;outline-offset:3px}
.contact-preview{border-top:1px solid #5c565e;padding-top:18px;font-size:14px;line-height:1.5;color:#c8c2c4}
.contact-preview strong{font-weight:500;color:#e5dfdc}.contact-preview p{margin-top:6px;overflow-wrap:anywhere}
.contact-submit.button{width:100%;min-height:57px;white-space:normal;justify-content:space-between;gap:14px;padding:14px 18px;background:#ff806f;color:#24201f;border:0;border-radius:11px;box-shadow:0 2px 0 #b75245;font:500 16px/1.35 var(--font);transition:background .2s,transform .2s}
.contact-submit.button:hover{background:#ff9989;transform:translateY(-2px)}.contact-submit.button:focus-visible{outline:3px solid #ffb1a5;outline-offset:5px}
.contact-submit .icon{flex:none;width:24px;height:24px}
.contact-form .contact-disclaimer{font-size:13px;line-height:1.5;color:#b8b3b2}
@media(max-width:1100px){.contact-layout{gap:36px}.contact-block h2{font-size:42px}}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:30px}.contact-block h2.section-title{font-size:clamp(28px,7.3vw,38px)}.contact-intro>p:not(.section-kicker){max-width:650px}}
@media(max-width:767px){.contact-block{padding:40px 0}.contact-block h2{margin:28px 0 24px}.contact-intro>p:not(.section-kicker){font-size:16px}.contact-form{padding:20px;gap:20px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.contact-submit.button{transition:none}.contact-submit.button:hover{transform:none}}

.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:36px}
.contact-direct a{display:flex;align-items:center;gap:12px;padding:16px 14px;border:1px solid #454044;border-radius:12px;color:#f7f5f0;text-decoration:none;font-size:15px;line-height:1.4;transition:color .2s,border-color .2s,background .2s}
.contact-direct small{display:block;margin-top:4px;color:#b8b3b2;font-size:12px;font-weight:400}
.contact-direct .icon{width:24px;height:24px;flex:none;color:#ff9989}.contact-brand-icon{font-size:18px;font-weight:700;color:#ff9989}
.contact-direct a>span:last-child{margin-left:auto;color:#ff9989}
.contact-direct a:is(:hover,:focus-visible){color:#ffb1a5;border-color:#ff9989;background:#ffffff05}
.contact-direct a:focus-visible{outline:2px solid #ffb1a5;outline-offset:4px}
@media(max-width:1100px) and (min-width:901px){.contact-direct{grid-template-columns:1fr}}
@media(max-width:600px){.contact-direct{grid-template-columns:1fr;margin-top:28px}}
@media(prefers-reduced-motion:reduce){.contact-direct a{transition:none}}

.contact-field>select{width:100%;min-width:0;min-height:48px;border:1px solid #857e88;background:#2e2b30;color:#f7f5f0;border-radius:9px;padding:12px 14px;font:400 16px/1.4 var(--font);color-scheme:dark}
.contact-field>select:focus-visible{outline:2px solid #ff9989;outline-offset:3px}
.contact-submit.button{width:auto;justify-self:start;min-height:48px;padding:12px 16px;font-size:15px;gap:16px}
.contact-submit .icon{width:20px;height:20px}
@media(min-width:601px){.contact-form{grid-template-columns:1fr 1fr;gap:20px}.contact-form>.contact-field:first-child,.contact-context,.contact-preview,.contact-submit,.contact-disclaimer,.contact-form>noscript{grid-column:1/-1}.contact-form>.contact-field:nth-child(4){grid-column:1/-1}}

.contact-date-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.contact-date-heading>label:first-child{font-size:16px;font-weight:500}
.contact-date-heading .contact-checkbox{font-size:13px;gap:7px;color:#c7c1c0;white-space:nowrap}
.contact-checkbox input{appearance:none;display:grid;place-content:center;margin:0;flex:none;width:18px;height:18px;border:1px solid #948d98;border-radius:5px;background:#2e2b30;transition:background-color .2s,border-color .2s}
.contact-checkbox input::before{content:'';width:9px;height:5px;border-left:2px solid #24201f;border-bottom:2px solid #24201f;transform:translateY(-1px) rotate(-45deg);opacity:0}
.contact-checkbox input:checked{background:#ff9989;border-color:#ff9989}
.contact-checkbox input:checked::before{opacity:1}
.contact-checkbox:hover input{border-color:#ff9989}
:is(.contact-field>input,.contact-date-input>input):disabled{opacity:1;background:#252328;color:#a29ba0;border-color:#5c5661;cursor:not-allowed}
@media(max-width:400px){.contact-date-heading>label:first-child{font-size:14px}.contact-date-heading .contact-checkbox{font-size:12px;gap:5px}}
@media(max-width:350px){.contact-date-heading{flex-wrap:wrap;gap:10px}}
@media(prefers-reduced-motion:reduce){.contact-checkbox input{transition:none}}

.contact-intro .contact-direct-heading{margin-top:32px;font-size:16px;line-height:1.5;color:#b8b3b2}
.contact-direct{display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:18px}
.contact-direct a{padding:6px 0;border:0;border-radius:0;gap:9px;min-height:40px}
.contact-direct a:is(:hover,:focus-visible){background:none}
.contact-direct a>span:last-child{margin-left:2px}

.contact-field>select{appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c7c1c0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;text-overflow:ellipsis}
.contact-field>.contact-city-extra[hidden]{display:none}
.contact-field>label.contact-city-extra{font-size:13px;color:#b8b3b2}
@media(min-width:901px){
 .contact-date-field{grid-template-columns:minmax(0,1fr) auto;column-gap:20px}
 .contact-date-heading{display:contents}
 .contact-date-heading>label:first-child{grid-column:1/-1;grid-row:1}
 .contact-date-heading>.contact-checkbox{grid-column:2;grid-row:2;align-self:center}
 .contact-date-field>.contact-date-input{grid-column:1;grid-row:2}
}

.contact-direct{align-items:center;gap:4px 10px;margin-top:10px}
.contact-direct a{font-weight:600;min-height:40px}
.contact-direct>span{color:#a9a6a5}

/* Подвал: навигация и контакты без повторного призыва к заявке. */
.site-footer{background:var(--section-graphite);color:#d0cdca;border-top:1px solid #3a3438;padding:44px 0 24px}
.site-footer :is(p,h2,ul){margin:0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;padding-bottom:36px}
.site-footer a{color:inherit;text-decoration:none;transition:color .2s ease}
.site-footer a:hover{color:#ff9989}.site-footer a:focus-visible{outline:2px solid #ff9989;outline-offset:5px;border-radius:2px}
.footer-brand-name{display:inline-block;font-size:28px;font-weight:600;line-height:1.2;color:#f7f5f0!important;letter-spacing:-.02em}
.footer-brand-name span{font-size:17px;font-weight:400;color:#aaa5a6;letter-spacing:0}
.footer-brand>p{max-width:350px;font-size:14px;line-height:1.6;margin-top:18px}
.footer-brand .footer-region{margin-top:12px;font-size:13px;color:#a8a2a3}
.footer-nav,.footer-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:14px;line-height:1.4}
.site-footer h2{font:500 12px/1.4 var(--font);letter-spacing:.08em;text-transform:uppercase;color:#a8a2a3;margin-bottom:6px}
.footer-phone{font-size:19px;font-weight:600;color:#f7f5f0!important;white-space:nowrap}
.footer-contacts a span{display:inline-block;margin-left:4px;color:#a8a2a3}
.footer-contacts a:is(:hover,:focus-visible) span{color:#ff9989}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:start;gap:14px 24px;border-top:1px solid #3a3438;padding-top:22px;font-size:12px;line-height:1.5;color:#aaa3a5}
.footer-bottom>p:not(.footer-note){white-space:nowrap}.footer-legal{display:flex;flex-wrap:wrap;gap:10px 24px;margin-left:auto!important;list-style:none;padding:0}
.footer-note{width:100%;margin:0;font-size:12px;line-height:1.5;color:#aaa3a5;white-space:normal;font-style:italic;font-synthesis:style}
.footer-note sup{line-height:0}
.footer-contacts sup,.mobile-menu sup,.team-social-links sup{line-height:0}
sup.ig-star{line-height:0}
@media(max-width:900px){.footer-grid{gap:30px;grid-template-columns:1.2fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand>p{max-width:500px}.footer-bottom{flex-direction:column;gap:14px}.footer-legal{margin-left:0!important}}
@media(max-width:500px){.site-footer{padding:32px 0 24px}.footer-grid{gap:28px 18px}.footer-phone{font-size:16px}.footer-nav,.footer-contacts{font-size:13px}.footer-legal{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){.site-footer a,.footer-contacts a span{transition:none}}

@media(max-width:374px){.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}

.footer-brand-name .brand-mark{width:80px}
.footer-brand-name .brand-logo{display:block}

/* Галерея поводов: одна плоская карточка, последовательное перелистывание альбомов. */
.occasion-gallery{min-width:0}
.occasion-gallery [hidden]{display:none!important}
.occasion-tabs{position:relative;display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px;margin-bottom:12px;scrollbar-width:none;--tab-fade-left:0px;--tab-fade-right:0px}
.occasion-tabs::-webkit-scrollbar{display:none}
.occasion-tabs.has-hidden-left{--tab-fade-left:36px}
.occasion-tabs.has-hidden-right{--tab-fade-right:44px}
.occasion-tabs:is(.has-hidden-left,.has-hidden-right){mask-image:linear-gradient(to right,transparent,#000 var(--tab-fade-left),#000 calc(100% - var(--tab-fade-right)),transparent)}
.occasion-tabs button{flex:1 0 auto;padding:12px 20px;border:1px solid #e8dfd6;border-radius:100px;background:transparent;color:#605b56;font:400 14px/1.4 var(--font);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.occasion-tabs button[aria-selected="true"]{background:#d65849;border-color:#d65849;color:#fff}
.occasion-panel{padding:16px;border:1px solid #e8dfd6;border-radius:20px;background:#fffdfa}
.occasion-profile{display:flex;align-items:center;gap:12px;padding:0 4px 14px}
.occasion-avatar{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#171719}
.occasion-avatar img{display:block;width:33px;height:auto}
.occasion-profile strong{font-size:15px;font-weight:600}
.occasion-profile p{color:#827b75;font-size:13px;line-height:1.5}
.occasion-content{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px}
.occasion-stage{position:relative;min-width:0;align-self:stretch;min-height:360px;background:#242427;border-radius:13px;overflow:hidden;touch-action:pan-y pinch-zoom;isolation:isolate}
.occasion-main-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none}
.occasion-stage::before{content:'';position:absolute;inset:0 0 55%;background:linear-gradient(#0007,transparent);pointer-events:none;z-index:1}
.occasion-photo-label{position:absolute;top:18px;left:22px;max-width:75%;z-index:2;color:#fffaf3;font:400 36px/1.05 Caveat,cursive;transform:rotate(-4deg);transform-origin:left center;text-shadow:0 2px 6px #0009;pointer-events:none}
.occasion-stage::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none;z-index:1}
.occasion-prev,.occasion-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:40px;height:40px;padding:9px;border:1px solid #e8dfd6;border-radius:50%;background:#fffdfa;color:#282725;cursor:pointer;transition:background-color .2s,color .2s}
.occasion-prev{left:14px}.occasion-next{right:14px}.occasion-stage svg{width:20px;height:20px}
.occasion-counter{position:absolute;left:16px;bottom:16px;color:#fff;font-size:13px;z-index:2;font-variant-numeric:tabular-nums}
.occasion-dots{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);display:flex;z-index:2}
.occasion-dots button{display:grid;place-items:center;width:28px;height:40px;background:none;border:0;padding:0;cursor:pointer}
.occasion-dots button::after{content:'';width:8px;height:8px;border:1.5px solid #fff;border-radius:50%;background:#0003;transition:background-color .2s}
.occasion-dots button[aria-pressed="true"]::after{background:#fff}
.occasion-copy{position:relative;display:flex;flex-direction:column;gap:16px;padding:6px 4px 4px 0;min-width:0}
.occasion-copy .occasion-title{font:600 32px/1.16 var(--font);letter-spacing:-.025em}
.occasion-description{font-size:18px;line-height:1.5;color:#605b56}
.occasion-browse{margin-top:auto;padding-top:18px;border-top:1px solid #eee5da}
.occasion-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;font:400 22px/1.2 Caveat,cursive;color:#605b56}
.occasion-hint span{font:400 24px/1 var(--font)}
.occasion-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.occasion-thumbs button{min-width:0;aspect-ratio:1/1.06;overflow:hidden;border:2px solid transparent;border-radius:9px;padding:2px;background:none;cursor:pointer;transition:border-color .2s}
.occasion-thumbs img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px}
.occasion-thumbs button[aria-pressed="true"]{border-color:#d65849}
.occasion-copy-footer{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;font-size:12px;color:#827b75}
.occasion-contact{color:#c34a3d;text-decoration:none;font-weight:500;font-size:13px}.occasion-contact span{display:inline-block;margin-left:5px}
.occasion-image-error{position:absolute;inset:30% 18%;color:#fff;text-align:center;font-size:16px;line-height:1.5}
.occasion-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.occasion-gallery :is(button,a,.occasion-stage):focus-visible{outline:2px solid #d65849;outline-offset:3px}
.occasion-stage button:focus-visible{outline-color:#fff;outline-offset:-3px}
@media(hover:hover){.occasion-tabs button:not([aria-selected="true"]):hover{background:#f6eee7;border-color:#d65849}.occasion-prev:hover,.occasion-next:hover{background:#d65849;border-color:#d65849;color:white}.occasion-thumbs button:hover{border-color:#d65849}.occasion-contact:hover{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:1100px){.occasion-content{gap:22px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.occasion-copy .occasion-title{font-size:28px}.occasion-description{font-size:16px}.occasion-tabs button{padding:11px 17px}.occasion-thumbs{gap:6px}}
@media(max-width:767px){.occasion-panel{padding:12px;border-radius:16px}.occasion-content{grid-template-columns:1fr;gap:20px}.occasion-stage{aspect-ratio:4/3;min-height:0}.occasion-copy{gap:12px;padding:0 2px 4px}.occasion-copy .occasion-title{font-size:26px}.occasion-tabs{margin-bottom:10px}.occasion-tabs button{flex:none;font-size:14px;padding:11px 18px}.occasion-browse{padding-top:14px;margin-top:2px}.occasion-thumbs{gap:10px;margin-top:12px}.occasion-thumbs button{aspect-ratio:4/3}.occasion-hint{font-size:21px}.occasion-copy-footer{gap:10px}.occasion-prev{left:10px}.occasion-next{right:10px}.occasion-profile{padding-bottom:12px}.occasion-avatar{width:38px;height:38px}.occasion-avatar img{width:29px}.occasion-counter{bottom:15px;left:12px}}
@media(prefers-reduced-motion:reduce){.occasion-gallery *{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:767px){.occasion-content{gap:16px}.occasion-browse{display:none}.occasion-photo-label{top:16px;left:16px;font-size:30px;max-width:78%}}
@media(max-width:767px){.occasion-dots{left:auto;right:8px;transform:none}.occasion-dots button{width:22px}}

/* Одна система движения для кнопок: вперёд →, внешний переход ↗. */
:is(.collage-page,.simple-page) .hero-actions>.button-contact{
  transition:background-color .2s ease,border-color .2s ease;
}
:is(.collage-page,.simple-page) .hero-actions>.button-contact:is(:hover,:focus-visible){
  border-color:var(--green);background:var(--theme-surface);
}
.contact-arrow{display:inline-block}
/* Ненавязчивый следующий шаг после информационного блока. */
.section-next-link{display:inline-flex;align-items:center;gap:12px;max-width:100%;min-height:44px;margin-top:20px;padding:8px 0;color:#a74235;font:500 16px/1.4 var(--font);text-decoration:none;text-underline-offset:5px}
.section-next-link>.icon{width:22px;height:22px;flex:none}
.section-next-link-light{color:#ffb2a1}
.section-next-link:is(:hover,:focus-visible){text-decoration:underline}
.section-next-link:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:3px}
#program-3-hours{scroll-margin-top:100px}
.contact-context{display:flex;flex-wrap:wrap;gap:8px}
.contact-context[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){
  :is(.hero-actions>.button-primary,.pricing-action,.contact-submit.button,.section-next-link)>.icon,
  .occasion-contact>span,.mobile-menu-arrow,
  .button-contact>.icon,.contact-arrow,.header-contact-max>span[aria-hidden],
  .team-social-arrow,.contact-direct a>span:last-child,
  .footer-contacts a span,.mobile-menu-contacts a>span[aria-hidden]{
    transition:transform .2s ease;
  }
  .team-social-arrow{transition:transform .2s ease,opacity .2s ease}
  :is(.hero-actions>.button-primary,.pricing-action,.contact-submit.button,.section-next-link):is(:hover,:focus-visible)>.icon,
  .occasion-contact:is(:hover,:focus-visible)>span,
  .mobile-menu-nav a:is(:hover,:focus-visible) .mobile-menu-arrow{transform:translateX(4px)}
  .button-contact:is(:hover,:focus-visible)>.icon,
  .button-contact:is(:hover,:focus-visible) .contact-arrow,
  .header-contact-max:is(:hover,:focus-visible)>span[aria-hidden],
  .team-social-link:is(:hover,:focus-visible) .team-social-arrow,
  .contact-direct a:is(:hover,:focus-visible)>span:last-child,
  .footer-contacts a:is(:hover,:focus-visible) span,
  .mobile-menu-contacts a:is(:hover,:focus-visible)>span[aria-hidden]{
    transform:translate(3px,-3px);
  }
}

/* Компактная связь в MAX: одна подсказка и прямой переход в мессенджер. */
.chat-widget{position:fixed;right:28px;bottom:max(24px,env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--font)}
.chat-widget[hidden],.chat-widget-prompt[hidden],body:has(dialog[open]) .chat-widget{display:none}
.chat-widget-prompt{position:relative;display:flex;align-items:center;gap:9px;max-width:290px;padding:16px 50px 16px 20px;border:1px solid #e9e1dc;border-radius:20px;background:#fffdf9;color:#282624;box-shadow:0 8px 28px #0002}
.chat-widget-party{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none;font-size:32px;line-height:1}
.chat-widget-prompt::after{content:"";position:absolute;right:32px;bottom:-7px;width:12px;height:12px;background:#fffdf9;transform:rotate(45deg);border-right:1px solid #e9e1dc;border-bottom:1px solid #e9e1dc}
.chat-widget-prompt p{margin:0;font-size:15px;line-height:1.5;font-weight:500;text-align:left}
.chat-widget-dismiss{position:absolute;top:-4px;right:2px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:#69635e;cursor:pointer}
.chat-widget-dismiss>.icon{width:16px;height:16px}
.chat-widget-link{display:flex;align-items:center;gap:12px;min-height:54px;padding:12px 20px;border:1px solid #ffb29e;border-radius:16px;background:#ff9b85;color:#25201e;text-decoration:none;font-size:16px;font-weight:600;box-shadow:0 6px 24px #0003,0 0 22px 4px #ff9b8555}
.chat-widget-link>.icon{width:24px;height:24px}
.chat-widget-arrow{display:inline-block;min-width:18px;text-align:center}
.chat-widget-link:hover{background:#ffb09d}
.chat-widget :is(a,button):focus-visible{outline:3px solid #a74235;outline-offset:4px}
@media(prefers-reduced-motion:no-preference){
  .chat-widget-prompt{transform-origin:80% 100%;animation:chat-levitate 5.2s ease-in-out infinite}
  .chat-widget-link{animation:chat-wave 3.2s ease-out infinite}
  .chat-widget-arrow{animation:chat-arrow-forward 3.2s ease-in-out infinite}
  .chat-widget-link:is(:hover,:focus-visible) .chat-widget-arrow{animation:none;transform:translateX(5px)}
  @keyframes chat-levitate{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-6px) rotate(.4deg)}}
  @keyframes chat-wave{
    0%,5%,22%,26%,44%,100%{box-shadow:0 6px 24px #0003,0 0 22px 4px #ff9b8555,0 0 0 0 #ff9b8500}
    7%,28%{box-shadow:0 6px 24px #0003,0 0 22px 4px #ff9b8555,0 0 0 0 #ff9b8577}
    19%,40%{box-shadow:0 6px 24px #0003,0 0 22px 4px #ff9b8555,0 0 0 18px #ff9b8500}
  }
  @keyframes chat-arrow-forward{0%,6%,21%,27%,43%,100%{transform:translateX(0)}13%,34%{transform:translateX(7px)}}
}
@media(max-width:600px){.chat-widget{right:16px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 68px));gap:10px}.chat-widget-prompt{padding:10px 48px 10px 14px;border-radius:16px}.chat-widget-prompt p{font-size:14px}.chat-widget-dismiss{top:-7px}.chat-widget-link{min-height:48px;padding:10px 16px;font-size:15px;border-radius:14px}}
@media(max-width:600px) and (max-height:500px){.chat-widget{bottom:max(16px,env(safe-area-inset-bottom))}}
/* Переходы к страницам направлений и подтверждённые внешние профили. */
.direction-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.direction-links a,.profile-link{display:inline-block;padding:10px 14px;border:1px solid currentColor;border-radius:10px;color:inherit;text-decoration:none;font-size:14px;line-height:1.4}
.direction-links a:hover,.profile-link:hover{text-decoration:underline;text-underline-offset:4px}
.direction-links a:focus-visible,.profile-link:focus-visible{outline:3px solid #ff7f6e;outline-offset:5px}

/* Сценарные появления блоков. Класс reveal-ready ставит встроенный скрипт в <head>
   (вход первого экрана работает на чистом CSS), reveal-armed — js/reveal.js.
   Без JavaScript ни один класс не выставляется и всё содержимое видно сразу. */

/* Скрытое состояние существует только при включённом скрипте. */
html.reveal-armed [data-reveal]:not(.is-revealed):not(.is-revealed-instant){opacity:0}
/* Седьмой блок: контейнер не двигается — прячется только его боковая линия. */
html.reveal-armed [data-reveal="venue-line"]:not(.is-revealed):not(.is-revealed-instant){opacity:1;border-left-color:transparent}
@media (prefers-reduced-motion: reduce){
  html.reveal-armed [data-reveal],
  html.reveal-ready [data-load],
  html.reveal-ready .occasion-list .occasion-chip{opacity:1 !important;animation:none !important}
}
@media print{
  html.reveal-armed [data-reveal],
  html.reveal-ready [data-load],
  html.reveal-ready .occasion-list .occasion-chip{opacity:1 !important;animation:none !important}
}

@media (prefers-reduced-motion: no-preference){
  /* Десктопный темп: задержки ×0.75, длительности короче; мобильный блок
     ниже ускоряет сильнее (×0.6). */
  html.reveal-ready,html.reveal-armed{--reveal-rate:.75}

  /* ── Первый экран: короткий вход при открытии страницы ───────────────── */
  html.reveal-ready [data-load]{
    animation:reveal-up .75s cubic-bezier(.22,.61,.21,1) backwards;
    animation-delay:calc(100ms + var(--load-i,0) * 90ms * var(--reveal-rate,1));
  }
  html.reveal-ready h1 [data-load]{animation-duration:.7s}
  html.reveal-ready .hero-visual[data-load]{
    animation:reveal-settle 1.05s cubic-bezier(.22,.61,.21,1) backwards;
    animation-delay:calc(100ms + var(--load-i,0) * 90ms * var(--reveal-rate,1));
  }
  /* Поводы всплывают по одному внутри общей волны. */
  html.reveal-ready .occasion-list .occasion-chip{
    animation:reveal-pop .6s cubic-bezier(.34,1.56,.64,1) backwards;
    animation-delay:calc(100ms + var(--load-i,0) * 90ms * var(--reveal-rate,1) + var(--chip-i,0) * 50ms * var(--reveal-rate,1));
  }
  html.reveal-ready .occasion-list li:nth-child(2){--chip-i:1}
  html.reveal-ready .occasion-list li:nth-child(3){--chip-i:2}
  html.reveal-ready .occasion-list li:nth-child(4){--chip-i:3}
  html.reveal-ready .occasion-list li:nth-child(5){--chip-i:4}
  html.reveal-ready .occasion-list li:nth-child(6){--chip-i:5}
  html.reveal-ready .occasion-list li:nth-child(7){--chip-i:6}
  html.reveal-ready .occasion-list li:nth-child(8){--chip-i:7}

  /* ── Прокручиваемые блоки: варианты эффектов ─────────────────────────── */
  html.reveal-armed [data-reveal].is-revealed{
    animation:reveal-up .7s cubic-bezier(.22,.61,.21,1) backwards;
    animation-delay:calc(var(--reveal-i,0) * var(--reveal-step,140ms) * var(--reveal-rate,1));
  }
  html.reveal-armed [data-reveal="fade"].is-revealed{animation-name:reveal-fade;animation-duration:.65s}
  html.reveal-armed [data-reveal="left"].is-revealed{animation-name:reveal-left}
  html.reveal-armed [data-reveal="pop"].is-revealed{animation-name:reveal-pop;animation-duration:.55s;animation-timing-function:cubic-bezier(.34,1.56,.64,1)}
  html.reveal-armed [data-reveal="stamp"].is-revealed{animation-name:reveal-stamp;animation-duration:.95s;animation-timing-function:cubic-bezier(.2,1.2,.35,1)}
  html.reveal-armed [data-reveal="hand"].is-revealed{animation-name:reveal-hand;animation-duration:.75s}
  html.reveal-armed [data-reveal="wipe"].is-revealed{animation-name:reveal-wipe;animation-duration:.85s}
  html.reveal-armed [data-reveal="settle"].is-revealed{animation-name:reveal-settle;animation-duration:1s}
  html.reveal-armed [data-reveal="print"].is-revealed{animation-name:reveal-print;animation-duration:.9s}
  html.reveal-armed [data-reveal="reel"].is-revealed{animation-name:reveal-reel;animation-duration:.9s}
  html.reveal-armed .pricing-card-featured.is-revealed{animation-name:reveal-featured;animation-duration:.85s}
  /* DJ: анимируется сама картинка, а не контейнер — прозрачность на figure
     создаёт группу композиции, и screen-смешение с фоном секции временно
     теряется, показывая тёмный прямоугольник. */
  html.reveal-armed [data-reveal="dj"].is-revealed{animation:none}
  html.reveal-armed .atmosphere-dj.is-revealed>img{
    animation:reveal-fade .8s backwards;
    animation-delay:calc(var(--reveal-i,0) * var(--reveal-step,140ms) * var(--reveal-rate,1));
  }
  /* Седьмой блок: контейнер стоит на месте, дети выходят сами. */
  html.reveal-armed [data-reveal="venue-line"].is-revealed{animation:none}

  /* Шаг каскада каждой группы. */
  html.reveal-armed .games-frames{--reveal-step:150ms}
  html.reveal-armed .rhythm-timeline{--reveal-step:75ms}
  html.reveal-armed .atmosphere-copy{--reveal-step:110ms}
  html.reveal-armed .occasion-tabs{--reveal-step:50ms}
  html.reveal-armed .occasions-more-list{--reveal-step:80ms}
  html.reveal-armed .pricing-grid{--reveal-step:160ms}
  html.reveal-armed .pricing-options{--reveal-step:130ms}
  html.reveal-armed .venue-details{--reveal-step:180ms}
  html.reveal-armed .team-copy{--reveal-step:100ms}
  html.reveal-armed .team-social-links{--reveal-step:90ms}
  html.reveal-armed .faq-list{--reveal-step:75ms}

  /* ── 02 «За игровым столом»: фото доезжают кадром, рукописная пометка
       проявляется, стрелка дорисовывается штрихом ────────────────────────── */
  html.reveal-armed .games-frame.is-revealed .games-photo img{
    animation:reveal-photo 1.2s cubic-bezier(.22,.61,.21,1) backwards;
    animation-delay:calc(var(--reveal-i,0) * 150ms * var(--reveal-rate,1));
  }
  html.reveal-armed .games-frame.is-revealed .games-photo-note{
    animation:reveal-fade .55s backwards;
    animation-delay:calc(var(--reveal-i,0) * 150ms * var(--reveal-rate,1) + 350ms);
  }
  html.reveal-armed .games-frame.is-revealed .games-photo-note svg path{
    stroke-dasharray:1;stroke-dashoffset:1;
    animation:reveal-draw .6s cubic-bezier(.4,0,.2,1) forwards;
    animation-delay:calc(var(--reveal-i,0) * 150ms * var(--reveal-rate,1) + 520ms);
  }

  /* ── 03 «Ритм»: сегмент линии тайминга прорисовывается перед пунктом,
       метка времени отщёлкивает точкой ───────────────────────────────────── */
  html.reveal-armed .rhythm-timeline li::before{transform-origin:top}
  html.reveal-armed .rhythm-timeline li.is-revealed::before{
    animation:reveal-line .55s cubic-bezier(.4,0,.2,1) backwards;
    animation-delay:calc(var(--reveal-i,0) * 75ms * var(--reveal-rate,1));
  }
  html.reveal-armed .rhythm-timeline li.is-revealed .rhythm-time::after{
    animation:reveal-pop .5s cubic-bezier(.34,1.56,.64,1) backwards;
    animation-delay:calc(var(--reveal-i,0) * 75ms * var(--reveal-rate,1) + 160ms);
  }

  /* ── 04 «Атмосфера»: подписки-плашки проявляются после своих кадров ──── */
  html.reveal-armed .atmosphere-media .is-revealed .atmosphere-label{
    animation:reveal-pop .55s cubic-bezier(.34,1.56,.64,1) backwards;
    animation-delay:calc(var(--reveal-i,0) * 200ms * var(--reveal-rate,1) + 280ms);
  }

  /* ── 06 «Программы»: бейдж «Хит» падает сверху после выхода карточки ─── */
  html.reveal-armed .pricing-card-featured.is-revealed .pricing-hit{
    animation:reveal-hit .6s cubic-bezier(.34,1.56,.64,1) backwards;
    animation-delay:380ms;
  }

  /* ── 07 «Организация»: боковая линия прорисовывается сверху вниз ─────── */
  @media (min-width:768px){
    html.reveal-armed .venue-details{position:relative}
    html.reveal-armed [data-reveal="venue-line"]::before{
      content:'';position:absolute;left:0;top:0;bottom:0;width:1px;
      background:#946e5d77;transform-origin:top;
    }
    html.reveal-armed [data-reveal="venue-line"]:not(.is-revealed):not(.is-revealed-instant)::before{scale:1 0}
    html.reveal-armed [data-reveal="venue-line"].is-revealed::before{
      animation:reveal-line-v .9s cubic-bezier(.4,0,.2,1) forwards;
    }
  }

  /* На мобильном темп живее: задержки короче на 40%, длительности меньше. */
  @media(max-width:767px){
    html.reveal-ready,html.reveal-armed{--reveal-rate:.6}
    /* Телефон входит движением без задержки видимости крупного изображения. */
    html.reveal-ready .hero-visual[data-load]{animation-name:reveal-settle-mobile}
    html.reveal-ready [data-load]{animation-duration:.7s}
    html.reveal-ready h1 [data-load]{animation-duration:.65s}
    html.reveal-ready .hero-visual[data-load]{animation-duration:1s}
    html.reveal-ready .occasion-list .occasion-chip{animation-duration:.55s}
    html.reveal-armed [data-reveal].is-revealed{animation-duration:.65s}
    html.reveal-armed [data-reveal="fade"].is-revealed{animation-duration:.6s}
    html.reveal-armed [data-reveal="pop"].is-revealed{animation-duration:.5s}
    html.reveal-armed [data-reveal="stamp"].is-revealed{animation-duration:.9s}
    html.reveal-armed [data-reveal="hand"].is-revealed{animation-duration:.7s}
    html.reveal-armed [data-reveal="wipe"].is-revealed{animation-duration:.8s}
    html.reveal-armed [data-reveal="settle"].is-revealed{animation-duration:.95s}
    html.reveal-armed [data-reveal="print"].is-revealed{animation-duration:.9s}
    html.reveal-armed [data-reveal="reel"].is-revealed{animation-duration:.9s}
    html.reveal-armed .pricing-card-featured.is-revealed{animation-duration:.85s}
    html.reveal-armed .atmosphere-dj.is-revealed>img{animation-duration:.7s}
    html.reveal-armed .games-frame.is-revealed .games-photo img{animation-duration:1.05s}
    html.reveal-armed .games-frame.is-revealed .games-photo-note{animation-duration:.5s;animation-delay:calc(var(--reveal-i,0) * 150ms * var(--reveal-rate,1) + 350ms)}
    html.reveal-armed .games-frame.is-revealed .games-photo-note svg path{animation-duration:.55s;animation-delay:calc(var(--reveal-i,0) * 150ms * var(--reveal-rate,1) + 500ms)}
    html.reveal-armed .rhythm-timeline li.is-revealed::before{animation-duration:.5s}
    html.reveal-armed .rhythm-timeline li.is-revealed .rhythm-time::after{animation-duration:.45s;animation-delay:calc(var(--reveal-i,0) * 75ms * var(--reveal-rate,1) + 150ms)}
    html.reveal-armed .atmosphere-media .is-revealed .atmosphere-label{animation-duration:.5s;animation-delay:calc(var(--reveal-i,0) * 200ms * var(--reveal-rate,1) + 280ms)}
    html.reveal-armed .pricing-card-featured.is-revealed .pricing-hit{animation-duration:.55s;animation-delay:380ms}
    html.reveal-armed [data-reveal="venue-line"].is-revealed::before{animation-duration:.9s}
  }

  /* Ключевые кадры. Индивидуальные translate/rotate/scale не трогают
     существующие transform (наклоны полароида, печать, бейджи). */
  @keyframes reveal-up{from{opacity:0;translate:0 26px}}
  @keyframes reveal-fade{from{opacity:0}}
  @keyframes reveal-left{from{opacity:0;translate:-22px 0}}
  @keyframes reveal-pop{from{opacity:0;scale:.8}}
  @keyframes reveal-stamp{from{opacity:0;scale:1.45;rotate:-14deg}}
  @keyframes reveal-hand{from{opacity:0;rotate:5deg;translate:0 12px}}
  @keyframes reveal-wipe{from{opacity:0;translate:0 20px;clip-path:inset(0 0 100% 0)}to{opacity:1;translate:0 0;clip-path:inset(0 0 -10% 0)}}
  @keyframes reveal-settle{from{opacity:0;scale:1.05;translate:0 10px}}
  @keyframes reveal-settle-mobile{from{scale:1.05;translate:0 10px}}
  @keyframes reveal-print{from{opacity:0;translate:0 30px;rotate:-5deg}}
  @keyframes reveal-reel{from{opacity:0;translate:0 26px;rotate:4deg}}
  @keyframes reveal-featured{from{opacity:0;translate:0 34px;scale:.97}}
  @keyframes reveal-hit{from{opacity:0;translate:0 -14px;scale:.85}}
  @keyframes reveal-photo{from{scale:1.07}}
  @keyframes reveal-line{from{scale:1 0}}
  @keyframes reveal-line-v{to{scale:1 1}}
  @keyframes reveal-draw{to{stroke-dashoffset:0}}
}

/* Мобильный первый экран использует сокращённый темп выше.
   Полное отключение движения действует только по настройке устройства. */

/* Документные стили страниц privacy.html и terms.html.
   Шапка, подвал, тема, шрифты и ширина контента берутся из общего пакета сайта
   (tools/prepare_site.py собирает css/legal.bundle.css из тех же исходников, что и главную).

   Ритм и типографика — по фактическим токенам главной (sections.css / night.css):
   • кикер → заголовок: 40 px десктоп, 28 px мобиль (section-kicker margin-bottom);
   • заголовок: 48 px десктоп, 28 px мобиль, вес 600, интерлиньяж 1.15, трекинг −.02em;
   • текст: 18 px десктоп, 16 px мобиль (--copy-body), кикер 13/12 px;
   • между разделами: шаг соседних секций сайта ~80/72 px, для чтения — 72/48 px. */

.legal-main{
  --copy-body:18px;
  --copy-detail:17px;
  --copy-label:14px;
  --copy-heading-weight:600;
  --copy-heading-leading:1.15;
  --copy-heading-tracking:-.02em;
  --legal-accent:#ff7f6e;
  --legal-measure:680px;
  max-width:760px;
  margin:0 auto;
  padding:96px 24px 112px;
  font-size:var(--copy-body);
  line-height:1.6;
}
@media(max-width:1100px){.legal-main{--copy-body:16px;--copy-detail:16px}}

/* Пропуск к тексту для клавиатуры. */
.skip-link{position:absolute;left:16px;top:-60px;z-index:50;padding:10px 16px;background:var(--theme-selected);border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;transition:top .2s ease}
.skip-link:focus{top:12px}

a{color:var(--green)}
a:is(:hover,:focus-visible){color:var(--accent-hover)}
a:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:2px}

/* Шапка документа: метка-кикер и заголовок в шкале секций главной.
   Селекторы метки и лида усилены классом колонки: иначе их перебивает правило абзаца .legal-main p. */
.legal-main .legal-doc-meta{display:flex;align-items:center;gap:14px;margin:0 0 40px;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#b8baba}
.legal-main .legal-doc-meta::before{content:"";flex:none;width:26px;height:2px;border-radius:2px;background:var(--legal-accent)}
.legal-main h1{margin:0 0 20px;font-size:clamp(30px,4.4vw,48px);font-weight:var(--copy-heading-weight);line-height:var(--copy-heading-leading);letter-spacing:var(--copy-heading-tracking);text-wrap:balance}
.legal-main .legal-summary{margin:0;font-size:var(--copy-body);line-height:1.6;color:var(--muted);max-width:640px}

/* Разделы: заголовок на шаг ниже заголовка страницы, номер — приём кикеров секций. */
.legal-main h2{display:flex;align-items:baseline;gap:16px;margin:72px 0 18px;font-size:clamp(26px,3.2vw,34px);font-weight:var(--copy-heading-weight);line-height:1.2;letter-spacing:var(--copy-heading-tracking);text-wrap:balance;scroll-margin-top:84px}
.legal-main h2 .legal-num{flex:none;font-size:.75em;line-height:inherit;color:var(--legal-accent);font-variant-numeric:tabular-nums}
.legal-main h3{display:flex;align-items:baseline;gap:12px;margin:32px 0 12px;font-size:var(--copy-detail);font-weight:var(--copy-heading-weight);line-height:1.4}
.legal-main h3 .legal-num{flex:none;font-size:var(--copy-label);line-height:inherit;color:var(--legal-accent);font-variant-numeric:tabular-nums}

/* Основной текст: мерная строка около 64 знаков, спокойный ритм абзацев. */
.legal-main p{margin:0 0 16px;max-width:var(--legal-measure)}
.legal-main p:last-child{margin-bottom:0}
.legal-main ul,.legal-main ol{margin:0 0 16px;padding-left:24px;max-width:calc(var(--legal-measure) - 20px)}
.legal-main li{margin:0 0 12px}
.legal-main li:last-child{margin-bottom:0}
.legal-main li::marker{color:var(--legal-accent)}
.legal-main a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(255,127,110,.45)}
.legal-main strong{font-weight:var(--copy-heading-weight)}

/* Сноска о принадлежности Instagram компании Meta: мелкий набат в шкале кикера. */
.legal-main sup{line-height:0}
.legal-footnote{font-size:13px;line-height:1.5;color:var(--muted);margin:-4px 0 16px;max-width:var(--legal-measure);font-style:italic;font-synthesis:style}
.legal-footnote sup{line-height:0}

/* Метка незаполненного значения: заметна в тексте документа до публикации.
   Ставится на заглушку вида [хостинг-провайдер] и удаляется вместе с ней.
   Поиск по файлам: legal-todo. */
.legal-main .legal-todo{display:inline-block;padding:1px 8px;border-radius:6px;background:var(--legal-accent);color:#24201f;font-weight:600}

/* Карточка контактов — поверхность темы, как формы и карточки главной. */
.legal-contacts{margin-top:72px;padding:28px 30px;background:var(--theme-surface);border:1px solid var(--line);border-radius:22px}
.legal-contacts p{margin:0;max-width:none;font-size:var(--copy-detail);line-height:1.55}
.legal-contacts p+p{margin-top:12px}

/* Мобильная шкала — те же токены сайта: кикер 12 px, шаг 28/48, текст 16 px. */
@media(max-width:767px){
  .legal-main{padding:48px 20px 64px;line-height:1.6}
  .legal-main .legal-doc-meta{margin-bottom:28px;font-size:12px;gap:12px}
  .legal-main h1{font-size:30px;margin-bottom:16px}
  .legal-main .legal-summary{font-size:16px}
  .legal-main h2{margin:48px 0 14px;font-size:26px;gap:12px}
  .legal-main h3{margin:26px 0 10px}
  .legal-main p{margin-bottom:14px}
  .legal-main li{margin-bottom:10px}
  .legal-footnote{font-size:12px}
  .legal-contacts{margin-top:48px;padding:20px;border-radius:18px}
}

@media print{body{background:#fff;color:#111}.skip-link,.site-header-band,.site-footer{display:none}.legal-main{max-width:none;padding:0}a{color:inherit;text-decoration:underline}}

