/* the public Academy page: one fixed layout (text, photograph, index) that changes as you scroll */
.acp{--h:100vh;position:relative;height:calc(var(--h) * var(--n,4));border-top:1px solid var(--ink,#171715);color:var(--ink,#171715)}
.acs-stage{position:sticky;top:var(--nav,0px);height:calc(var(--h) - var(--nav,0px));overflow:hidden}
.acs-step{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,46%) minmax(0,14%);opacity:0;visibility:hidden;transition:opacity .55s ease,visibility 0s linear .55s}
.acs-step.on{opacity:1;visibility:visible;transition:opacity .55s ease}
.acs-img{margin:0;grid-column:2;height:100%;overflow:hidden;background:#e8e6e2}
.acs-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.04);transition:transform 1.4s ease}
.acs-step.on .acs-img img{transform:scale(1)}
.acs-text{grid-column:1;align-self:center;padding:0 clamp(20px,4vw,56px) 0 clamp(20px,3vw,40px);max-width:520px;font-family:'Cormorant Garamond',Georgia,serif}
.acs-n{margin:0 0 22px;font:500 10px/1 var(--sans,'Jost',sans-serif);letter-spacing:.14em}
.acs-text h1,.acs-text h2{font:500 clamp(22px,2.2vw,30px)/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:0;margin:0 0 14px}
.acs-sub{margin:0 0 28px;font:400 11px/1.4 var(--sans,'Jost',sans-serif);letter-spacing:.04em;opacity:.7}
.acs-body{margin:0 0 24px;font-size:16px;line-height:1.5;max-width:42ch}
.acs-links{margin:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.acs-links a{font:500 9.5px/1.6 var(--sans,'Jost',sans-serif);letter-spacing:.14em;text-transform:uppercase;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.acs-links a:hover{opacity:.6}
.acp .acp-ls{list-style:none;margin:0 0 22px;padding:0;font:400 12.5px/1.8 var(--sans,'Jost',sans-serif)}
.acp .acp-ls li{display:flex;gap:16px}.acp .acp-ls li span:first-child{min-width:44px;opacity:.6}
.acp .acp-ls a{color:inherit;text-decoration:none}.acp .acp-ls a:hover{text-decoration:underline;text-underline-offset:3px}
.acp .acp-ls .st{opacity:.5;margin-left:8px;font-size:11px}
.acs-acc{margin:0 0 22px;max-width:360px}
.acs-acc details{border-top:1px solid rgba(23,23,21,.25);padding:7px 0}.acs-acc details:last-child{border-bottom:1px solid rgba(23,23,21,.25)}
.acs-acc summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none;font:500 8.5px/1.8 var(--sans,'Jost',sans-serif);letter-spacing:.14em}.acs-acc summary::-webkit-details-marker{display:none}.acs-acc summary i{font-style:normal}
.acs-acc details[open] summary i{display:inline-block;transform:rotate(45deg)}
.acs-acc p{margin:6px 0 4px;font:400 12px/1.6 var(--sans,'Jost',sans-serif);opacity:.8}
.acs-faq{max-height:30vh;overflow:auto}
.acs-dots{position:absolute;right:calc(7% - 4px);top:50%;transform:translate(50%,-50%);list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;z-index:3}
.acs-dots button{display:block;width:7px;height:7px;border:1px solid currentColor;border-radius:50%;background:none;padding:0;cursor:pointer;color:inherit}
.acs-dots button.on{background:currentColor}
.acs-dots button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:860px){
  .acp{height:auto}.acs-stage{position:static;height:auto;overflow:visible}
  .acs-step{position:relative;inset:auto;display:block;opacity:1;visibility:visible;border-bottom:1px solid var(--ink,#171715);padding:30px 0 36px}
  .acs-img{height:min(70vh,520px);margin:0 0 24px}.acs-text{padding:0 20px;max-width:none}.acs-dots{display:none}
  .acs-img img{transform:none}.acs-faq{max-height:none}
}
@media(prefers-reduced-motion:reduce){.acs-step,.acs-img img{transition:none}}

/* the Academy's own header and sign-up bar */
.acn{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:18px;padding:0 clamp(16px,3vw,40px);height:60px;background:var(--bg,#fbfbfa);color:var(--ink,#171715);border-bottom:1px solid var(--ink,#171715)}
.acn-brand img{display:block;height:22px;width:auto}
.acn-name{font:500 10px/1 var(--sans,'Jost',sans-serif);letter-spacing:.24em;text-transform:uppercase;padding-left:18px;border-left:1px solid currentColor;opacity:.8}
.acn-nav{display:flex;gap:clamp(14px,2.2vw,30px);margin-left:auto}
.acn a{font:500 9.5px/1 var(--sans,'Jost',sans-serif);letter-spacing:.18em;text-transform:uppercase;color:inherit;text-decoration:none;opacity:.7}.acn a:hover{opacity:1}
.acn-end{display:flex;align-items:center;gap:18px;margin-left:clamp(10px,2vw,28px)}
.acn .acn-btn{opacity:1;background:var(--ink,#171715);color:var(--bg,#fbfbfa);padding:11px 16px}
.cta .cta-btns{display:flex;gap:10px}.cta .btn-o{background:transparent;color:inherit;border:1px solid currentColor}
@media(max-width:860px){.acn-nav{display:none}.acn-end{margin-left:auto}.cta .cta-btns .btn-o{display:none}}
html[data-night] .acn-brand img{filter:invert(1) brightness(1.6)}
