/* V2.3.3: mobile viewport protection and back-to-top */
html,body{width:100%;max-width:100%;overflow-x:hidden}
main,.site-header,.site-footer,.hero,.journal-hero,.article-body,.journal-body{max-width:100%;overflow-x:hidden}
.wrap,.journal-layout,.journal-content,.journal-block-system,.journal-story-block,.journal-block-label,.journal-block-copy{min-width:0;max-width:100%}
.journal-content img,.journal-media-frame,.journal-media-frame img{max-width:100%!important}
.back-to-top{position:fixed;z-index:90;right:22px;bottom:22px;width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:var(--magenta);color:#fff;font-size:22px;font-weight:900;box-shadow:0 12px 35px rgba(159,13,76,.3);opacity:0;visibility:hidden;transform:translateY(15px);transition:.25s;cursor:pointer}
.back-to-top.visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover{background:var(--ink);transform:translateY(-3px)}
@media(max-width:640px){
 html,body{overflow-x:hidden!important}
 .hero,.journal-hero,.article-hero{width:100%!important;max-width:100vw!important}
 .hero h1,.journal-hero h1,.article-hero h1{max-width:100%!important;font-size:clamp(38px,11vw,53px)!important;line-height:1!important;overflow-wrap:anywhere!important;word-break:normal!important;hyphens:auto!important}
 .hero-lead,.journal-hero-copy>p,.article-hero p{max-width:100%!important;overflow-wrap:anywhere}
 .journal-layout{width:calc(100% - 28px)!important}
 .journal-story-block{width:100%;padding:25px 20px!important}
 .journal-block-label{grid-template-columns:36px minmax(0,1fr)!important}
 .journal-block-label h2{font-size:clamp(28px,9vw,39px)!important;overflow-wrap:anywhere!important}
 .journal-meta{max-width:100%;flex-wrap:wrap}
 .journal-meta span{white-space:normal}
 .back-to-top{right:15px;bottom:16px;width:46px;height:46px}
}
