/* Coast Times Digital — justified editorial typography and refined news cards */
:root{--ct-paper:#fff;--ct-ink:#18263b;--ct-accent:#b7353c;--ct-border:#e3e8ef}
/* Apply justification to readable editorial paragraphs, not navigation, controls or metadata. */
main p,.article-body p,.leadstory p,.storycard p,.headlines p,.rightstories p,.deck,.advertpage>p,.adoption p{ text-align:justify; text-justify:inter-word; hyphens:auto; overflow-wrap:break-word; }
.articlelayout main{min-width:0}
.articlelayout .article-title{color:var(--ct-ink);line-height:1.19;letter-spacing:-.035em}
.articlelayout .deck{font:400 clamp(17px,2vw,21px)/1.75 'DM Sans',Arial,sans-serif;color:#536075;padding:15px 20px;border-left:4px solid var(--ct-accent);background:#f4f7fb;border-radius:0 10px 10px 0;margin:22px 0}
.article-body{font:400 clamp(17px,1.6vw,19px)/1.9 Georgia,'Times New Roman',serif;color:#283346;background:var(--ct-paper);padding:clamp(14px,3vw,34px);border:1px solid var(--ct-border);border-radius:14px;box-shadow:0 14px 36px rgba(20,36,65,.055)}
.article-body p{margin:0 0 1.35em;letter-spacing:.003em}
.article-body p:last-child{margin-bottom:0}
.article-body h2,.article-body h3{font-family:'Libre Baskerville',Georgia,serif;text-align:left;color:#152c50;line-height:1.4;letter-spacing:-.025em;clear:both}
.article-body h2{font-size:clamp(23px,2.5vw,28px);padding:0 0 11px;border-bottom:2px solid #e9edf3;margin:1.7em 0 .85em;position:relative}
.article-body h2:after{content:'';position:absolute;left:0;bottom:-2px;width:64px;height:3px;background:var(--ct-accent)}
.article-body h3{font-size:21px;margin:1.45em 0 .6em}
.article-body a{color:#a82e3c;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-body blockquote{margin:28px 0;padding:20px 24px;border-left:4px solid var(--ct-accent);background:#f6f8fc;border-radius:0 10px 10px 0;font-style:italic;color:#273d5a}
.article-body ul,.article-body ol{padding-left:1.5em;margin:0 0 1.3em}.article-body li{padding-left:4px;margin:.45em 0;line-height:1.8;text-align:justify}
.article-body img{max-width:100%;border-radius:10px}.article-body figure{margin:22px 0}.article-body figcaption{text-align:center;font:12px/1.5 'DM Sans',Arial,sans-serif;color:#697789}
.articlelayout .article-hero{border-radius:12px;box-shadow:0 12px 26px rgba(15,28,48,.12)}
.articlelayout .byline{display:flex;flex-wrap:wrap;gap:5px;align-items:center;padding-bottom:18px}
.articlelayout aside{padding:20px;border:1px solid var(--ct-border);background:#fff;border-radius:12px;align-self:start}
.articlelayout aside h2{border-bottom:2px solid var(--ct-accent);padding-bottom:12px}
.storycard{background:#fff;border:1px solid var(--ct-border);border-top:3px solid #173457;padding:12px;border-radius:12px;box-shadow:0 7px 24px rgba(17,38,82,.055);transition:transform .2s ease,box-shadow .2s ease}
.storycard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(17,38,82,.12)}
.storycard img,.storycard .photo-placeholder{border-radius:7px}
.storycard h3{line-height:1.38;margin:12px 0}
.leadstory{background:#fff;padding:16px;border-radius:12px;border:1px solid var(--ct-border);box-shadow:0 7px 24px rgba(17,38,82,.05)}
.leadstory .heroimage{border-radius:8px}
.sharebar{background:#f7f9fc;padding:15px;border-radius:9px;border:1px solid var(--ct-border)}
.sharebar a,.sharebar button{background:#fff;border:1px solid #dce4ee;border-radius:6px}
.sharebar a:hover,.sharebar button:hover{background:#173457;color:#fff}
@media(max-width:700px){.article-body{padding:18px;font-size:17px;line-height:1.78}.article-body p,.deck,main p{text-align:justify}.articlelayout aside{padding:15px}.storycard{padding:11px}.articlelayout .deck{padding:12px 15px}}
@media(prefers-reduced-motion:reduce){.storycard{transition:none}.storycard:hover{transform:none}}
