.event-tail {
  --tail-paper:#f0dbd2; --tail-ink:#040100; --tail-accent:#ca2115; --tail-muted:#80675e;
  position:relative; z-index:6; background:var(--tail-paper); color:var(--tail-ink); clip-path:inset(0);
  font-size:clamp(17px,1.12vw,21px); line-height:1.55; letter-spacing:-.02em;
  color-scheme:light;
}
.event-tail *, .event-tail *::before, .event-tail *::after { box-sizing:border-box; }
.event-tail a { color:inherit; text-underline-offset:.2em; text-decoration-thickness:1px; }
.event-tail a:focus-visible, .event-tail button:focus-visible, .event-tail summary:focus-visible {
  outline:2px solid var(--tail-accent); outline-offset:6px;
}
.tail-shell { width:min(1440px,calc(100% - 112px)); margin-inline:auto; }
.tail-section { position:relative; padding-block:clamp(100px,11vw,200px); scroll-margin-top:40px; }
.tail-title { display:flex; align-items:baseline; gap:.07em; margin:0 0 clamp(48px,6vw,104px); line-height:1.02; }
.tail-title__initial {
  flex:none; box-sizing:content-box; padding:.65em .8em; margin:-.65em -.8em;   /* script swashes overhang the glyph box: widen the paint area, cancel it with margins */
  font-family:var(--font-heading-initial); font-style:normal; font-weight:400;
  font-size:clamp(160px,18vw,330px); line-height:.72;
  color:transparent; background:linear-gradient(30deg,#ca2115 22%,#b56e55 94%);
  background-clip:text; -webkit-background-clip:text;
}
.tail-title__rest { font-size:clamp(48px,5.3vw,100px); max-width:900px; min-width:0; }
.tail-overline { font:400 14px/1.4 var(--f-body); letter-spacing:.07em; text-transform:uppercase; }
.tail-button {
  display:inline-flex; align-items:center; justify-content:center; gap:36px;
  padding:20px 28px; min-height:68px; border:1px solid var(--tail-accent);
  background:var(--tail-accent); color:#fff!important; text-decoration:none; cursor:pointer;
  font-size:18px; transition:background .25s,transform .25s;
}
.tail-button:hover { background:#a71d15; }
.tail-text-link { display:inline-flex; gap:16px; align-items:center; }
.tail-depth { transform:translate3d(0,var(--tail-drift,0px),0); }
.tail-benefits { padding-top:0; }
/* the title is placed by program.js so that its first letter starts where the red line of the programme circle ends; it does not stick */
.tail-benefits-grid { display:flow-root; }
.tail-benefits-grid > .tail-depth { position:relative; width:max-content; margin:clamp(260px,40vw,640px) 0 0 45%; }
.tail-benefits-grid > div:not(.tail-depth) { margin-top:clamp(70px,9vw,150px); }
.benefits-trail { position:absolute; left:0; top:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:1; }
.benefits-trail path { fill:none; stroke:#ff004c; stroke-width:2; stroke-linecap:round; stroke-dasharray:1; stroke-dashoffset:1; }
.tail-benefit + .tail-benefit { margin-top:clamp(90px,calc(15 * var(--lvh)),190px); }
.tail-benefit__number { display:block; font:700 18px 'JetBrains Mono',monospace; color:var(--tail-accent); margin-bottom:28px; }
.tail-benefit h3 { font-size:clamp(32px,3vw,54px); line-height:1.15; margin:0 0 24px; }
.tail-benefit p { max-width:460px; }
.tail-benefit:last-child { margin-left:16%; }
.tail-benefit:nth-child(2) { margin-left:8%; }
.tail-ticket { padding-top:40px; }
.tail-ticket-intro { display:flex; justify-content:space-between; align-items:end; gap:64px; margin-bottom:56px; }
.tail-ticket-intro .tail-title { margin-bottom:0; }
.tail-discount { max-width:360px; font-size:16px; }
.tail-discount p + p { margin-top:12px; color:var(--tail-muted); }
.tail-table-scroll { overflow-x:auto; }
.tail-comparison { width:100%; min-width:600px; border-collapse:collapse; font-size:clamp(16px,1.2vw,22px); }
.tail-comparison th, .tail-comparison td { padding:25px 30px; border-bottom:1px solid #04010029; text-align:center; vertical-align:middle; }
.tail-comparison thead th { font-family:var(--font-heading); font-size:clamp(24px,2vw,36px); font-style:italic; font-weight:400; line-height:1.15; padding-block:35px; }
.tail-comparison tbody th { width:44%; padding-left:0; text-align:left; font-weight:400; }
.tail-comparison .tail-our-column { background:#fff3; color:var(--tail-accent); }
.tail-comparison .tail-price { font:400 clamp(30px,3vw,54px) var(--font-heading); font-style:italic; white-space:nowrap; }
.tail-check { font-size:27px; line-height:1; color:var(--tail-accent); }
.tail-cross { font-size:27px; line-height:1; color:#9e8981; }
.tail-table-footer { display:flex; justify-content:flex-end; margin-top:36px; }
.tail-table-footer .tail-button { width:28%; min-width:250px; margin-right:28%; }
.tail-venue { border-top:1px solid #04010029; }
.tail-venue-grid { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:start; }
.tail-date { font:400 clamp(44px,4.6vw,84px)/1.05 var(--font-heading); font-style:italic; letter-spacing:-.03em; white-space:nowrap; }
.tail-date span { display:inline; }
.tail-date span + span { margin-left:.28em; }
.tail-date-caption { margin-top:32px; color:var(--tail-muted); }
.tail-venue-copy h3 { font-size:clamp(30px,3vw,54px); line-height:1.1; margin:0 0 30px; }
.tail-venue-address { max-width:460px; }
.tail-venue-limit { margin-top:24px; color:var(--tail-muted); font-size:17px; }
.tail-features { list-style:none; padding:0; margin:48px 0; }
.tail-features li { padding-left:30px; position:relative; margin-top:14px; }
.tail-features li::before { content:'✓'; color:var(--tail-accent); position:absolute; left:0; }
.tail-gallery { padding-top:32px; overflow-x:clip; }
.tail-gallery-header { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:60px; }
.tail-gallery-header .tail-title { margin-bottom:0; }
.tail-gallery-controls { display:flex; gap:12px; flex:none; padding-bottom:8px; }
.tail-gallery-controls button { width:56px; height:56px; border:1px solid #04010055; border-radius:50%; background:transparent; color:inherit; font-size:25px; cursor:pointer; transition:background .25s,color .25s; }
.tail-gallery-controls button:hover { background:var(--tail-ink); color:var(--tail-paper); }
.tail-gallery-track { display:flex; gap:28px; align-items:start; padding:0 max(56px,calc((100vw - 1440px)/2)) 20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.tail-gallery-track::-webkit-scrollbar { display:none; }
.tail-gallery-card { flex:0 0 clamp(270px,31vw,490px); margin:0; scroll-snap-align:center; }
.tail-gallery-card:nth-child(3n+2) { margin-top:72px; }
.tail-gallery-card:nth-child(3n) { margin-top:32px; }
.tail-gallery-image { width:100%; height:clamp(340px,39vw,600px); object-fit:cover; }
.tail-gallery-link { margin-top:44px; text-align:right; }
.tail-faq { padding-top:80px; }
.tail-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:8%; }
.tail-questions { border-top:1px solid #04010040; }
.tail-question { border-bottom:1px solid #04010040; }
.tail-question summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:30px; padding:30px 0; font-family:var(--font-heading); font-size:clamp(24px,2.3vw,38px); font-style:italic; line-height:1.2; }
.tail-question summary::-webkit-details-marker { display:none; }
.tail-question summary::after { content:'+'; flex:none; font:400 32px/1 var(--f-body); color:var(--tail-accent); transition:transform .3s; }
.tail-question[open] summary::after { transform:rotate(45deg); }
.tail-question__answer { padding:0 48px 30px 0; max-width:650px; }
.tail-question[open] .tail-question__answer { animation:tail-answer .4s ease-out both; }
.tail-announcements { margin-top:48px; }
.tail-organizers { background:var(--tail-ink); isolation:isolate; clip-path:inset(0 round 48px 48px 0 0); color:var(--tail-paper); border-radius:48px 48px 0 0; color-scheme:dark; }
.tail-organizers { padding-block:clamp(64px,7vw,120px); }
.tail-organizers .tail-title { max-width:1060px; margin-bottom:clamp(32px,4vw,64px); }
.tail-organizers-grid { display:grid; grid-template-columns:repeat(2,minmax(0,300px)); justify-content:center; gap:clamp(32px,8vw,140px); margin-inline:0; }
.tail-organizer:nth-child(2) { margin-top:clamp(24px,4vw,64px); }
.tail-organizer-photo { aspect-ratio:3/4; width:100%; height:auto; object-fit:cover; object-position:top; background:#15110f; }
.tail-organizer .tail-overline { color:#b7a29a; margin:20px 0 8px; }
.tail-organizer h3 { font-size:clamp(26px,2.2vw,40px); line-height:1.1; margin:0 0 8px; }
.tail-organizer__role { font-size:15px; color:#b7a29a; }
.tail-organizer__description { margin:16px 0; }
.tail-organizer a { font-size:16px; }
.tail-partners { border-radius:48px 48px 0 0; background:var(--tail-paper); isolation:isolate; clip-path:inset(0 round 48px 48px 0 0); margin-top:-1px; }
.tail-partner-list { display:grid; grid-template-columns:repeat(3,1fr); gap:7%; }
.tail-partner { display:flex; flex-direction:column; align-items:start; }
.tail-partner__logo { width:160px; height:160px; object-fit:contain; margin-bottom:16px; }
.tail-partner h3 { font-size:26px; margin:0 0 14px; }
.tail-subtitle { margin:clamp(56px,6vw,96px) 0 32px; font:italic 400 clamp(30px,3vw,48px)/1.2 var(--f-display); letter-spacing:-.02em; color:inherit; }
.tail-partner-list--info { grid-template-columns:repeat(6,1fr); gap:3%; }
.tail-partner-list--info .tail-partner__logo { width:128px; height:128px; margin-bottom:10px; }
.tail-partner-list--info .tail-partner h3 { font-size:16px; margin:0; }
.tail-partner p { font-size:17px; color:var(--tail-muted); max-width:340px; }
.tail-footer { border-top:1px solid #04010029; padding:60px 0 40px; }
.tail-footer-top { display:flex; justify-content:space-between; align-items:center; gap:48px; margin-bottom:64px; }
.tail-footer-brand { font-family:var(--font-heading); font-size:clamp(32px,3vw,54px); font-style:italic; line-height:1; text-decoration:none; }
.tail-footer-brand .title-correction .replacement { font-size:.8em; }
.tail-footer-nav { display:flex; flex-wrap:wrap; gap:16px 36px; max-width:850px; margin-bottom:60px; font-size:16px; }
.tail-footer-bottom { display:flex; align-items:end; justify-content:space-between; gap:40px; font-size:14px; color:var(--tail-muted); }
.tail-footer-contact p { margin-bottom:8px; }
.tail-footer-contact a { color:var(--tail-ink); font-size:18px; }
.tail-reveal-line { display:block; overflow:clip; padding-bottom:.06em; margin-bottom:-.06em; }
.tail-reveal-line > span { display:block; }
.event-tail.has-motion [data-reveal] { opacity:0; transform:translate3d(0,36px,0); transition:opacity .65s ease,transform .85s cubic-bezier(.22,1,.36,1); }
.event-tail.has-motion [data-reveal].is-visible { opacity:1; transform:none; }
.event-tail.has-motion .tail-lines[data-reveal] { opacity:1; transform:none; }
.event-tail.has-motion .tail-lines .tail-reveal-line > span { opacity:0; transform:translate3d(0,110%,0); transition:opacity .65s ease,transform .85s cubic-bezier(.22,1,.36,1); transition-delay:var(--line-delay,0ms); }
.event-tail.has-motion .tail-lines.is-visible .tail-reveal-line > span { opacity:1; transform:none; }
.event-tail.has-motion .tail-photo { clip-path:inset(0 100% 0 0); transition:clip-path 1s cubic-bezier(.76,0,.24,1); }
.event-tail.has-motion .tail-photo.is-visible { clip-path:inset(0); }
@keyframes tail-answer { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(max-width:1000px){
  .tail-shell { width:calc(100% - 64px); }
  .tail-title__initial { font-size:clamp(140px,22vw,230px); }
  .tail-title__rest { font-size:clamp(42px,6.5vw,65px); }
  .tail-ticket-intro { align-items:start; gap:30px; }
  .tail-discount { max-width:280px; }
  .tail-gallery-track { padding-inline:32px; }
  .tail-organizers-grid { gap:5%; }
  .tail-partner-list { gap:5%; }
  .tail-partner-list--info { gap:2%; }
}
@media(max-width:700px){
  .tail-shell { width:calc(100% - 40px); }
  .tail-section { padding-block:80px; }
  .tail-title { margin-bottom:48px; }
  .tail-title__initial { font-size:145px; }
  .tail-title__rest { font-size:42px; }
  .tail-benefits-grid,.tail-venue-grid,.tail-faq-grid,.tail-organizers-grid,.tail-partner-list { grid-template-columns:1fr; gap:48px; }
  .tail-benefit + .tail-benefit { margin-top:64px; }
  .tail-benefit:last-child { margin-left:12%; }
  .tail-benefit:nth-child(2) { margin-left:6%; }
  .tail-benefits .tail-title__initial { font-size:100px; }
  .tail-benefits .tail-title__rest { font-size:32px; }
  .tail-ticket-intro { display:block; }
  .tail-ticket-intro .tail-title { margin-bottom:40px; }
  .tail-discount { max-width:360px; }
  .tail-comparison { min-width:540px; }
  .tail-comparison th,.tail-comparison td { padding:20px 16px; }
  .tail-table-footer .tail-button { margin-right:0; width:100%; }
  .tail-date { font-size:clamp(40px,11vw,60px); }
  .tail-gallery-header { display:block; }
  .tail-gallery-controls { margin-top:30px; }
  .tail-gallery-track { padding-inline:20px; gap:16px; }
  .tail-gallery-card { flex-basis:78vw; }
  .tail-gallery-image { height:104vw; max-height:500px; }
  .tail-gallery-card:nth-child(3n+2) { margin-top:36px; }
  .tail-gallery-card:nth-child(3n) { margin-top:16px; }
  .tail-faq-grid { gap:16px; }
  .tail-question summary { font-size:26px; }
  .tail-question__answer { padding-right:16px; }
  .tail-organizers,.tail-partners { border-radius:28px 28px 0 0; clip-path:inset(0 round 28px 28px 0 0); }
  .tail-organizer { max-width:300px; }
  .tail-organizer:nth-child(2) { margin-top:32px; }
  .tail-partner { display:grid; grid-template-columns:80px 1fr; column-gap:24px; }
  .tail-partner__logo { width:80px; height:80px; grid-row:1/3; margin:0; }
  .tail-partner h3 { font-size:28px; margin-bottom:12px; }
  .tail-footer-top,.tail-footer-bottom { align-items:start; flex-direction:column; gap:32px; }
  .tail-footer-top { margin-bottom:48px; }
  .tail-footer-brand { font-size:35px; }
  .tail-footer-nav { gap:16px 24px; }
  .tail-footer .tail-button { width:100%; }
}
@media(prefers-reduced-motion:reduce){
  .event-tail *, .event-tail *::before,.event-tail *::after { animation:none!important; transition:none!important; }
  .event-tail [data-reveal],.event-tail .tail-reveal-line > span { opacity:1!important; transform:none!important; }
  .event-tail .tail-photo { clip-path:none!important; }
  .tail-depth { transform:none; }
}

/* ---------------------------------------------------------------------------------------------------------
   «Как проходило мероприятие в марте»: a pinned screen where the photos fly in from depth and settle into a full grid under the
   title (formation.js drives the scroll progress; without JS or with reduced motion the grid is just there). */
.formation { position:relative; height:calc(320 * var(--lvh)); }
.formation__pin { position:sticky; top:0; height:calc(100 * var(--lvh)); overflow:clip; }
.formation__grid {
  position:absolute; left:-11%; top:-9%; width:122%; height:118%; perspective:1000px;   /* larger than the screen: the outer photos bleed off its edges */
  display:grid; grid-template-columns:repeat(5,1fr); grid-template-rows:repeat(4,1fr); gap:clamp(8px,1.1vw,18px);
}
.formation__tile { overflow:hidden; background:#e2cbc1; transform-origin:50% 0; }
.formation__tile img { display:block; width:100%; height:100%; object-fit:cover; }
.formation.is-live .formation__tile { will-change:transform,opacity; }
/* the photos cover the whole grid and the title lies over them; its colour follows the photos in (formation.js) */
.formation__text { position:absolute; inset:0; z-index:2; display:grid; place-content:center; text-align:center; pointer-events:none; }
.formation__title { margin:0; font:italic 400 clamp(40px,5.3vw,104px)/.9 var(--font-heading); letter-spacing:-.02em; color:var(--title-c,#424242); }
.formation__title span { display:block; }
.formation.is-static { height:auto; }
.formation.is-static .formation__pin { position:static; height:auto; min-height:calc(100 * var(--lvh)); }
.formation.is-static .formation__title { color:#fff; }
@media (max-width:700px) {
  .formation__grid { grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(5,1fr); }
  .formation__tile:nth-child(n+16) { display:none; }
  .formation__title { font-size:clamp(30px,9vw,60px); }
}

/* «Польза»: the title is lit by the red line when it arrives (program.js adds .is-lit); without JS it is simply there */
.js-trail .benefits-title { opacity:0; transform:translate3d(0,28px,0); transition:opacity .8s ease, transform .9s cubic-bezier(.22,1,.36,1); }
.js-trail .benefits-title.is-lit { opacity:1; transform:none; }

/* ticket form widget (samsebedigital) */
.ticket-form { padding-block:clamp(60px,8vw,140px); }

.ticket-form__title { margin:0 0 clamp(28px,3vw,52px); text-align:center; font:italic 400 clamp(36px,4.4vw,72px)/1.05 var(--font-heading); letter-spacing:-.02em; }

/* One wallpaper for the whole screen height, not one per block: a fixed layer (visible only inside the clipped container) behind the content.
   `background-attachment: fixed` is unreliable on phones; a fixed pseudo-element inside a clip-path container works everywhere. */
.event-tail::before, .tail-partners::before { content:''; position:fixed; left:0; top:0; width:100%; height:calc(100 * var(--lvh)); z-index:-1; pointer-events:none; background:var(--bg-light, none) center / cover no-repeat; }
.tail-organizers::before { content:''; position:fixed; left:0; top:0; width:100%; height:calc(100 * var(--lvh)); z-index:-1; pointer-events:none; background:var(--bg-dark, none) center / cover no-repeat; }

.ticket-form { position:relative; z-index:1; overflow:visible; }
.ticket-form .tail-shell { display:flow-root; min-height:820px; padding-bottom:60px; }
@media (max-width:700px) {
  .ticket-form .tail-shell { min-height:1000px; }
  /* headings on the left edge */
  .ticket-form__title { text-align:left; }
  .tail-benefits-grid > .tail-depth { margin:0; width:auto; }
  .formation__text { place-content:center start; text-align:left; padding-left:5%; }
  .formation__title span { white-space:nowrap; }
}

@media(max-width:1100px){
  .tail-partner-list.tail-partner-list--info { grid-template-columns:repeat(3,1fr); gap:32px 4%; }
  .tail-partner-list--info .tail-partner { display:flex; flex-direction:column; }
  .tail-partner-list--info .tail-partner__logo { width:96px; height:96px; margin-bottom:8px; }
  .tail-partner-list--info .tail-partner h3 { font-size:15px; margin:0; }
}

/* running strip of bar photos under «Где и когда» */
.tail-marquee { margin-top:clamp(48px,6vw,96px); overflow:hidden; }
.tail-marquee__track { display:flex; width:max-content; animation:tail-marquee 60s linear infinite; }
.tail-marquee:hover .tail-marquee__track { animation-play-state:paused; }
.tail-marquee__set { display:flex; gap:16px; padding-right:16px; flex:none; }
.tail-marquee img { height:clamp(180px,22vw,340px); width:auto; flex:none; display:block; object-fit:cover; }
@keyframes tail-marquee { to { transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce){ .tail-marquee { overflow-x:auto; } .tail-marquee__track { animation:none; } }

/* speakers: light block, photos wipe in and the copy rises like on the second screen */
.tail-speakers .tail-title { margin-bottom:clamp(32px,4vw,64px); }
.tail-speakers-list { display:grid; gap:clamp(96px,11vw,200px); }
.tail-speaker { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,560px) minmax(0,1fr); gap:clamp(24px,4vw,72px); align-items:start; }
.tail-speaker__body { grid-column:2; grid-row:1; }
.tail-speaker__photo { grid-column:1; grid-row:1; width:100%; max-width:300px; justify-self:start; }
.tail-speaker:nth-child(even) .tail-speaker__photo { grid-column:3; justify-self:end; }
.tail-speaker__photo img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.tail-speaker h3 { font-size:clamp(30px,3.2vw,58px); line-height:1.08; margin:0 0 12px; }
.tail-speaker__role { font-size:clamp(16px,1.2vw,20px); color:var(--tail-muted); margin:0 0 28px; }
.tail-speaker .tail-overline { color:var(--tail-muted); margin:0 0 10px; }
.tail-speaker__list { margin:0 0 36px; padding:0; list-style:none; display:grid; gap:10px; font-size:clamp(15px,1.1vw,18px); line-height:1.5; }
.tail-speaker__list li { position:relative; padding-left:1.1em; }
.tail-speaker__list li::before { content:''; position:absolute; left:0; top:.62em; width:.4em; height:.4em; border-radius:50%; background:var(--tail-accent); }
.tail-speaker__topic { font:italic 400 clamp(20px,1.8vw,30px)/1.3 var(--font-heading); letter-spacing:-.02em; }
@media(max-width:700px){
  .tail-speaker { grid-template-columns:1fr; gap:24px; }
  .tail-speaker__body,.tail-speaker__photo,.tail-speaker:nth-child(even) .tail-speaker__photo { grid-column:1; justify-self:start; }
  .tail-speaker__body { grid-row:2; }
  .tail-speaker__photo { max-width:200px; }
}
@media(max-width:1000px){
  .tail-speaker { grid-template-columns:1fr; gap:28px; }
  .tail-speaker__body,.tail-speaker__photo,.tail-speaker:nth-child(even) .tail-speaker__photo { grid-column:1; justify-self:center; }
  .tail-speaker__body { grid-row:2; max-width:560px; }
  .tail-speaker__photo { max-width:240px; }
}
