.letters-section{padding:76px 0 82px;background:#fff;border-top:1px solid #e3e9e4;overflow:hidden}
.letters-section .letters-section__wrap{width:min(1800px,calc(100% - 48px))}
.letters-section__heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}
.letters-section__heading h2{margin:0;font-size:clamp(38px,4vw,60px);font-weight:660;letter-spacing:-.05em;line-height:1.08}
.letters-section__controls{display:flex;align-items:center;gap:7px;flex:none}
.letters-section__counter{display:inline-flex;align-items:baseline;gap:5px;margin-right:17px;color:#667269;font:600 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}
.letters-section__counter strong{color:#10162f;font-size:17px;font-weight:650}
.letters-section__controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #d4ded6;border-radius:5px;background:#fff;color:#10162f;font-size:30px;font-weight:300;line-height:1;transition:border-color .2s,color .2s}
.letters-section__controls button:hover:not(:disabled){border-color:#078e51;color:#078e51}
.letters-section__controls button:disabled{color:#b8c2ba;cursor:default}
.letters-section__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none}
.letters-section__viewport::-webkit-scrollbar{display:none}
.letters-section__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);align-items:start;gap:24px}
.letter-card{min-width:0;scroll-snap-align:start}
.letter-card__link{display:block;color:inherit}
.letter-card__scan{display:flex;align-items:center;justify-content:center;height:400px;min-height:0;overflow:hidden;padding:17px;border:1px solid #e1e7e2;background:#f2f4f2}
.letter-card__scan img{display:block;width:auto;max-width:100%;height:100%;max-height:100%;object-fit:contain;filter:saturate(.78)}
.letter-card__link:hover .letter-card__scan{border-color:#9abfa6}
.letter-card__footer{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid #dbe3dc}
.letter-card__identity{display:grid;gap:3px;min-width:0}
.letter-card__identity strong{font-size:18px;font-weight:690;line-height:1.25}
.letter-card__identity small{color:#6b756e;font-size:13px;line-height:1.35}
.letter-card__arrow{flex:none;color:#078e51;font-size:23px;line-height:1}
.letter-card__symbol{display:block;color:#078e51;font:600 56px/1 Georgia,serif}
.letter-card blockquote{display:-webkit-box;overflow:hidden;-webkit-line-clamp:8;-webkit-box-orient:vertical;min-height:360px;margin:8px 0 0;font:20px/1.45 Georgia,serif}
.letters-section__all{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding:0 0 3px;border-bottom:1px solid #078e51;color:#078e51;font-size:16px;font-weight:700}
.letters-section__all:hover{color:#056c3e;border-color:#056c3e}
.letters-section :is(a,button,.letters-section__viewport):focus-visible{outline:3px solid #078e51;outline-offset:4px}
@media(max-width:1350px){.letters-section__track{grid-auto-columns:calc((100% - 44px)/3);gap:22px}}
@media(max-width:980px){.letters-section__track{grid-auto-columns:calc((100% - 20px)/2);gap:20px}}
@media(max-width:700px){.letters-section{padding:58px 0 66px}.letters-section .letters-section__wrap{width:calc(100% - 32px)}.letters-section__heading{align-items:start;gap:16px;margin-bottom:23px}.letters-section__heading h2{font-size:clamp(35px,8vw,48px)}.letters-section__controls{align-self:end}.letters-section__counter{display:none}.letters-section__controls button{width:40px;height:40px;font-size:27px}.letters-section__track{grid-auto-columns:min(85%,340px);gap:14px}.letter-card__scan{height:350px;padding:13px}.letter-card__identity strong{font-size:17px}.letter-card blockquote{min-height:310px;font-size:18px}}
@media(max-width:390px){.letters-section__heading{flex-direction:column}.letters-section__controls{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){.letters-section__controls button{transition:none}}
.letters-library{margin:0 0 72px}
.letters-library__heading{max-width:920px;margin-bottom:30px}
.letters-library__heading h2{margin:10px 0 12px;color:#10162f;font-size:clamp(34px,3.5vw,54px);line-height:1.08;letter-spacing:-.045em}
.letters-library__heading p{max-width:780px;margin:0;color:#5c6878;font-size:17px;line-height:1.5}
.letters-library__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.letters-library__card{min-width:0;padding:13px;border:1px solid #dfeae2;border-radius:24px;background:#fff}
.letters-library__image{position:relative;display:grid;place-items:center;overflow:hidden;height:430px;border-radius:15px;background:#eef5f0}
.letters-library__image img{width:100%;height:100%;object-fit:contain}
.letters-library__image>span{position:absolute;right:14px;bottom:14px;padding:9px 14px;border-radius:99px;background:#fff;color:#087b46;font-size:13px;font-weight:760;box-shadow:0 4px 18px #10241920}
.letters-library__details{display:grid;gap:5px;padding:17px 10px 5px}
.letters-library__details strong{color:#10162f;font-size:18px;line-height:1.3}
.letters-library__details small{color:#5c6878;font-size:13px;line-height:1.4}
.letters-library__text{padding-top:34px;border-top:1px solid #dfeae2}
.letters-library :is(a):focus-visible{outline:3px solid #08c66b;outline-offset:3px}
@media(max-width:1050px){.letters-library__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.letters-library{margin-bottom:48px}.letters-library__heading p{font-size:15px}.letters-library__grid{grid-template-columns:1fr;gap:15px}.letters-library__image{height:400px}}
