.coffee-article .article-hero h1{font-size:clamp(2.7rem,6.4vw,6.2rem);max-width:1050px;line-height:1.07;overflow-wrap:break-word}
.coffee-article .article-main{max-width:960px;padding-top:55px}
.coffee-article .article-main a{text-decoration:underline;text-underline-offset:3px}
.coffee-article .article-main sup{font-size:.7em;line-height:0;margin-left:3px}
.coffee-article .article-main sup a{font-weight:700}
.coffee-article .article-image img{height:auto;aspect-ratio:auto}
.coffee-article .coffee-portrait{max-width:620px;margin:48px auto}
.coffee-toc{display:flex;flex-wrap:wrap;gap:12px 24px;padding:26px 0;border-top:1px solid #bbb;border-bottom:1px solid #bbb;margin:45px 0}
.coffee-toc strong{flex-basis:100%;font-family:Manrope,sans-serif}.coffee-toc a{font-size:.92rem}
.coffee-article :is(h2,li[id]){scroll-margin-top:110px}
.coffee-references{border-top:1px solid #aaa;margin-top:70px;overflow-wrap:anywhere}
.coffee-references h2{font-size:clamp(1.9rem,4vw,3rem);margin-top:40px}
.coffee-references p,.coffee-references li{font-size:.92rem;line-height:1.7}.coffee-references ol{padding-left:24px}.coffee-references li{padding:0 0 16px 8px}
.coffee-skip{position:fixed;top:-100px;left:12px;background:#ffd325;color:#111;padding:12px;z-index:1000}.coffee-skip:focus{top:12px}
.coffee-article a:focus-visible{outline:3px solid #936000;outline-offset:4px}
@media(max-width:600px){.coffee-article .article-hero{padding-top:70px;padding-bottom:65px}.coffee-article .article-main{padding-top:35px}.coffee-toc{flex-direction:column}.coffee-article .article-rules li{grid-template-columns:30px 1fr;gap:10px}.coffee-article .article-main h2{font-size:2rem}.coffee-article .article-quote{font-size:1.8rem}}
