/* About page (PHP layout). Figma: portrait 358x321 | introduction (Quicksand Light 20, 5% tracking, centred) with contact
   block; two posters (242x484, 272x484) and a wide poster (611x344) centred below; decorative pomegranates at the edges. */
.ps-about { position: relative; box-sizing: border-box; padding: 40px var(--ps-gutter) 72px; font-family: var(--ps-font-brand); text-align: center; }
.ps-about__top { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; max-width: calc(var(--ps-container) - 100px); margin-inline: auto; align-items: start; }
.ps-about__portrait { margin: 0 auto; width: min(358px, 100%); }
.ps-about__portrait img { display: block; width: 100%; height: auto; }
.ps-about__intro { margin-inline: auto; max-width: 620px; font-weight: 300; font-size: clamp(17px, 4.4vw, 20px); letter-spacing: 0.05em; line-height: 1.25; }
.ps-about__intro p { margin: 0 0 1.25em; }
.ps-contacts { margin-top: 28px; font-weight: 500; font-size: 15px; letter-spacing: 0.02em; line-height: 1.3; }
.ps-contacts p { margin: 0 0 14px; }
.ps-contacts a { color: inherit; overflow-wrap: anywhere; }
.ps-contacts .ps-link-accent { color: var(--ps-link-accent); text-decoration: none; }
.ps-contacts .ps-link-accent--underline { color: var(--ps-link-accent-2); text-decoration: underline; }
.ps-contacts__icon a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; font-size: 23px; color: #383838; }

.ps-about__posters { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 28px clamp(12px, 6.5vw, 94px); margin: 48px auto 0; max-width: calc(var(--ps-container) - 100px); }
.ps-about__poster { margin: 0; max-width: 100%; }
.ps-about__poster img { display: block; width: 100%; height: auto; }
.ps-about__poster--1 { width: min(242px, 40vw); }
.ps-about__poster--2 { width: min(272px, 44vw); }
.ps-about__poster--3 { width: min(611px, 100%); }

.ps-decor { display: none; }

@media (min-width: 900px) {
	.ps-about { padding-top: 100px; }
	.ps-about__top { grid-template-columns: 358px minmax(0, 1fr); column-gap: 97px; }
	.ps-about__text { padding-top: 56px; }
	.ps-about__posters { margin-top: 77px; }
}
@media (min-width: 1200px) {
	.ps-decor--about { display: block; }
	.ps-decor--about .ps-decor__img { position: absolute; width: 114px; height: auto; }
	.ps-decor--about .ps-decor__img--1 { left: 5.07%; top: 480px; transform-origin: 0 0; transform: matrix(0.049, 0.999, -0.999, 0.049, 0, 0); }
	.ps-decor--about .ps-decor__img--2 { left: 96.04%; top: 1188px; }
}
