/* About page v2: the homepage's photography, typography and section rhythm. */
.ws-about-content { width: 100%; margin: 0; color: var(--ws-ink); font: 400 17px/1.65 var(--ws-font); }
.ws-about-content .wsa-container { width: calc(100% - var(--ws-gutter) * 2); max-width: var(--ws-width); margin-inline: auto; }
.ws-about-content .wsa-section { padding-block: 80px; }
.ws-about-content :is(h1, h2, h3) { margin: 0 0 20px; font-family: var(--ws-heading-font); font-weight: 800; line-height: 1.2; letter-spacing: 0; text-transform: none; overflow-wrap: break-word; }
.ws-about-content h2 { font-size: clamp(26px, 3vw, 36px); }
.ws-about-content h3 { font-size: 24px; }
.ws-about-content p { margin: 0 0 22px; }
.ws-about-content p:last-child { margin-bottom: 0; }
.ws-about-content img { display: block; }
.ws-about-content .wsa-dot { color: var(--ws-orange); }
.ws-about-content .wsa-rule::after { content: ""; display: block; width: 46px; height: 3px; margin-top: 26px; background: var(--ws-orange); }

/* Same photo and contrast treatment as the homepage. */
.ws-about-content .wsa-hero, .ws-about-content .wsa-contact { position: relative; isolation: isolate; color: #fff; background: var(--ws-ink); }
.ws-about-content .wsa-hero__image, .ws-about-content .wsa-contact__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.ws-about-content .wsa-hero::before, .ws-about-content .wsa-contact::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ws-about-content .wsa-hero::before { background: linear-gradient(90deg, rgb(4 17 21 / 0%) 20%, rgb(4 17 21 / 8%) 43%, rgb(4 17 21 / 68%) 65%, rgb(4 17 21 / 76%) 100%); }
.ws-about-content .wsa-hero__inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; align-items: center; min-height: 640px; padding-block: 58px; }
.ws-about-content .wsa-hero__copy { grid-column: 2; min-width: 0; }
.ws-about-content .wsa-hero h1 { font-size: var(--ws-title-size); line-height: 1.12; margin-bottom: 26px; }
.ws-about-content .wsa-hero__copy > p { max-width: 510px; font-size: 18px; line-height: 1.55; margin-bottom: 30px; }
.ws-about-content .wsa-values { padding-block: 28px; background: var(--ws-ink); color: #fff; border-top: 1px solid rgb(255 255 255 / 9%); }
.ws-about-content .wsa-values__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; margin-block: 0; }
.ws-about-content .wsa-values__list li { padding: 4px 20px; text-align: center; font-size: 14px; font-weight: 600; }
.ws-about-content .wsa-values__list li + li { border-left: 1px solid #37505b; }

/* Open editorial columns, keeping all original school copy. */
.ws-about-content .wsa-philosophy__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; }
.ws-about-content .wsa-philosophy h2 { margin-bottom: 30px; }
.ws-about-content .wsa-philosophy__body { padding-top: 6px; }

/* Founder feature and complete, natively expandable biography. */
.ws-about-content .wsa-founder { background: var(--ws-ink); color: #fff; scroll-margin-top: 18px; }
.ws-about-content .wsa-founder__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 64px; }
.ws-about-content .wsa-founder h2 { font-size: clamp(26px, 3vw, 36px); margin-bottom: 18px; }
.ws-about-content .wsa-founder__role { color: #cfdee5; font-size: 15px; margin-bottom: 32px; }
.ws-about-content .wsa-founder__role::after { content: ""; display: block; width: 46px; height: 3px; margin-top: 28px; background: var(--ws-orange); }
.ws-about-content .wsa-founder blockquote { padding: 0 0 0 24px; margin: 0 0 28px; border-left: 4px solid var(--ws-orange); background: transparent; font-size: 24px; line-height: 1.5; }
.ws-about-content .wsa-founder__copy > p:not(.wsa-founder__role), .ws-about-content .wsa-founder .wsa-story__content { color: #e2ebef; }
.ws-about-content .wsa-story { margin-top: 26px; border-bottom: 1px solid #bcc8ce; }
.ws-about-content .wsa-story summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding-bottom: 18px; font: 700 15px/1.5 var(--ws-font); color: var(--ws-link); cursor: pointer; list-style: none; }
.ws-about-content .wsa-story summary::-webkit-details-marker { display: none; }
.ws-about-content .wsa-story summary::after { content: ""; width: 16px; height: 16px; flex-shrink: 0; background: currentColor; mask: url('../icons/about-plus.svg?v=1.15.1') center / contain no-repeat; }
.ws-about-content .wsa-story[open] summary::after { mask-image: url('../icons/about-minus.svg?v=1.15.1'); }
.ws-about-content .wsa-story summary:hover { text-decoration: underline; text-underline-offset: 5px; }
.ws-about-content .wsa-story__close, .ws-about-content .wsa-story[open] .wsa-story__open { display: none; }
.ws-about-content .wsa-story[open] .wsa-story__close { display: inline; }
.ws-about-content .wsa-story__content { padding-block: 6px 24px; font-size: 16px; line-height: 1.75; }
.ws-about-content .wsa-founder .wsa-story { border-color: #48606a; }
.ws-about-content .wsa-founder .wsa-story summary { color: #fff; }

/* Portraits echo the image-led offer columns on the homepage. */
.ws-about-content .wsa-team { scroll-margin-top: 18px; }
.ws-about-content .wsa-team__heading { display: grid; grid-template-columns: 2fr 1fr; align-items: end; gap: 48px; margin-bottom: 40px; }
.ws-about-content .wsa-team__heading h2, .ws-about-content .wsa-team__heading p { margin: 0; }
.ws-about-content .wsa-team__heading > p { font-size: 15px; }
.ws-about-content .wsa-team__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; align-items: start; }
.ws-about-content .wsa-person { min-width: 0; scroll-margin-top: 130px; }
.ws-about-content .wsa-person__copy { padding-top: 28px; }
.ws-about-content .wsa-person h3 { font-size: 24px; margin-bottom: 14px; }
.ws-about-content .wsa-person__role { color: var(--ws-muted); font-size: 13px; line-height: 1.65; min-height: 44px; }
.ws-about-content .wsa-person__bio { font-size: 16px; line-height: 1.75; }
.ws-about-content .wsa-person .wsa-gallery__track > a:first-child img { transform: scale(1.12); transform-origin: center 40%; }
.ws-about-content .wsa-person--tomasz .wsa-gallery__track > a:first-child img { object-position: 25% center; transform: scale(1.3); transform-origin: 25% 65%; }

/* Native scroll galleries; buttons/thumbs are enhancements. */
.ws-about-content .wsa-gallery { position: relative; min-width: 0; margin: 0; }
.ws-about-content .wsa-gallery__track { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; background: var(--ws-ink); }
.ws-about-content .wsa-gallery__track a { display: flex; flex: 0 0 100%; min-width: 0; aspect-ratio: 1; overflow: hidden; scroll-snap-align: start; scroll-snap-stop: always; }
.ws-about-content .wsa-gallery__track img { width: 100%; height: 100%; object-fit: cover; }
.ws-about-content .wsa-gallery__track a:focus-visible { outline-offset: -5px; }
.ws-about-content .wsa-gallery.is-enhanced .wsa-gallery__track { scrollbar-width: none; }
.ws-about-content .wsa-gallery.is-enhanced .wsa-gallery__track::-webkit-scrollbar { display: none; }
.ws-about-content .wsa-gallery__controls { position: absolute; inset: auto 14px 14px; display: flex; gap: 8px; align-items: center; pointer-events: none; }
.ws-about-content .wsa-gallery__controls button { pointer-events: auto; width: 44px; min-height: 44px; padding: 0; border: 0; background: rgb(9 24 31 / 88%); color: #fff; }
.ws-about-content .wsa-gallery__controls button:hover { background: var(--ws-link); }
.ws-about-content .wsa-gallery__controls button:disabled { opacity: .45; }
.ws-about-content .wsa-gallery__controls button::before { content: ""; width: 22px; height: 22px; background: currentColor; mask: url('../icons/about-chevron.svg?v=1.15.1') center / contain no-repeat; }
.ws-about-content .wsa-gallery__controls button:first-of-type::before { transform: rotate(180deg); }
.ws-about-content .wsa-gallery__count { margin-right: auto; padding: 6px 10px; background: rgb(9 24 31 / 85%); color: #fff; font-size: 13px; font-weight: 600; }
.ws-about-content .wsa-gallery__thumbs { display: flex; gap: 8px; overflow-x: auto; margin-top: 14px; padding: 3px; scrollbar-width: thin; }
.ws-about-content .wsa-gallery__thumbs button { flex: 1 0 44px; max-width: 72px; min-width: 44px; min-height: 44px; aspect-ratio: 1; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; background: transparent; opacity: .65; }
.ws-about-content .wsa-gallery__thumbs button[aria-pressed="true"] { border-color: var(--ws-blue); opacity: 1; }
.ws-about-content .wsa-gallery__thumbs button:hover { opacity: 1; }
.ws-about-content .wsa-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.ws-about-content .wsa-gallery--thumbs .wsa-gallery__controls { position: static; margin-top: 10px; }
.ws-about-content .wsa-gallery--thumbs .wsa-gallery__count { margin: 0 0 0 auto; padding: 0; background: none; color: #a4bac4; }
.ws-about-content .wsa-gallery--thumbs .wsa-gallery__controls button { display: none; }

/* Only Mateusz's introductory block uses a wide desktop gallery and a full rule. */
.ws-about-content .wsa-team-intro .wsa-story { border-bottom: 0; }
.ws-about-content .wsa-team-intro .wsa-gallery { align-self: start; }
.ws-about-content .wsa-team-intro__separator { margin: 40px auto 0; border: 0; border-top: 1px solid #bcc8ce; }
@media (min-width: 768px) {
 .ws-about-content .wsa-team-intro .wsa-gallery__track a { aspect-ratio: 10 / 7; }
}

.ws-about-content .wsa-contact { padding-block: 76px; }
.ws-about-content .wsa-contact::before { background: linear-gradient(90deg, rgb(4 18 24 / 86%), rgb(4 18 24 / 58%) 65%, rgb(4 18 24 / 25%)); }
.ws-about-content .wsa-contact__inner { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 260px; }
.ws-about-content .wsa-contact h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.2; }
.ws-about-content .wsa-contact p { max-width: 820px; margin-bottom: 28px; }
@media (min-width: 981px) and (max-width: 1200px) {
 .ws-about-content .wsa-philosophy__grid, .ws-about-content .wsa-founder__grid { gap: 40px; }
 .ws-about-content .wsa-team__grid { gap: 28px; }
 .ws-about-content .wsa-person h3 { font-size: 24px; }
}
@media (min-width: 768px) and (max-width: 980px) {
 .ws-about-content .wsa-container { width: calc(100% - var(--ws-gutter) * 2); }
 .ws-about-content .wsa-section { padding-block: 64px; }
 .ws-about-content .wsa-hero__inner { min-height: 580px; grid-template-columns: .7fr 1fr; gap: 28px; padding-block: 42px; }
 .ws-about-content .wsa-hero__copy > p { font-size: 16px; }
 .ws-about-content .wsa-philosophy__grid, .ws-about-content .wsa-founder__grid { gap: 32px; }
 .ws-about-content .wsa-founder blockquote { font-size: 21px; }
 .ws-about-content .wsa-founder__copy { font-size: 16px; }
 .ws-about-content .wsa-team__grid { grid-template-columns: 1fr; gap: 48px; }
 .ws-about-content .wsa-person { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
 .ws-about-content .wsa-person__copy { padding: 0; }
 .ws-about-content .wsa-team__heading { grid-template-columns: 1fr; gap: 18px; }
 .ws-about-content .wsa-person__role { min-height: 0; }
}
@media (max-width: 767px) {
 .ws-about-content { font-size: 16px; }
 .ws-about-content .wsa-container { width: calc(100% - var(--ws-gutter) * 2); }
 .ws-about-content .wsa-section { padding-block: 50px; }
 .ws-about-content h3 { font-size: 24px; }
 .ws-about-content .wsa-hero__image { object-position: 30% center; }
 .ws-about-content .wsa-hero::before { background: linear-gradient(180deg, rgb(4 17 21 / 10%), rgb(4 17 21 / 38%) 25%, rgb(4 17 21 / 90%) 73%, rgb(4 17 21 / 98%)); }
 .ws-about-content .wsa-hero__inner { display: flex; align-items: flex-end; min-height: 620px; padding-block: 260px 36px; }
 .ws-about-content .wsa-hero h1 { margin-bottom: 20px; }
 .ws-about-content .wsa-hero__copy > p { max-width: 380px; font-size: 16px; margin-bottom: 24px; }
 .ws-about-content .wsa-values { padding: 0; }
 .ws-about-content .wsa-values__list { grid-template-columns: 1fr; }
 .ws-about-content .wsa-values__list li { padding: 16px 0; text-align: left; font-size: 13px; }
 .ws-about-content .wsa-values__list li + li { border-left: 0; border-top: 1px solid #37505b; }
 .ws-about-content .wsa-philosophy__grid, .ws-about-content .wsa-founder__grid, .ws-about-content .wsa-team__grid { grid-template-columns: 1fr; gap: 32px; }
 .ws-about-content .wsa-philosophy__body { padding: 0; }
 .ws-about-content .wsa-founder blockquote { font-size: 21px; padding-left: 20px; }
 .ws-about-content .wsa-team__heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
 .ws-about-content .wsa-team__grid { gap: 44px; }
 .ws-about-content .wsa-person__copy { padding-top: 24px; }
 .ws-about-content .wsa-person__role { min-height: 0; }
 .ws-about-content .wsa-contact { padding-block: 56px; }
 .ws-about-content .wsa-contact__image { object-position: 64% center; }
 .ws-about-content .wsa-contact::before { background: rgb(4 18 24 / 72%); }
 .ws-about-content .wsa-contact__inner { min-height: 320px; }
}

@media print {
 .ws-about-content .wsa-gallery__track { display: grid; grid-template-columns: repeat(3, 1fr); overflow: visible; }
 .ws-about-content .wsa-gallery__controls, .ws-about-content .wsa-gallery__thumbs { display: none; }
}

.ws-about-content h1 { font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }

.ws-about-content .wsa-gallery__track { border-radius: var(--ws-card-radius); }
