@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/inter-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/inter-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-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;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/jost-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/jost-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;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/jost-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/jost-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;
}

@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/caveat-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/caveat-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;
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/caveat-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/caveat-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{
  --bg:#D4D4D4; --paper:#F0F0EC; --white:#FBFBFB; --ink:#111111;
  --muted:#555555; --text2:#333333;
  --display:'Jost','Futura PT',Futura,sans-serif;
  --body:'Inter','Helvetica Neue',Arial,sans-serif;
  --gutter:32px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.5;overflow-x:hidden}
img{max-width:100%}
a{color:var(--ink)}
main{overflow-x:clip}
.wrap{max-width:1280px;margin:0 auto;padding-inline:var(--gutter)}
.display{font-family:var(--display);font-weight:500;text-transform:uppercase}
.label{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.deco{pointer-events:none;user-select:none}
/* цветы чуть сдвигаются при наведении */
.flower{pointer-events:auto;transition:translate .6s cubic-bezier(.3,1.6,.5,1),rotate .6s cubic-bezier(.3,1.6,.5,1)}
.flower:hover{translate:6px -10px;rotate:5deg}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 32px;border:2px solid var(--ink);text-decoration:none;font-family:var(--display);font-weight:500;font-size:18px;text-transform:uppercase;letter-spacing:.02em;transition:background .15s,color .15s}
.btn--solid{background:var(--ink);color:var(--paper)}
.btn--solid:hover{background:#000}
.btn--line:hover{background:var(--ink);color:var(--paper)}
.btn--sm{min-height:44px;padding:0 20px;font-size:15px}
.btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}

/* topbar */
.topbar{background:var(--ink);color:var(--paper)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px}
.topbar a{color:inherit;text-decoration:none;font-family:var(--display);font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.topbar__home{display:inline-flex;align-items:center;gap:10px}
.topbar__arrow{transition:translate .2s}
.topbar__home:hover .topbar__arrow{translate:-4px 0}
.topbar a:hover span:last-child,.topbar__tickets:hover{text-decoration:underline;text-underline-offset:4px}
.topbar a:focus-visible{outline:2px solid var(--paper);outline-offset:4px}

/* hero */
.hero{padding-top:48px}
.dateline{display:flex;align-items:center;gap:24px}
.dateline__num{font-weight:300;font-size:clamp(44px,8vw,112px);line-height:1;letter-spacing:-.04em;white-space:nowrap}
.rule{flex:1 1 0;min-width:24px;height:2px;background:var(--ink)}
.sheet-wrap{position:relative;max-width:1000px;margin:24px auto 0}
.sheet-tape{position:absolute;top:-44px;left:50%;width:260px;margin-left:-130px;z-index:2}
.sheet{position:relative;background:var(--paper);padding:88px 80px 64px;box-shadow:0 18px 40px rgba(0,0,0,.12);transform:rotate(-.8deg)}
.sheet h1{position:relative;z-index:1;margin:0;font-size:clamp(34px,7.4vw,104px);line-height:.98;letter-spacing:-.01em;max-width:780px}
.sheet__daisy{position:absolute;right:2%;top:22%;width:34%;max-width:380px}
.daisy{display:block;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.daisy img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}
.daisy__tape{position:absolute;inset:0;transform-origin:20% 85%}
.daisy.is-falling{z-index:30;pointer-events:none}
.sheet__delph{position:absolute;right:2%;bottom:6%;width:34%;max-width:360px}
.caption{position:relative;z-index:3;width:min(640px,90%);margin:-8px auto 0;background:var(--white);padding:24px 32px;box-shadow:0 10px 24px rgba(0,0,0,.08);transform:rotate(.4deg)}
.caption p{margin:0;font-size:clamp(17px,2vw,24px);line-height:1.3}
.intro{max-width:640px;margin:48px auto 0;text-align:center}
.intro p{margin:0;font-size:19px}
.actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* facts band */
.facts{margin-top:72px;background:var(--white)}
.facts .wrap{position:relative;padding-block:28px;display:flex;flex-wrap:wrap;gap:16px 48px;align-items:center}
.facts__age{font-weight:300;font-size:56px;line-height:1;letter-spacing:-.03em}
.facts__addr{flex:1 1 360px;font-size:18px;line-height:1.45}
.facts__nums{display:flex;flex-wrap:wrap;gap:16px 40px}
.facts__val{font-family:var(--display);font-weight:500;font-size:22px}

/* section heads */
.head{display:flex;align-items:center;gap:24px}
.head h2,.program__top h2{margin:0;font-size:clamp(34px,5vw,64px);line-height:1}

/* speakers */
.speakers{padding-top:96px;padding-bottom:88px}
.speakers__grid{margin-top:64px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:56px 28px}
.speaker{display:flex;flex-direction:column;gap:20px;margin:0}
.print{position:relative;background:var(--paper);padding:12px 12px 14px;box-shadow:0 12px 28px rgba(0,0,0,.12)}
.print__tape{position:absolute;top:-22px;left:50%;width:120px;margin-left:-60px;z-index:1}
.print__photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.04)}
.print{z-index:2;--r:0deg;transform:rotate(var(--r));transition:translate .35s}
.speaker:nth-child(1) .print{--r:-1.2deg}
.speaker:nth-child(2) .print{--r:1deg}
.speaker:nth-child(3) .print{--r:-.6deg}
.speaker:nth-child(4) .print{--r:1.4deg}
.speaker:nth-child(5) .print{--r:-1deg}
.print__photo{transition:filter .5s}

/* газетные обрывки за фото — появляются при наведении */
.speaker{position:relative;isolation:isolate}
.speaker::before,.speaker::after{position:absolute;z-index:0;width:62%;height:30%;background:#E8E1CF center/cover no-repeat;filter:sepia(.25);box-shadow:0 4px 12px rgba(0,0,0,.14);opacity:0;pointer-events:none;transition:opacity .35s,translate .5s cubic-bezier(.3,1.4,.5,1),rotate .5s cubic-bezier(.3,1.4,.5,1)}
.speaker::before{content:"";top:-16px;left:-12%;rotate:-8deg;clip-path:polygon(0 4%,9% 0,22% 3%,38% 0,55% 2%,71% 0,86% 3%,100% 0,98% 30%,100% 58%,97% 100%,80% 96%,62% 100%,44% 97%,27% 100%,12% 96%,0 100%,2% 64%,0 33%)}
.speaker::after{content:"";top:34%;right:-14%;rotate:6deg;clip-path:polygon(3% 0,20% 3%,41% 0,63% 4%,84% 0,100% 3%,97% 35%,100% 70%,96% 100%,74% 97%,52% 100%,31% 96%,10% 100%,0 96%,3% 60%,0 28%)}
/* у каждого фото свои обрывки газеты */
.speaker:nth-child(1)::before{background-image:url(img/newspaper-1.jpg)}
.speaker:nth-child(1)::after{background-image:url(img/newspaper-2.jpg)}
.speaker:nth-child(2)::before{background-image:url(img/newspaper-3.jpg)}
.speaker:nth-child(2)::after{background-image:url(img/newspaper-4.jpg)}
.speaker:nth-child(3)::before{background-image:url(img/newspaper-5.jpg)}
.speaker:nth-child(3)::after{background-image:url(img/newspaper-6.jpg)}
.speaker:nth-child(4)::before{background-image:url(img/newspaper-7.jpg)}
.speaker:nth-child(4)::after{background-image:url(img/newspaper-8.jpg)}
.speaker:nth-child(5)::before{background-image:url(img/newspaper-9.jpg)}
.speaker:nth-child(5)::after{background-image:url(img/newspaper-10.jpg)}

/* сухой цветок со скотчем за фото; margin-top в % считается от ширины — так цветок встаёт по высоте фото */
.speaker__flower{position:absolute;z-index:1;top:0;width:78%;max-width:none;opacity:0;transition:opacity .35s,translate .55s cubic-bezier(.3,1.4,.5,1)}
.speaker:nth-child(1) .speaker__flower{left:-34%;margin-top:92%;rotate:-14deg}
.speaker:nth-child(2) .speaker__flower{right:-36%;margin-top:4%;rotate:18deg}
.speaker:nth-child(3) .speaker__flower{left:-36%;margin-top:40%;scale:-1 1;rotate:10deg;filter:hue-rotate(-55deg) saturate(.85)}
.speaker:nth-child(4) .speaker__flower{right:-32%;margin-top:94%;scale:-1 1;rotate:-8deg;filter:sepia(.35)}
.speaker:nth-child(5) .speaker__flower{left:-30%;margin-top:70%;rotate:-24deg;filter:hue-rotate(25deg) saturate(.8)}

@media (hover:hover){
  .speaker:hover .print{translate:0 -6px;animation:sway .9s ease-out}
  .speaker:hover .print__photo{filter:grayscale(.2) saturate(.65) sepia(.12) contrast(1.02)}
  .speaker:hover::before{opacity:1;translate:-14px -12px;rotate:-13deg}
  .speaker:hover .speaker__flower{opacity:1}
  .speaker:nth-child(odd):hover .speaker__flower{translate:-26px 8px}
  .speaker:nth-child(even):hover .speaker__flower{translate:26px 8px}
  .speaker:hover::after{opacity:1;translate:14px 8px;rotate:11deg}
}
@keyframes sway{
  20%{transform:rotate(calc(var(--r) + 3deg))}
  40%{transform:rotate(calc(var(--r) - 2deg))}
  60%{transform:rotate(calc(var(--r) + 1.2deg))}
  80%{transform:rotate(calc(var(--r) - .5deg))}
}
.speaker:nth-child(odd) .print__tape{transform:rotate(3deg)}
.speaker:nth-child(even) .print__tape{transform:rotate(-3deg)}
.speaker h3{margin:0;font-size:24px;line-height:1.15}
.speaker p{margin:8px 0 0;color:var(--text2);font-size:15px;line-height:1.45}

/* program */
.program{padding-bottom:40px;scroll-margin-top:24px}
.program__card{position:relative;background:var(--paper);padding:64px 56px;box-shadow:0 18px 40px rgba(0,0,0,.10)}
.program__tape{position:absolute;top:-40px;left:64px;width:220px;transform:rotate(-3deg)}
.program__top{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:end}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--ink);flex:none}
.dot--paid{background:var(--ink)}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:14px}
.list{margin:40px 0 0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.item{display:grid;grid-template-columns:190px minmax(0,1fr) 200px;gap:12px 32px;padding:28px 0;border-bottom:1px solid var(--ink)}
.item:last-child{border-bottom-width:2px}
.item__time{font-weight:300;font-size:30px;line-height:1.1;letter-spacing:-.02em}
.item h3{margin:6px 0 0;font-size:26px;line-height:1.15}
.item__desc{margin:10px 0 0;max-width:640px}
.item__who{margin:10px 0 0;font-size:15px;color:var(--muted)}
.item__meta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.note{margin:24px 0 0;font-size:15px;color:var(--muted)}

/* all day */
.allday{padding-top:64px;padding-bottom:104px}
.allday__card{position:relative;max-width:920px;margin:0 auto;background:var(--white);padding:48px;box-shadow:0 12px 28px rgba(0,0,0,.08);transform:rotate(.5deg)}
.allday__flower{position:absolute;top:-70px;right:-20px;width:240px;transform:rotate(-8deg)}
.allday__grid{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px}
.allday h3{margin:0;font-size:30px;line-height:1.1}
.allday p{margin:12px 0 0}

/* footer */
.footer{background:var(--white)}
.footer .wrap{padding-block:28px 36px;display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center}
.footer p{margin:0;font-size:15px;line-height:1.45}

/* подробнее */
:root{interpolate-size:allow-keywords}
.more{margin-top:14px}
.more summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-family:var(--display);font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--ink);padding-bottom:2px}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:"+";font-size:18px;line-height:1;transition:rotate .25s}
.more[open] summary::after{rotate:45deg}
.more summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.more::details-content{block-size:0;overflow:hidden;transition:block-size .35s,content-visibility .35s allow-discrete}
.more[open]::details-content{block-size:auto}
.more p{margin:12px 0 0;max-width:640px;font-size:16px;color:var(--text2)}

/* регалии ведущих при наведении на имя */
.item__who{position:relative}
.person{position:relative;color:var(--ink);border-bottom:1px dashed currentColor;cursor:help}
.person:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.person__tip{position:absolute;left:0;bottom:calc(100% + 10px);z-index:5;width:max-content;max-width:320px;padding:10px 14px;background:var(--ink);color:var(--paper);font-size:14px;line-height:1.4;box-shadow:0 8px 20px rgba(0,0,0,.18);opacity:0;translate:0 4px;pointer-events:none;transition:opacity .2s,translate .2s}
.person__tip::after{content:"";position:absolute;left:16px;top:100%;border:6px solid transparent;border-top-color:var(--ink)}
.person:hover .person__tip,.person:focus .person__tip{opacity:1;translate:0 0}

/* новые цветы */
.facts__flower{position:absolute;right:3%;top:-74px;width:210px;rotate:10deg;z-index:2}
.head__flower{flex:none;width:190px;margin:-30px 0 -30px -40px;rotate:-6deg}
.program__flower{position:absolute;right:-36px;bottom:-56px;width:230px;scale:-1 1;rotate:14deg;z-index:2}
.allday__btn{margin-top:28px}

/* конструктор открытки */
.maker{padding-top:16px;padding-bottom:104px;scroll-margin-top:24px}
.maker__lead{max-width:680px;margin:20px 0 0;color:var(--text2)}
.maker__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:24px}
.maker__status{min-height:1.5em;margin:12px 0 0;text-align:center;font-size:14px;color:var(--muted)}

.card{position:relative;container-type:inline-size;aspect-ratio:1173/1607;background:url(img/collage/card.webp) center/100% 100% no-repeat;filter:drop-shadow(0 18px 28px rgba(0,0,0,.18));transition:scale .2s}
.card.is-near{scale:1.015}
.card__layer{position:absolute;inset:0;overflow:clip}
.card.is-dragging .card__layer{overflow:visible}
.card__phrase,.card__from{position:absolute;z-index:3;color:#2B2620;font-family:'Caveat',cursive;font-weight:600}
.card__phrase{left:10%;right:10%;top:5%;height:27%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2cqw;padding:0;border:0;background:none;text-align:center;line-height:1.05;cursor:pointer;overflow:hidden}
.card__quote{font-size:8.5cqw}
.card__author{font-size:4.6cqw;line-height:1.3;opacity:.8}
.card__phrase:focus-visible,.card__from input:focus-visible{outline:2px dashed #2B2620;outline-offset:4px}
.card__phrase.is-new{animation:ink .45s ease-out}
@keyframes ink{from{opacity:0;translate:0 6px}}
.card__from{left:11%;right:10%;bottom:6%;display:flex;justify-content:flex-end;align-items:baseline;gap:2.5cqw;font-size:7.5cqw;line-height:1}
.card__from input{width:58%;min-width:0;padding:0 0 2px;border:0;border-bottom:1.5px dashed rgba(43,38,32,.45);background:none;color:inherit;font:inherit;text-align:right}
.card__from input::placeholder{color:rgba(43,38,32,.45)}

.sticker{position:absolute;transform:translate(-50%,-50%) rotate(var(--rot,0deg));cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.22));transition:filter .2s,scale .2s,opacity .2s}
.sticker img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}
.sticker.is-dragging{cursor:grabbing;scale:1.05;filter:drop-shadow(0 14px 14px rgba(0,0,0,.3))}
.sticker.is-stuck{animation:stick .4s cubic-bezier(.3,1.6,.5,1)}
@keyframes stick{0%{scale:1.12}55%{scale:.97}100%{scale:1}}
.sticker.is-gone{opacity:0;scale:.8}
.sticker:focus-visible,.sticker.is-selected{outline:1.5px dashed var(--ink);outline-offset:4px}
.sticker__del,.sticker__rot{position:absolute;display:none;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:var(--ink);color:var(--paper);font-size:16px;line-height:1;cursor:pointer;touch-action:none}
.sticker__del{top:-15px;right:-15px}
.sticker__rot{bottom:-15px;right:-15px;cursor:nwse-resize}
.sticker.is-selected .sticker__del,.sticker.is-selected .sticker__rot{display:grid}

.ghost{position:fixed;z-index:60;pointer-events:none;translate:-50% -50%;rotate:-4deg;filter:drop-shadow(0 14px 16px rgba(0,0,0,.3))}
.ghost img{display:block;width:100%;height:auto}
.ghost.is-fly{transition:left .45s cubic-bezier(.4,0,.2,1),top .45s cubic-bezier(.4,0,.2,1),opacity .45s ease-in}
.ghost.is-back{transition:left .25s,top .25s,opacity .25s,scale .25s;opacity:0;scale:.5}


/* стол: открытка в центре, вокруг кучками лежат все элементы */
.desk{position:relative;margin-top:24px;padding:24px 0;display:flex;justify-content:center;user-select:none;-webkit-user-select:none}
.desk__pile{position:absolute;inset:0;--s:124px}
.maker__stage{position:relative;z-index:5;width:min(420px,100%)}
.desk__item{position:absolute;width:calc(var(--s) * var(--k));padding:0;border:0;background:none;transform:translate(-50%,-50%) rotate(var(--r,0deg));cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;filter:drop-shadow(0 3px 3px rgba(0,0,0,.22));transition:scale .2s,filter .2s}
.desk__item:hover{scale:1.06;filter:drop-shadow(0 10px 10px rgba(0,0,0,.25))}
.desk__item.is-dragging{z-index:50;cursor:grabbing;scale:1.08;filter:drop-shadow(0 18px 18px rgba(0,0,0,.3))}
.desk__item.is-back{animation:back .35s cubic-bezier(.3,1.6,.5,1)}
@keyframes back{from{opacity:0;scale:.7}}
.desk__item:focus-visible{outline:3px solid var(--ink);outline-offset:3px;z-index:40}
.desk__item img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}
.desk__hint{max-width:620px;margin:20px auto 0;text-align:center;font-size:14px;color:var(--muted)}
@media (max-width:1100px){.desk__pile{--s:96px}}

.result{width:min(92vw,460px);max-height:94vh;padding:24px;border:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 60px rgba(0,0,0,.3)}
.result::backdrop{background:rgba(17,17,17,.6)}
.result h3{margin:0 0 16px;font-size:24px}
.result img{display:block;width:100%;height:auto;max-height:calc(94vh - 190px);object-fit:contain}
.result__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.result__actions .btn{flex:1 1 150px;padding:0 16px;white-space:nowrap}

/* sticky mobile CTA */
.mcta{display:none}

/* ---------- tablet ---------- */
@media (max-width:900px){
  .desk{padding-bottom:440px}
  .desk__pile{--s:78px}
}
@media (max-width:1024px){
  .speakers__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .item{grid-template-columns:150px minmax(0,1fr)}
  .item__meta{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 20px}
  .item__time{font-size:26px}
}

/* ---------- mobile ---------- */
@media (max-width:640px){
  :root{--gutter:16px}
  body{font-size:16px;padding-bottom:84px}
  .hero{padding-top:28px}
  .dateline{gap:14px}
  .sheet-wrap{margin-top:36px}
  .sheet-tape{width:150px;margin-left:-75px;top:-26px}
  .sheet{padding:48px 22px 0;transform:rotate(-.6deg)}
  .sheet h1{font-size:clamp(30px,9.6vw,44px)}
  /* flowers move below the title instead of over it */
  .sheet__flowers{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin:16px -8px 0;padding-bottom:20px}
  .sheet__daisy,.sheet__delph{position:static;width:49%;max-width:none}
  .sheet__daisy{position:relative}
  .caption{width:calc(100% - 24px);padding:18px 20px;margin-top:-6px}
  .intro{margin-top:36px;text-align:left}
  .intro p{font-size:17px}
  .actions{justify-content:stretch}
  .actions .btn{flex:1 1 100%}
  .facts{margin-top:48px}
  .facts .wrap{padding-block:24px;gap:16px 28px}
  .facts__age{font-size:44px}
  .facts__addr{flex-basis:100%;order:3;font-size:16px}
  .speakers{padding-top:64px;padding-bottom:64px}
  .speakers__grid{margin-top:44px;gap:40px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .speaker:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 8px)}
  .print{padding:8px 8px 10px}
  .print__tape{width:84px;margin-left:-42px;top:-16px}
  .speaker{gap:14px}
  .speaker h3{font-size:17px}
  .speaker p{font-size:13px}
  .program{padding-inline:0}
  .program__card{padding:44px 16px 32px;box-shadow:none}
  .program__tape{width:150px;top:-28px;left:24px}
  .list{margin-top:28px}
  .item{grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 0}
  .item__meta{grid-column:1;margin-top:6px}
  .item__time{font-size:24px}
  .item h3{font-size:21px}
  .allday{padding-top:56px;padding-bottom:64px}
  .allday__card{padding:36px 20px;transform:none}
  .allday__flower{width:150px;top:-52px;right:-6px}
  .allday__grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .allday h3{font-size:24px}
  .footer .btn{display:none}
  .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(212,212,212,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(17,17,17,.15)}
  .mcta .btn{flex:1}
}
@media (max-width:360px){
  .speakers__grid{grid-template-columns:minmax(0,1fr)}
  .speaker:last-child:nth-child(odd){width:auto}
  .speaker h3{font-size:20px}
  .speaker p{font-size:14px}
}
@media (max-width:640px){
  .topbar a{font-size:12px}
  .maker{padding-bottom:64px}
      .sticker__del,.sticker__rot{width:34px;height:34px}
  /* на телефоне подсказка во всю ширину строки, чтобы не уходила за край */
  .person{position:static}
  .person__tip{right:0;width:auto;max-width:none}
  .person__tip::after{display:none}
  .topbar__tickets{display:none}
  .facts__flower{width:130px;top:-46px}
  .head__flower{width:110px;margin-left:-24px}
  .program__flower{width:140px;right:auto;left:-8px;bottom:-44px;scale:1;rotate:-10deg}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .speaker:hover .print,.sticker.is-stuck,.card__phrase.is-new,.desk__item.is-back{animation:none}
  .card__phrase,.sticker,.ghost,.desk__item,.flower,.print,.speaker::before,.speaker::after,.speaker__flower,.more::details-content,.person__tip{transition:none}
}
