/* A concise editorial introduction; the full project lives on /academy/. */
.academy-stage{--academy-secondary:#575a55;--academy-rule:#d7d8d2}
.academy-edition{max-width:1200px;margin:auto}
.academy-edition-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;margin-bottom:32px;border-bottom:1px solid var(--academy-rule)}
.academy-edition-top>p:first-child{font:italic 25px/1.3 'Instrument Serif',serif;margin:0}
.academy-edition-top .academy-development{display:inline-flex;align-items:center;gap:8px;margin:0;opacity:1;color:var(--academy-secondary);font-size:10px;line-height:1.5;letter-spacing:.1em;flex-shrink:0}
.academy-development::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}
.academy-edition .academy-editorial{grid-template-columns:1.15fr 1fr;gap:clamp(36px,6vw,88px);align-items:center}
.academy-frame{margin:0;min-width:0}
.academy-image-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;color:#191a18;cursor:zoom-in}
.academy-image-open img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 55%}
.academy-image-open>span{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;background:#fff;border-radius:50%}
.academy-image-open svg,.academy-cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.academy-image-open:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.academy-frame figcaption{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 20px;margin-top:14px}
.academy-frame figcaption>span:first-child{font:italic 23px/1.3 'Instrument Serif',serif}
.academy-frame figcaption>span:last-child{font-size:11px;line-height:1.5;color:var(--academy-secondary)}
.academy-story h2{font:400 clamp(62px,6.3vw,90px)/1.12 'Anton',sans-serif;letter-spacing:0;margin:0}
.academy-story h2 span{display:block}
.academy-story [data-academy=subtitle]{font:400 clamp(21px,2vw,27px)/1.4 'Instrument Sans',sans-serif;white-space:pre-line;margin:26px 0 0;opacity:1}
.academy-story .academy-description{font-size:16px;line-height:1.7;max-width:40ch;color:var(--academy-secondary);opacity:1;margin:24px 0 0}
.academy-edition .academy-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:48px;padding:10px 0;margin-top:30px;border-radius:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font-size:15px;text-decoration:none;transform:none;transition:none}
.academy-edition .academy-cta svg{transition:transform 200ms cubic-bezier(.16,1,.3,1)}
.academy-edition .academy-cta:hover svg{transform:translate(3px,-3px)}
.academy-lightbox{max-width:95vw;max-height:94dvh;padding:0;border:0;background:#10110f;overflow:visible}
.academy-lightbox::backdrop{background:#080a09e8}
.academy-lightbox>img{display:block;max-width:90vw;max-height:88dvh;width:auto;height:auto}
.academy-lightbox-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#111;font-size:27px;cursor:pointer}
.academy-lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:4px}
.is-night .academy-stage{--academy-secondary:#bfc2b8;--academy-rule:#45483f}
@media(max-width:900px) and (min-width:701px){.academy-edition .academy-editorial{gap:32px;grid-template-columns:1fr 1fr}.academy-story h2{font-size:58px}.academy-story .academy-description{font-size:15px}}
@media(max-width:700px){
 .academy-edition-top{align-items:flex-start;gap:16px;margin-bottom:26px;padding-bottom:18px}
 .academy-edition-top>p:first-child{font-size:22px;max-width:18ch}
 .academy-edition-top .academy-development{font-size:9px;letter-spacing:.04em;margin-top:6px}
 .academy-edition .academy-editorial{grid-template-columns:1fr;gap:30px}
 .academy-image-open img{aspect-ratio:6/5;object-position:center 64%}
 .academy-frame figcaption{gap:6px 12px;margin-top:12px}
 .academy-frame figcaption>span:first-child{font-size:21px}
 .academy-frame figcaption>span:last-child{font-size:10px}
 .academy-story h2{font-size:clamp(56px,15vw,76px)}
 .academy-story [data-academy=subtitle]{font-size:23px;margin-top:20px}
 .academy-story .academy-description{margin-top:20px}
 .academy-edition .academy-cta{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.academy-edition .academy-cta svg{transition:none}}
