/* Signed recommendation letters on /references */
.lts { --bg:#F6F7F4; --band:#ECEFEA; --head:#2E6F7B; --body:#51656B; --muted:#5A6B6F; --teal:#0B6B70; --hl:rgba(255,214,64,.55); }
.lts .eyebrow { font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--teal); margin:0 0 12px; }
.lts h1 { margin:0; color:var(--head); font-size:clamp(30px,4vw,44px); letter-spacing:-.02em; font-weight:600; }
.lts .sub { margin:12px 0 0; font-size:17px; max-width:620px; }
.lts .list { margin-top:36px; display:grid; gap:18px; }
.lts .lt { display:flex; gap:40px; align-items:center; background:var(--tint); border-radius:32px; padding:28px 40px 28px 28px; }
.lts .lt--flip { flex-direction:row-reverse; padding:28px 28px 28px 40px; }
.lts .lt__doc { flex:none; width:230px; border:0; padding:0; background:none; cursor:zoom-in; position:relative; transform:rotate(-3deg); transition:transform .25s ease; }
.lts .lt--flip .lt__doc { transform:rotate(3deg); }
.lts .lt__doc:hover { transform:rotate(0) scale(1.03); }
.lts .lt__doc:focus-visible, .lts .lt__more:focus-visible { outline:2px solid var(--teal); outline-offset:4px; }
.lts .lt__paper, .lts .lb__paper { position:relative; display:block; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 18px 36px rgba(20,40,40,.18); }
.lts .lt__paper img, .lts .lb__paper img { display:block; width:100%; height:auto; }
.lts .lt__paper i, .lts .lb__paper i { position:absolute; background:var(--hl); mix-blend-mode:multiply; border-radius:3px; }
.lts .lt__zoom { position:absolute; left:50%; bottom:14px; transform:translateX(-50%); background:#fff; color:var(--teal); font:600 12px 'Sora',sans-serif; padding:7px 12px; border-radius:999px; box-shadow:0 6px 14px rgba(0,0,0,.14); white-space:nowrap; }
.lts .lt__txt { flex:1; min-width:0; }
.lts .lt__logo { height:34px; width:auto; max-width:200px; object-fit:contain; }
.lts blockquote { margin:16px 0 0; font-size:clamp(20px,2.2vw,27px); line-height:1.4; color:#2D4A4F; font-weight:500; text-wrap:balance; }
.lts mark { background:linear-gradient(transparent 55%, var(--hl) 55%); color:inherit; padding:0 2px; }
.lts .lt__chips { margin-top:18px; display:flex; flex-wrap:wrap; gap:8px; }
.lts .lt__chips span { font-size:13px; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.75); color:#2D4A4F; }
.lts .lt__note { margin:10px 0 0; font-size:12px; color:var(--muted); }
.lts .lt__more { margin-top:18px; border:0; background:none; padding:0; font:600 15px 'Sora',sans-serif; color:var(--teal); cursor:pointer; text-decoration:underline; text-underline-offset:5px; }
.lb { position:fixed; inset:0; z-index:200; background:rgba(10,24,24,.6); backdrop-filter:blur(3px); display:flex; align-items:flex-start; justify-content:center; overflow-y:auto; padding:max(24px,env(safe-area-inset-top,0px)) 16px 24px; }
.lb[hidden] { display:none; }
.lb__box { position:relative; width:min(760px,100%); }
.lb__close { position:sticky; top:0; float:right; margin:-8px -8px 0 0; width:42px; height:42px; border-radius:50%; border:0; background:#fff; color:#2D4A4F; font-size:22px; cursor:pointer; z-index:2; box-shadow:0 6px 14px rgba(0,0,0,.2); }
.lb__hint { color:#fff; font-size:13px; margin:0 0 10px; }
@media (max-width:760px) {
.lts .lt, .lts .lt--flip { flex-direction:column; align-items:flex-start; padding:22px; gap:22px; }
.lts .lt__doc { width:180px; align-self:center; }
}

@media (prefers-reduced-motion:reduce) {
.lts .lt__doc { transition:none; }
}

.lts { font-family: "Sora", system-ui, sans-serif; margin-top: 4rem; text-align: left; }
.lts *, .lts *::before, .lts *::after { box-sizing: border-box; }
.lts .lt__logo { background: transparent; }
.lb { --hl: rgba(255,214,64,.55); }

@media (max-width:760px) { .lb { padding:max(12px,env(safe-area-inset-top,0px)) 10px 24px; } .lb__close { margin:0 0 8px; position:sticky; top:4px; } .lb__hint { padding-right:52px; } }
