/* "Новини" and every news item (templates/news.php, single.php, parts/news-card.php): the news are sheets of paper
   that come flying in folded into paper planes and unfold where they land; a click folds a sheet again and it flies
   off to its news. A paper plane writes each year in the air, another one loops over the list, and beside a news
   item's text a plane flies down as far as it has been read. The planes are drawn nose to the right and fly to the
   right (or turn with their path), so they always fly nose first. */

@property --fold { syntax: '<number>'; inherits: true; initial-value: 1; }

.np { position: relative; padding: 40px 0 110px; overflow-x: clip; }
.np-wrap { padding: 0 30px; }
.bg .np .np-card .np-card__title, .bg .np .np-sheet__title, .bg .np .np-more__title, .bg .np .np-ticket__title, .bg .np .np-ticket__stub b, .bg .np .np-stamp span { font-family: 'Neucha', Arial, sans-serif; }

/* ---------- A sheet that flies (the cards, the news itself, the boarding passes) ----------
   --fold 0: folded into a paper plane at --cx --cy (the plane is 88 x 52, nose to the right); 1: an open sheet. The
   plane's nose opens out to the right edge, its notch to the middle of the left edge, its tail to the left corners. */
.np-fly { --cx: 50%; --cy: 50%; --py: 50%; transform-origin: var(--cx) var(--cy); }
.np-js .np-fly:not(.is-landed), .np-fly.is-leaving {
	--fold: 0;
	clip-path: polygon(
		calc((var(--cx) + 44px) * (1 - var(--fold)) + 100% * var(--fold)) calc(var(--cy) * (1 - var(--fold))),
		calc((var(--cx) - 44px) * (1 - var(--fold))) calc((var(--cy) - 26px) * (1 - var(--fold))),
		calc((var(--cx) - 22px) * (1 - var(--fold))) calc(var(--cy) * (1 - var(--fold)) + 50% * var(--fold)),
		calc((var(--cx) - 44px) * (1 - var(--fold))) calc((var(--cy) + 26px) * (1 - var(--fold)) + 100% * var(--fold)),
		calc((var(--cx) + 44px) * (1 - var(--fold)) + 100% * var(--fold)) calc(var(--cy) * (1 - var(--fold)) + 100% * var(--fold))
	);
}
.np-fly.is-leaving { --fold: 1; }
/* the paper plane drawn over the folded sheet (gone as soon as it starts to open) */
.np-fly::before { content: ''; position: absolute; z-index: 20; inset: 0; opacity: 0; pointer-events: none; }
.np-js .np-fly:not(.is-landed)::before, .np-fly.is-leaving::before { opacity: calc(1 - var(--fold) * 4); background: url('../images/paper-plane.svg') no-repeat 50% var(--py) / 88px 52px, #fff; }
.np-js .np-fly:not(.is-in) { opacity: 0; }
.np-js .np-fly.is-in:not(.is-landed) { animation: np-arrive 1.5s linear calc(var(--k, 0) * .2s) both; }
.np-fly.is-leaving { pointer-events: none; animation: np-leave .9s linear forwards; }
/* it comes from the left in an arc (nose up while it climbs, down while it comes down), lands and opens */
@keyframes np-arrive {
	0% { --fold: 0; opacity: 0; transform: translate(-44vw, -40px) rotate(-9deg) scale(.7); animation-timing-function: cubic-bezier(.3, .2, .6, 1); }
	8% { opacity: 1; }
	30% { transform: translate(-25vw, -150px) rotate(2deg) scale(.82); animation-timing-function: cubic-bezier(.4, 0, .6, 1); }
	54% { --fold: 0; transform: translate(0, 0) rotate(7deg) scale(1); animation-timing-function: cubic-bezier(.3, 1.4, .5, 1); }
	62% { --fold: 0; transform: none; animation-timing-function: cubic-bezier(.45, 0, .2, 1); }
	100% { --fold: 1; opacity: 1; transform: none; }
}
/* it folds, dips and climbs away to the right */
@keyframes np-leave {
	0% { --fold: 1; transform: none; animation-timing-function: cubic-bezier(.5, 0, .4, 1); }
	40% { --fold: 0; transform: none; animation-timing-function: cubic-bezier(.4, 0, .6, 1); }
	52% { --fold: 0; transform: translate(14px, 10px) rotate(6deg); animation-timing-function: cubic-bezier(.5, 0, .8, .6); }
	88% { opacity: 1; }
	100% { --fold: 0; opacity: 0; transform: translate(85vw, -55vh) rotate(-22deg) scale(.7); }
}

/* ---------- The year a paper plane writes in the air ---------- */
.np-year-group { margin-top: 26px; }
.np-year-group + .np-year-group { margin-top: 70px; }
.np .np-year { position: relative; display: flex; justify-content: center; margin: 0 0 26px; font: 400 64px/1 'Cabin Sketch', Arial, sans-serif; color: var(--c, #ff5736); }
.np-year svg { display: block; width: var(--vw); max-width: 100%; height: auto; overflow: visible; }
.np-year.is-drawn .np-year__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.np-year__ink { fill: none; stroke: var(--c, #ff5736); stroke-width: 5.5; stroke-linecap: round; stroke-linejoin: round; }

/* the plane looping over the list, a dotted trail behind it */
.np-doodle { position: absolute; left: 0; top: 0; width: 100%; height: 170px; overflow: visible; pointer-events: none; }
.np-doodle__trail { fill: none; stroke: #9aa7ae; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: .1 9; }
.np--list { padding-top: 120px; }

/* ---------- The sheets of the list ---------- */
.np-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 50px 40px; margin: 0; padding: 0; list-style: none; }
.np-item { position: relative; flex: 0 0 calc((100% - 80px) / 3); margin: 0; padding: 0; }
.np-item::before { display: none; }
.np-item--wide { flex-basis: 100%; }
.np-card { position: relative; display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: 3px; color: #3c4741; text-decoration: none; box-shadow: 0 22px 34px -24px rgba(70, 40, 20, .55), 0 2px 4px rgba(70, 40, 20, .06); rotate: calc(var(--r, 0deg) + var(--w, 0deg)); transition: translate .45s cubic-bezier(.34, 1.5, .64, 1), box-shadow .45s; }
.np-card.is-landed:hover, .np-card.is-landed:focus-visible { translate: 0 -8px; box-shadow: 0 32px 40px -26px rgba(70, 40, 20, .6), 0 2px 4px rgba(70, 40, 20, .06); }
html:not(.np-js) .np-card:hover, html:not(.np-js) .np-card:focus-visible { translate: 0 -8px; }
.np-card__pic { position: relative; display: block; margin: 12px 12px 0; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 2px; background: #e8eef2; }
.np-card__pic img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .7, .3, 1); }
.np-card:hover .np-card__pic img { transform: scale(1.06); }
/* the site's green flag with the date: it steps out of the sheet's edge on hover (as on the original) */
.np-card__flag { position: absolute; z-index: 3; left: -12px; top: 32px; width: 140px; height: 40px; padding: 0 24px 0 22px; background: url('../images/green-flag.svg') no-repeat 0 0; color: #fff; font: 700 13px/40px 'Open Sans', Arial, sans-serif; white-space: nowrap; transform: translateX(-6px); transition: transform .3s cubic-bezier(.34, 1.6, .64, 1); }
.np-card:hover .np-card__flag { transform: translateX(4px); }
.np-card__body { display: block; padding: 22px 26px 30px; }
.np .np-card .np-card__title { margin: 0 0 10px; font: 400 23px/1.25 'Cabin Sketch', Arial, sans-serif; color: #3c4741; transition: color .3s; }
.np-card:hover .np-card__title { color: #ff5736; }
/* a news item of the other language (the news of both are together since 2026-11-06): a little tag like a stamp */
.np .np-card__body[lang='bg'] .np-card__title { font-family: 'Neucha', Arial, sans-serif; } /* (Cabin Sketch has no Cyrillic) */
.np-card__lang { display: inline-block; margin: 0 0 8px; padding: 1px 8px; border: 1.5px solid #52aae8; border-radius: 6px; color: #2e8fd6; font: 700 11px/1.5 'Open Sans', Arial, sans-serif; letter-spacing: .08em; rotate: -3deg; }
.np-card__text { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; font: 400 15px/1.6 'Open Sans', Arial, sans-serif; color: #696969; }
/* the corner turns down under the pointer */
.np-card__ear { position: absolute; right: 0; bottom: 0; width: 0; height: 0; border-radius: 0 0 3px 0; background: linear-gradient(315deg, #f8f1ec 50%, #e9dccb 50%); box-shadow: -3px -3px 5px rgba(70, 40, 20, .1); transition: width .35s cubic-bezier(.34, 1.4, .64, 1), height .35s cubic-bezier(.34, 1.4, .64, 1); }
.np-card:hover .np-card__ear, .np-card:focus-visible .np-card__ear { width: 34px; height: 34px; }
/* a news item without a picture: a ruled sheet with the site's paper clip */
.np-card--doc { background: linear-gradient(90deg, transparent 30px, rgba(255, 87, 54, .35) 30px 32px, transparent 32px), repeating-linear-gradient(transparent 0 29px, #e1ebf3 29px 30px) 0 96px, #fffef9; }
/* (the title and the lines under it keep to the ruling: 30px a line) */
.np-card--doc::after { content: ''; position: absolute; z-index: 4; right: 30px; top: -22px; width: 26px; height: 56px; background: url('../images/paper-clip.svg') no-repeat center / contain; rotate: 8deg; }
.np-card--doc .np-card__body { padding: 100px 26px 30px 48px; }
.np .np-card--doc .np-card__title { margin-bottom: 0; font-size: 25px; line-height: 30px; }
.np-card--doc .np-card__text { -webkit-line-clamp: 6; line-height: 30px; }
/* the latest news item: a wide sheet */
.np-item--wide .np-card { flex-direction: row; align-items: center; }
.np-item--wide .np-card__pic { flex: 0 0 56%; margin: 14px 0 14px 14px; }
.np-item--wide .np-card__body { padding: 34px 50px 34px 46px; }
.np .np-item--wide .np-card__title { font-size: 34px; line-height: 1.2; margin-bottom: 16px; }
.np-item--wide .np-card__text { -webkit-line-clamp: 7; font-size: 16px; line-height: 1.75; }
.np-item--wide .np-card__flag { top: 40px; }
/* a news item pinned in the panel: first, before the years, held at the top by a red pin that is pressed in when the
   sheet has landed (templates/news.php, parts/news-card.php) */
.np-pinned { margin-top: 10px; }
.np-pinned + .np-year-group { margin-top: 80px; }
.np-pin { position: absolute; z-index: 6; left: 50%; top: -16px; width: 30px; height: 30px; margin-left: -15px; border-radius: 50%; background: radial-gradient(circle at 36% 32%, #ff9b84, #ff5736 45%, #c8371b); box-shadow: 0 6px 8px -2px rgba(120, 30, 10, .45), inset 0 -3px 4px rgba(0, 0, 0, .18); pointer-events: none; animation: np-pin-in .55s cubic-bezier(.34, 1.6, .64, 1) 1.3s both; }
.np-pin::before { content: ''; position: absolute; left: 50%; top: 22px; width: 3px; height: 9px; margin-left: -1.5px; border-radius: 0 0 2px 2px; background: linear-gradient(90deg, #9aa3a8, #e1e6e9, #9aa3a8); z-index: -1; }
.np-pin::after { content: ''; position: absolute; left: 8px; top: 6px; width: 8px; height: 6px; border-radius: 50%; background: rgba(255, 255, 255, .7); transform: rotate(-30deg); }
@keyframes np-pin-in { 0% { opacity: 0; transform: translateY(-40px) scale(1.5); } 70% { opacity: 1; transform: translateY(3px) scale(.92); } 100% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .np-pin { animation: none; } }

/* ---------- One news item: the sheet ---------- */
.np-read { position: relative; max-width: 920px; padding: 0 30px; }
.np-sheet { --cy: 150px; --py: 124px; position: relative; padding: 70px 76px 64px; background: #fff; border-radius: 0 0 4px 4px; box-shadow: 0 34px 50px -34px rgba(70, 40, 20, .5); }
/* the original's perforated edge on top of the sheet */
.np-sheet::after { content: ''; position: absolute; left: 0; right: 0; top: -20px; height: 20px; background: url('../images/white-hole.svg') repeat-x center top; }
.np .np-sheet__title { max-width: calc(100% - 140px); margin: 0 0 8px; font: 400 40px/1.2 'Cabin Sketch', Arial, sans-serif; color: #3c4741; }
/* the postmark with the date */
.np-stamp { position: absolute; z-index: 2; right: 46px; top: 30px; display: grid; place-content: center; width: 116px; height: 116px; border-radius: 50%; color: #ff5736; text-align: center; line-height: 1; box-shadow: inset 0 0 0 3px, inset 0 0 0 7px #fff, inset 0 0 0 9px; rotate: -12deg; opacity: .82; -webkit-mask: radial-gradient(circle at 30% 20%, #000 60%, rgba(0, 0, 0, .55) 61% 63%, #000 64%); mask: radial-gradient(circle at 30% 20%, #000 60%, rgba(0, 0, 0, .55) 61% 63%, #000 64%); }
.np-stamp b { display: block; font: 400 42px/1 'Cabin Sketch', Arial, sans-serif; }
.np-stamp span { display: block; margin-top: 3px; font: 400 15px/1.1 'Cabin Sketch', Arial, sans-serif; letter-spacing: .04em; }
.np-js .np-sheet:not(.is-landed) .np-stamp { opacity: 0; }
.np-sheet.is-landed .np-stamp { animation: np-stamp .5s cubic-bezier(.5, 0, .3, 1.5) .15s both; }
@keyframes np-stamp { from { opacity: 0; transform: scale(1.9) rotate(-24deg); } to { opacity: .82; transform: none; } }
/* the pictures, each held by the site's paper clip; they come out as if developed when the sheet opens */
.np-photos { display: flex; justify-content: center; gap: 30px; margin: 40px 0 46px; }
.np-photo { position: relative; flex: 1 1 0; max-width: 640px; margin: 0; padding: 10px; background: #fff; box-shadow: 0 16px 28px -14px rgba(40, 30, 20, .5), 0 0 0 1px rgba(0, 0, 0, .04); rotate: -1.4deg; }
.np-photo:nth-child(2n) { rotate: 1.8deg; }
.np-photo::before { content: ''; position: absolute; z-index: 2; left: 28px; top: -34px; width: 24px; height: 62px; background: url('../images/paper-clip.svg') no-repeat center / contain; rotate: -10deg; }
.np-photo img { display: block; width: 100%; height: auto; transition: filter 2.4s cubic-bezier(.3, .2, .3, 1) .2s; }
.np-js .np-sheet:not(.is-landed) .np-photo img { filter: sepia(.9) blur(6px) brightness(1.4) contrast(.6); }
/* the text (the old site's own fonts and colours written into it give way to the sheet's) */
.np-sheet__text { position: relative; font: 400 17px/1.8 'Open Sans', Arial, sans-serif; color: #3c4741; }
.np-sheet__text * { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; color: inherit !important; background-color: transparent !important; }
.np .np-sheet__text p { margin: 0 0 18px; font-size: 17px; line-height: 1.8; color: #3c4741; }
.np .np-sheet__text a { color: #2e8fd6 !important; text-decoration: underline; text-underline-offset: 3px; word-break: break-word; }
.np .np-sheet__text ul, .np .np-sheet__text ol { margin: 0 0 18px; padding-left: 26px; }
.np .np-sheet__text ul { list-style: disc; }
.np .np-sheet__text ol { list-style: decimal; }
.np .np-sheet__text li { margin: 0 0 8px; padding: 0; font-size: 17px; line-height: 1.7; color: #3c4741; }
.np .np-sheet__text li::before { display: none; }
.np .np-sheet__text > p:first-child::first-letter { float: left; margin: 8px 12px 0 0; font: 400 66px/.8 'Cabin Sketch', Arial, sans-serif; color: #ff5736; }
.bg .np .np-sheet__text > p:first-child::first-letter { font-family: 'Neucha', Arial, sans-serif; }
.np .np-sheet--doc .np-sheet__text > p:first-child::first-letter { float: none; margin: 0; font: inherit; color: inherit; }
/* headings written in the panel */
.np .np-sheet__text h3, .np .np-sheet__text h4 { margin: 30px 0 12px; font-family: 'Cabin Sketch', 'Neucha', Arial, sans-serif !important; font-size: 26px !important; line-height: 1.25 !important; font-weight: 400; color: #3c4741 !important; }
.bg .np .np-sheet__text h3, .bg .np .np-sheet__text h4 { font-family: 'Neucha', Arial, sans-serif !important; }
.np .np-sheet__text blockquote { margin: 0 0 18px; padding: 4px 0 4px 20px; border-left: 4px solid #52aae8; font-style: italic; }
/* a photo put between the paragraphs in the panel (2026-11-11) */
.np .np-sheet__text .mch-figure { margin: 26px 0 28px; }
.np .np-sheet__text .mch-figure img { display: block; max-width: 100%; height: auto; margin: 0 auto; border-radius: 10px; box-shadow: 0 14px 24px -20px rgba(70, 40, 20, .6); }
.np .np-sheet__text .mch-figure figcaption { margin-top: 10px; font-size: 14px !important; line-height: 1.5 !important; font-style: italic; color: #7b8580 !important; text-align: center; }

/* many pictures: the cover big, the others in rows under it */
.np-photos--many { flex-wrap: wrap; gap: 30px 22px; }
.np-photos--many .np-photo { flex: 0 0 calc((100% - 44px) / 3); max-width: none; }
.np-photos--many .np-photo:first-child { flex-basis: 100%; }
.np-photos--many .np-photo:not(:first-child)::before { left: 18px; top: -26px; width: 18px; height: 46px; }
.np-photo a { display: block; }

/* the schedule (the panel's "График"): a timetable on a strip of paper with a red margin */
.np-plan { margin: 34px 0 10px; padding: 20px 26px 14px 34px; border-radius: 3px; background: #fffef6; box-shadow: inset 4px 0 0 #ff5736, 0 12px 22px -16px rgba(40, 30, 20, .45); }
.np .np-plan__title { margin: 0 0 8px; font: 400 26px/1.3 'Cabin Sketch', 'Neucha', Arial, sans-serif; color: #3c4741; }
.bg .np .np-plan__title { font-family: 'Neucha', Arial, sans-serif; }
.np-plan__rows { margin: 0; padding: 0; list-style: none; }
.np-plan__row { display: flex; gap: 18px; margin: 0; padding: 9px 0 8px; }
.np-plan__row + .np-plan__row { border-top: 2px dotted #e6dccb; }
.np-plan__row::before { display: none; }
.np-plan__when { flex: 0 0 210px; font: 700 15px/23px 'Open Sans', Arial, sans-serif; color: #ff5736; }
.np-plan__when b { color: #2f7fb8; }
.np-plan__what { font: 400 15.5px/23px 'Open Sans', Arial, sans-serif; color: #3c4741; }

/* the files: luggage tags tied on with a string, that swing under the pointer */
.np-files { display: flex; flex-wrap: wrap; gap: 30px 26px; margin: 30px 0 0; padding: 30px 0 0; list-style: none; }
.np-file { position: relative; margin: 0; padding: 0; transform-origin: 21px 50%; rotate: -2deg; filter: drop-shadow(0 7px 6px rgba(60, 40, 20, .22)); }
.np-file:nth-child(2n) { rotate: 2.5deg; }
.np-file::before { content: ''; position: absolute; z-index: 1; left: 20px; top: -30px; width: 2px; height: 58px; border-radius: 1px; background: #b48a57; rotate: 14deg; transform-origin: 50% 100%; }
.np-file:hover { animation: np-tag .9s ease-in-out; }
@keyframes np-tag { 25% { rotate: -9deg; } 55% { rotate: 6deg; } 80% { rotate: -3deg; } }
.np-file a { position: relative; display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 12px 24px 12px 46px; background: #f6e3be; color: #3c4741; text-decoration: none; clip-path: polygon(20px 0, 100% 0, 100% 100%, 20px 100%, 0 50%); transition: background .3s; }
.np-file a::before { content: ''; position: absolute; left: 16px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: #fffefb; box-shadow: inset 0 0 0 2px #d6bd8c; }
.np-file a:hover, .np-file a:focus-visible { background: #ffd39a; }
.np-file__ext { padding: 4px 7px; border-radius: 4px; background: #ff5736; color: #fff; font: 800 12px/1 'Open Sans', Arial, sans-serif; font-style: normal; letter-spacing: .04em; }
.np-file__label { font: 700 15px/1.35 'Open Sans', Arial, sans-serif; }
@media only screen and (max-width: 768px) {
	.np-photos--many .np-photo { flex-basis: calc((100% - 22px) / 2); }
	.np-plan { padding: 16px 16px 12px 22px; }
	.np-plan__row { flex-direction: column; gap: 0; }
	.np-plan__when { flex-basis: auto; }
}
/* the plane beside the text, as far down as it has been read (wide screens) */
.np-lane { position: absolute; left: -104px; top: 70px; bottom: 60px; display: none; width: 70px; height: calc(100% - 130px); overflow: visible; pointer-events: none; }
.np-lane__dots { fill: none; stroke: #c9b6a3; stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: .1 12; }
.np-lane__line { fill: none; stroke: #ff5736; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1 2; stroke-dashoffset: 1; }
.np-lane__turn { transition: transform .4s cubic-bezier(.34, 1.3, .64, 1); }

/* ---------- The boarding passes to the newer and the older news ---------- */
/* (the shadow is the nav's: on the ticket itself its notched mask would cut it off) */
.np-trip { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 64px 0 34px; filter: drop-shadow(0 14px 14px rgba(70, 40, 20, .16)); }
.np-ticket { --c: #52aae8; position: relative; display: flex; min-height: 124px; border-radius: 12px; background: #fff; color: #3c4741; text-decoration: none; transition: translate .4s cubic-bezier(.34, 1.5, .64, 1); }
.np-ticket--older { --c: #7ad068; grid-column: 2; }
/* the perforation between the stub and the ticket, with a notch at each end */
.np-ticket:not(.is-leaving) { -webkit-mask: radial-gradient(circle 11px at 104px 0, transparent 98%, #000) top / 100% 51% no-repeat, radial-gradient(circle 11px at 104px 100%, transparent 98%, #000) bottom / 100% 51% no-repeat; mask: radial-gradient(circle 11px at 104px 0, transparent 98%, #000) top / 100% 51% no-repeat, radial-gradient(circle 11px at 104px 100%, transparent 98%, #000) bottom / 100% 51% no-repeat; }
.np-ticket:hover, .np-ticket:focus-visible { translate: 0 -6px; }
.np-ticket__stub { position: relative; flex: 0 0 104px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; border-radius: 12px 0 0 12px; background: var(--c); color: #fff; border-right: 2px dashed rgba(255, 255, 255, .8); }
.np-ticket__stub b { font: 400 19px/1 'Cabin Sketch', Arial, sans-serif; }
.np-ticket__plane { width: 44px; height: 26px; background: url('../images/paper-plane.svg') no-repeat center / contain; transition: transform .45s cubic-bezier(.34, 1.6, .64, 1); }
.np-ticket--newer .np-ticket__plane { rotate: 180deg; }
/* (turned round, the newer one's plane moves to the left) */
.np-ticket:hover .np-ticket__plane { transform: translateX(8px); }
.np-ticket__main { display: flex; flex-direction: column; justify-content: center; gap: 6px; min-width: 0; padding: 18px 26px; }
.np-ticket__main time { font: 700 12px/1.2 'Open Sans', Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #9aa3a0; }
.np-ticket__title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font: 400 20px/1.3 'Cabin Sketch', Arial, sans-serif; transition: color .3s; }
.np-ticket:hover .np-ticket__title { color: #ff5736; }
.np-back { margin: 0; text-align: center; }
.np-more { margin-top: 80px; }
.np .np-more__title { margin: 0 0 44px; font: 400 40px/1.2 'Cabin Sketch', Arial, sans-serif; text-align: center; color: #ff5736; }

/* ---------- Screens ---------- */
@media only screen and (min-width: 1100px) {
	.np-lane { display: block; }
}
@media only screen and (max-width: 1100px) {
	.np-grid { gap: 44px 34px; }
	.np-item { flex-basis: calc((100% - 34px) / 2); }
	.np-item--wide { flex-basis: 100%; }
	.np-item--wide .np-card__pic { flex-basis: 50%; }
	.np .np-item--wide .np-card__title { font-size: 28px; }
	.np-item--wide .np-card__text { -webkit-line-clamp: 5; }
}
@media only screen and (max-width: 768px) {
	.np { padding-bottom: 80px; }
	.np--list { padding-top: 100px; }
	.np-wrap, .np-read { padding: 0 16px; }
	.np-doodle { height: 130px; }
	.np-year-group + .np-year-group { margin-top: 50px; }
	.np-year { margin-bottom: 18px; }
	.np-grid { gap: 34px; }
	.np-item, .np-item--wide { flex-basis: 100%; }
	.np-item--wide .np-card { flex-direction: column; align-items: stretch; }
	.np-item--wide .np-card__pic { flex-basis: auto; margin: 12px 12px 0; }
	.np-item--wide .np-card__body { padding: 22px 24px 28px; }
	.np .np-item--wide .np-card__title { font-size: 26px; }
	.np-card__body { padding: 20px 22px 26px; }
	.np .np-card .np-card__title { font-size: 22px; }
	.np-sheet { --cy: 120px; --py: 94px; padding: 140px 22px 40px; }
	.np .np-sheet__title { max-width: none; font-size: 30px; }
	.np-stamp { right: auto; left: 22px; top: 22px; width: 96px; height: 96px; }
	.np-stamp b { font-size: 34px; }
	.np-stamp span { font-size: 13px; }
	.np-photos { flex-direction: column; gap: 36px; margin: 30px 0 34px; }
	.np-photo { rotate: -1deg; }
	.np-sheet__text, .np .np-sheet__text p, .np .np-sheet__text li { font-size: 16px; }
	.np .np-sheet__text > p:first-child::first-letter { font-size: 54px; }
	.np-trip { grid-template-columns: 1fr; gap: 20px; margin-top: 46px; }
	.np-ticket--older { grid-column: auto; }
	.np-ticket { min-height: 108px; }
	.np-ticket:not(.is-leaving) { -webkit-mask: radial-gradient(circle 10px at 88px 0, transparent 98%, #000) top / 100% 51% no-repeat, radial-gradient(circle 10px at 88px 100%, transparent 98%, #000) bottom / 100% 51% no-repeat; mask: radial-gradient(circle 10px at 88px 0, transparent 98%, #000) top / 100% 51% no-repeat, radial-gradient(circle 10px at 88px 100%, transparent 98%, #000) bottom / 100% 51% no-repeat; }
	.np-ticket__stub { flex-basis: 88px; }
	.np-ticket__main { padding: 14px 18px; }
	.np-ticket__title { font-size: 18px; }
	.np-more { margin-top: 60px; }
	.np .np-more__title { font-size: 32px; margin-bottom: 34px; }
}
@media (prefers-reduced-motion: reduce) {
	.np *, .np *::before, .np *::after { animation: none !important; transition: none !important; }
	.np-doodle { display: none; }
}
