/* PLATES (passe-partout cards) + A5 hover === */
.plate{position:relative;background:var(--chalk);border:1px solid var(--rule);padding:clamp(14px,8%,28px);box-shadow:var(--sh);margin:0;transition:transform .22s var(--ease)}
.plate::after{content:"";position:absolute;inset:0;box-shadow:var(--sh-h);opacity:0;transition:opacity .22s var(--ease);pointer-events:none}
.pno{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sang-d);position:relative;display:inline-block}
.pno::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--sang);transform:scaleX(0);transform-origin:0 50%;transition:transform .32s var(--ease)}
a.plate,button.plate{display:block;text-decoration:none;color:inherit;text-align:left;font:inherit;cursor:pointer;width:100%}
a.plate:is(:hover,:focus-visible),button.plate:is(:hover,:focus-visible),.plate.hov:hover{transform:translateY(-3px)}
a.plate:is(:hover,:focus-visible)::after,button.plate:is(:hover,:focus-visible)::after,.plate.hov:hover::after{opacity:1}
a.plate:is(:hover,:focus-visible) .pno::after,button.plate:is(:hover,:focus-visible) .pno::after,.plate.hov:hover .pno::after{transform:scaleX(1)}
.plate figcaption,.fc{font-size:.84rem;color:var(--ink2);margin-top:.8rem;line-height:1.45}
.cls h3{margin:.8rem 0 .3rem}
.cls .art-slot{height:clamp(200px,22vw,270px);margin:.6rem 0}.cls .art{height:100%;width:auto;margin:0 auto}
.cls .meta{font-size:.84rem;color:var(--ink2);display:flex;gap:.3em 1em;flex-wrap:wrap;margin-bottom:.8rem}
.fee{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--rule);padding:.5rem 0;font-size:.92rem}
.fee b{font-family:var(--serif);font-size:1.2rem;font-weight:600}
.fee.mf{color:var(--sang-d)}

/* class list rows (homepage layout 4) */
.cls-rows{display:grid;gap:clamp(14px,2vw,22px)}
.cls--row{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr);gap:0 clamp(16px,3vw,36px);align-items:center}
.cls--row .pno{grid-column:1/-1}
.cls--row .art-slot{height:150px;margin:.4rem 0}
.cls--row h3{margin-top:0}
@media (max-width:480px){.cls--row{grid-template-columns:minmax(0,1fr)}}
/* post card (index / archive / search / related) */
.news-card__media{position:relative;margin:-4px -4px .8rem;overflow:hidden}
.news-card__image{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.news-card__tag{position:absolute;left:10px;top:10px;background:var(--chalk);color:var(--sang-d);text-decoration:none}
.news-card__eyebrow{text-decoration:none;margin-bottom:.4rem}
.news-card__title{margin:.2rem 0 .4rem}
.news-card__title a{text-decoration:none}
.news-card__meta{margin:0}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,36px)}
@media (max-width:900px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.post-grid{grid-template-columns:minmax(0,1fr)}}
.pagination{margin-top:2.4rem}
.pagination .nav-links{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.pagination .page-numbers{font:700 .78rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:.8em 1em;border:1px solid var(--rule-2);border-radius:var(--r);text-decoration:none}
.pagination .page-numbers.current,.pagination a.page-numbers:hover{background:var(--graphite);color:var(--chalk);border-color:var(--graphite)}
.entry{max-width:76ch}
.entry h2{font-size:clamp(1.4rem,1.2rem + 1vw,1.9rem);margin-top:2.2rem}
.entry img{height:auto}
.single-meta{color:var(--ink2);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;display:flex;gap:1rem;flex-wrap:wrap}
.single-hero{margin:0 0 2rem}
.single-hero img{width:100%;height:auto}
.search-bar{display:flex;gap:.6rem;max-width:520px;margin-top:1.2rem}
.search-bar input{flex:1}
