.acad-sec{padding-block:clamp(56px,6vw,96px) clamp(76px,8.6vw,124px)}.acad{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:clamp(32px,5vw,80px);display:grid}.subjects{border-top:1px solid var(--ink)}.subj{border-bottom:1px solid var(--hair);transition:padding .45s var(--ease),background .45s var(--ease);cursor:default;grid-template-columns:64px minmax(0,1fr) 28px;gap:6px 18px;padding:24px 0;display:grid}.subj__n{font:italic 600 26px/1.1 var(--serif);color:var(--maroon);grid-row:span 2}.subj__name{font:500 clamp(1.7rem,1.2rem + 1.3vw,2.4rem)/1.05 var(--serif)}.subj__desc{color:var(--ink-2);grid-column:2;max-width:520px;font-size:15px;line-height:1.55}.subj__arrow{width:22px;height:22px;color:var(--maroon);opacity:0;transition:opacity .35s,transform .45s var(--ease);grid-area:1/3;align-self:center;transform:translate(-8px)}.subj:hover,.subj:focus-within,.subj.is-active{background:linear-gradient(90deg,#6d1f330d,#0000 70%);padding-left:12px}.subj:hover .subj__arrow,.subj.is-active .subj__arrow{opacity:1;transform:none}.acad__fig{top:calc(var(--bar-h) + 40px);margin:0;position:sticky}.acad__frame{aspect-ratio:4/5;background:var(--paper-3);border:1px solid var(--hair);padding:10px;position:relative}.acad__frame img{object-fit:cover;opacity:0;transition:opacity .7s var(--ease),transform 1.2s var(--ease);position:absolute;inset:10px;transform:scale(1.03);width:calc(100% - 20px)!important;height:calc(100% - 20px)!important}.acad__frame img.is-on{opacity:1;transform:none}.acad__cap{font:italic 500 15px/1.35 var(--serif);color:var(--ink-3);gap:10px;margin-top:12px;display:flex}.acad__cap b{font:600 10.5px/1.6 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);font-style:normal}.subj__thumb{display:none}@media (max-width:1079px){.acad{grid-template-columns:1fr}.acad__fig{display:none}.subj{grid-template-columns:64px minmax(0,1fr)}.subj__arrow{display:none}.subj__thumb{grid-column:2;max-width:420px;margin-top:12px;display:block}.subj__thumb img{aspect-ratio:16/10;object-fit:cover}}@media (max-width:640px){.subj{grid-template-columns:44px minmax(0,1fr);gap:6px 12px}}
