/* Shared editorial template. Scoped to the blog listing and article only. */
.ec-blog-listing .ec-screen-shell{max-width:1120px}.ec-blog-intro{text-align:center;max-width:730px;margin:20px auto 38px}.ec-blog-eyebrow{display:block;color:#87e7f1;font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ec-blog-intro h1{font-size:clamp(2.5rem,6vw,4.6rem);line-height:1.05;letter-spacing:-.05em;margin:14px 0}.ec-blog-intro p{font-size:1.1rem;color:#d4e4e7;line-height:1.7}.ec-post-card,.ec-blog-cta,.ec-author-card{border:1px solid rgba(159,226,238,.55);border-radius:26px;overflow:hidden;background:linear-gradient(135deg,rgba(40,70,76,.65),rgba(7,25,30,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 45px #0003;backdrop-filter:blur(18px)}.ec-post-card--featured{display:grid;grid-template-columns:1fr 1.15fr}.ec-post-cover{display:block;position:relative;min-height:230px;overflow:hidden;background:#0b2025}.ec-post-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.ec-post-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#031418dd)}.ec-post-cover span{position:absolute;bottom:24px;left:24px;z-index:1;color:#fff;font-size:.7rem;letter-spacing:.13em;font-weight:800}.ec-post-copy{padding:32px}.ec-post-copy h2{font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.18;letter-spacing:-.025em;margin:15px 0}.ec-post-copy h2 a{color:#fff;text-decoration:none}.ec-post-copy p{color:#d3e2e5;line-height:1.65;margin:16px 0}.ec-post-copy .ec-post-meta{color:#b4cdd2;font-size:.8rem;line-height:1.7}.ec-blog-action{display:inline-flex;align-items:center;gap:12px;color:#8decf5;text-decoration:none;font-weight:750;font-size:.92rem;padding:10px 0;min-height:44px}.ec-blog-action:hover,.ec-post-copy h2 a:hover{color:#fff}.ec-blog-listing a:focus-visible,.ec-article-page a:focus-visible{outline:3px solid #65e4ef;outline-offset:4px}.ec-all-posts{margin:54px 0}.ec-all-posts>h2{font-size:1.85rem;margin:0 0 22px}.ec-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ec-post-grid .ec-post-copy{padding:24px}.ec-post-grid .ec-post-copy h2{font-size:1.45rem}.ec-list-search{margin-bottom:22px}.ec-list-search label{display:block;font-size:.85rem;font-weight:700;margin-bottom:10px;color:#dfedf0}.ec-list-search form>div{display:flex;gap:10px;max-width:650px}.ec-list-search input{min-width:0;width:100%;border:1px solid #8bced488;background:#071b22b8;color:#fff;border-radius:12px;padding:13px;font:inherit}.ec-list-search input::placeholder{color:#b6c8cb}.ec-list-search button{border:1px solid #8bced488;border-radius:12px;background:#15404c;color:#fff;padding:10px 18px;font:inherit;cursor:pointer}.ec-list-status{color:#b4cdd2;font-size:.8rem}.ec-post-card[hidden]{display:none}.ec-blog-cta{padding:32px;margin:32px 0}.ec-blog-cta h2{font-size:1.6rem;line-height:1.25;margin:0 0 12px}.ec-blog-cta p{color:#d3e2e5;line-height:1.6}.ec-blog-cta .ec-blog-action{margin-right:26px}.ec-article-page .ec-screen-shell{width:min(1050px,calc(100% - 40px));padding-top:32px}.ec-article-hero{max-width:940px;margin:40px auto}.ec-article-hero h1{color:#fff;font-size:clamp(2.15rem,5vw,4.3rem);line-height:1.07;letter-spacing:-.04em;margin:18px 0 24px;text-wrap:balance}.ec-article-lead{max-width:760px;color:#d1e5e8;font-size:1.16rem;line-height:1.7}.ec-byline{display:flex;gap:16px;align-items:center;margin:26px 0}.ec-byline img{object-fit:cover;object-position:65% 55%;border-radius:50%;flex-shrink:0}.ec-byline strong{color:#fff;display:block}.ec-byline span{display:block;font-size:.8rem;color:#b7d2d8;line-height:1.6}.ec-article-body{max-width:800px;margin:0 auto;background:rgba(5,21,27,.87);border:1px solid #8bced444;border-radius:28px;padding:clamp(22px,4vw,48px);color:#e1edf0;font-size:1.04rem;line-height:1.85}.ec-article-body>p{margin:0 0 23px}.ec-article-body h2{font-size:clamp(1.45rem,3vw,1.9rem);line-height:1.3;letter-spacing:-.02em;color:#fff;margin:42px 0 18px;scroll-margin-top:110px}.ec-article-body h3{color:#fff;font-size:1.3rem}.ec-article-body a{color:#8decf5;text-underline-offset:3px;overflow-wrap:anywhere}.ec-article-body blockquote{margin:30px 0;padding:12px 24px;border-left:3px solid #54d8e7;background:#12333e;border-radius:0 14px 14px 0}.ec-research-figure{margin:32px 0;border:1px solid #8bced466;border-radius:16px;overflow:hidden;background:#fff}.ec-research-figure img{display:block;width:100%;height:auto}.ec-research-figure figcaption{padding:16px;background:#122e39;color:#cadde2;font-size:.8rem;line-height:1.65}.ec-research-source{font-size:.84rem;color:#b6ced4}.ec-article-references{border-top:1px solid #8bced444;margin-top:40px;font-size:.86rem;line-height:1.8;overflow-wrap:anywhere}.ec-author-card{display:grid;grid-template-columns:135px 1fr;gap:24px;padding:24px;margin-top:42px;align-items:center}.ec-author-card img{width:135px;height:175px;object-fit:cover;object-position:65% 55%;border-radius:14px}.ec-author-card h2{margin:10px 0;font-size:1.35rem}.ec-author-card p{font-size:.9rem;line-height:1.7;margin:0}.ec-article-body .ec-blog-cta{padding:25px}.ec-article-body .ec-blog-cta h2{margin:0 0 12px}
@media(max-width:850px){.ec-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-post-card--featured{grid-template-columns:1fr}.ec-post-card--featured .ec-post-cover{min-height:280px}}
@media(max-width:600px){.ec-blog-intro{margin:12px auto 26px}.ec-blog-intro p{font-size:.98rem}.ec-post-grid{grid-template-columns:1fr}.ec-post-copy{padding:24px}.ec-post-card--featured .ec-post-cover{min-height:230px}.ec-all-posts{margin:36px 0}.ec-blog-cta{padding:24px}.ec-article-page .ec-screen-shell{width:calc(100% - 24px);padding-top:22px}.ec-article-hero{margin:30px 8px}.ec-article-lead{font-size:1.02rem}.ec-article-body{font-size:1rem;border-radius:22px;padding:24px 20px}.ec-author-card{grid-template-columns:1fr;padding:22px;gap:18px}.ec-author-card img{width:125px;height:155px}.ec-byline{align-items:flex-start}.ec-byline img{width:52px;height:52px}.ec-byline span{font-size:.76rem}.ec-list-search button{padding:10px 13px}}

/* v253: defeat the inherited light-page text colour only within blog pages. */
body.ec-blog-listing,body.ec-article-page{color:#e1edf0!important}
.ec-blog-listing .ec-blog-intro h1,.ec-blog-listing .ec-all-posts>h2,.ec-blog-listing .ec-blog-cta h2{color:#fff!important}
.ec-article-page .ec-article-hero h1,.ec-article-page .ec-article-body h2,.ec-article-page .ec-article-body h3{color:#fff!important}
.ec-article-page .ec-article-body blockquote{color:#e1edf0}
.ec-article-page .ec-blog-events{width:100%;margin:42px 0 0}
.ec-article-page .ec-blog-events .ec-upcoming-panel{padding:24px}
.ec-article-page .ec-blog-events .ec-upcoming-list{grid-template-columns:1fr}
.ec-article-page .ec-blog-events h2{margin:0;font-size:1.6rem}
.ec-article-page .ec-blog-events h3{margin:0 0 12px;font-size:1.25rem}
.ec-article-page .ec-blog-events .ec-upcoming-card p{margin:0 0 12px}
.ec-article-page .ec-blog-events .ec-upcoming-heading{margin-bottom:22px}
.ec-article-page .ec-blog-events .ec-upcoming-cta{color:#07333b!important}
@media(max-width:600px){.ec-article-page .ec-blog-events .ec-upcoming-panel{padding:22px 18px}}
