.blog-hero{margin:1.5rem auto 0;max-width:1440px;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,6vw,6rem);border-radius:1.5rem;background:linear-gradient(120deg,rgba(10,22,38,.94),rgba(31,79,124,.78)),url("https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1800&q=80") center/cover;color:#fff}.blog-hero>div{max-width:760px}.blog-hero span,.article-meta{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.blog-hero h1{margin:.8rem 0 1rem;font:500 clamp(2.8rem,6vw,6rem)/.98 Fraunces,serif}.blog-hero h1 i{color:#bcd4ed}.blog-hero p{max-width:620px;font-size:1.1rem;line-height:1.7;color:#e0e8f1}.blog-shell{display:grid;grid-template-columns:250px 1fr;gap:3rem;max-width:1320px;margin:4rem auto;padding:0 1.25rem}.blog-filter{position:sticky;top:7rem;align-self:start}.blog-filter form{display:grid;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--c-line)}.blog-filter label{display:grid;gap:.4rem;font-size:.82rem;font-weight:700}.blog-filter input,.blog-filter select{width:100%;padding:.8rem;border:1px solid var(--c-line);border-radius:.6rem;background:#fff}.blog-filter nav{display:grid;gap:.25rem;margin-top:1.5rem}.blog-filter nav>b{margin-bottom:.5rem}.blog-filter nav a{display:flex;justify-content:space-between;padding:.65rem .75rem;border-radius:.6rem;color:var(--c-muted)}.blog-filter nav a[aria-current],.blog-filter nav a:hover{background:#eef4fa;color:#254f7e}.blog-results-head{display:flex;justify-content:space-between;margin-bottom:1.5rem}.blog-results-head span{color:var(--c-muted);font-size:.85rem}.blog-results-head h2{margin:.25rem 0;font-size:2rem}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.blog-card{overflow:hidden;border:1px solid var(--c-line);border-radius:1rem;background:#fff}.blog-card-image{display:block;aspect-ratio:16/9;overflow:hidden}.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.blog-card:hover img{transform:scale(1.03)}.blog-card-body{padding:1.35rem}.blog-card-meta{display:flex;gap:.5rem}.blog-card-meta span,.article-tags a{padding:.3rem .55rem;border-radius:999px;background:#eef4fa;color:#315d91;font-size:.75rem;font-weight:700}.blog-card h3{margin:.8rem 0;font-size:1.35rem;line-height:1.25}.blog-card p{display:-webkit-box;overflow:hidden;margin:0;color:var(--c-muted);line-height:1.6;-webkit-line-clamp:3;-webkit-box-orient:vertical}.blog-card footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--c-line);font-size:.8rem;color:var(--c-muted)}.blog-card footer a{display:flex;align-items:center;gap:.3rem;color:#315d91;font-weight:700}.blog-card footer .icon{width:1rem}.blog-empty{max-width:720px;margin:5rem auto;padding:4rem 1.5rem;text-align:center}.article{max-width:1180px;margin:0 auto;padding:4rem 1.25rem}.article-head{max-width:900px;margin:auto;text-align:center}.article-back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:2rem}.article-back .icon{width:1rem;transform:rotate(180deg)}.article-meta{display:flex;justify-content:center;gap:1rem;color:#52749a}.article-head h1{margin:1rem 0;font:500 clamp(2.5rem,6vw,5rem)/1.04 Fraunces,serif}.article-head>p{max-width:760px;margin:auto;font-size:1.15rem;line-height:1.7;color:var(--c-muted)}.article-byline{margin-top:1.5rem;font-size:.86rem}.article-cover{margin:3rem 0;border-radius:1.25rem;overflow:hidden;aspect-ratio:16/8}.article-cover img{width:100%;height:100%;object-fit:cover}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;justify-content:center;gap:4rem}.article-content{font-size:1.08rem;line-height:1.85}.article-content h2,.article-content h3{margin:2.2rem 0 .8rem;font-family:Fraunces,serif}.article-content img,.article-content video{display:block;width:100%;max-width:100%;height:auto;border-radius:.8rem;background:#111}.article-content blockquote{margin:2rem 0;padding:1rem 1.5rem;border-left:4px solid #315d91;background:#f4f7fa}.article-side{display:grid;gap:1.5rem;align-self:start;position:sticky;top:7rem}.article-side>div{display:grid;gap:.8rem;padding:1.2rem;border:1px solid var(--c-line);border-radius:.8rem}.article-tags{display:flex;flex-wrap:wrap;gap:.4rem}.article-cta{display:flex;justify-content:space-between;padding:1.2rem;border-radius:.8rem;background:#172033;color:#fff}.article-cta .icon{width:1rem}@media(max-width:900px){.blog-shell,.article-layout{grid-template-columns:1fr}.blog-filter,.article-side{position:static}.blog-filter nav{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:1fr}.article-side{max-width:100%}}@media(max-width:600px){.blog-hero{margin:.75rem;border-radius:1rem;padding:3rem 1.25rem}.blog-shell{margin:2.5rem auto;gap:2rem}.blog-filter nav{grid-template-columns:1fr}.article{padding-top:2.5rem}.article-meta{flex-wrap:wrap}.article-cover{margin:2rem 0;aspect-ratio:4/3}}

/* ---- Layout / readability fixes: blog pages share the site grid (listings.css tokens) ---- */
.blog-hero{width:calc(100% - var(--gutter,1.25rem)*2);max-width:var(--content-max,87.5rem);margin:1.5rem auto 0;box-sizing:border-box}
.blog-hero h1{color:#fff}
.blog-hero h1 i{font-style:italic}
.blog-shell{max-width:calc(var(--content-max,87.5rem) + var(--gutter,1.25rem)*2);padding:0 var(--gutter,1.25rem);box-sizing:border-box}
.blog-filter input,.blog-filter select{height:2.75rem;padding:0 .875rem;font:inherit;color:var(--c-ink)}
.blog-filter input:focus,.blog-filter select:focus{outline:0;border-color:var(--c-ink);box-shadow:0 0 0 3px rgba(20,20,20,.08)}
.blog-filter .btn{width:100%}
.blog-card h3 a{color:inherit}
.blog-card h3 a:hover{text-decoration:underline;text-underline-offset:.2em}
.blog-empty{border:1px dashed var(--c-line);border-radius:1rem;background:#fff}
.article{max-width:calc(var(--content-max,87.5rem) + var(--gutter,1.25rem)*2);padding-inline:var(--gutter,1.25rem)}
@media(max-width:600px){.blog-hero{width:calc(100% - 1.5rem);margin:.75rem auto 0}.blog-hero h1{font-size:2.4rem}}
.article-content a{color:#2f6fb3;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.article-content a:hover{color:#1f4f86}
.article-content ul,.article-content ol{padding-left:1.4rem}
.article-content li{margin:.35rem 0}
.article-content table{width:100%;margin:1.5rem 0;border-collapse:collapse;font-size:.95rem}
.article-content th,.article-content td{padding:.65rem .8rem;border:1px solid var(--c-line);text-align:left}
.article-content th{background:#f4f7fa}
.article-side .btn{justify-content:center;gap:.4rem;height:2.75rem;border:1px solid var(--c-line);border-radius:.7rem;background:#fff;color:var(--c-ink)}
.article-side .btn:hover{border-color:var(--c-ink)}
.article-side .btn .icon{width:1rem;height:1rem}
.article-more{max-width:1180px;margin:4rem auto 0;padding-top:2.5rem;border-top:1px solid var(--c-line)}
.article-more-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.article-more-head h2{margin:0;font:500 1.75rem/1.2 Fraunces,serif}
.article-more-head a{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:#315d91}
.article-more-head .icon{width:1rem;height:1rem}
.article-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.article-more-grid .blog-card h3{font-size:1.1rem}
@media(max-width:900px){.article-more-grid{grid-template-columns:1fr}}

/* Single article: preserve the complete uploaded artwork instead of cropping it to a fixed ratio. */
.article-cover{aspect-ratio:auto;background:#f4f7fa}
.article-cover img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:600px){.article-cover{aspect-ratio:auto}}

/* ---- Modern single article: light split hero, reading aids, card-style plan lists ---- */
.article-progress{position:fixed;inset:0 0 auto;z-index:200;height:3px;pointer-events:none}
.article-progress span{display:block;height:100%;background:linear-gradient(90deg,#86acd8,#3f6aa0);transform:scaleX(0);transform-origin:0 50%}
.article{padding-top:1.5rem;padding-bottom:4rem}
.article-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,4vw,4rem);margin-bottom:clamp(2.5rem,5vw,4rem);padding:clamp(1.5rem,3.5vw,3rem);border:1px solid #e3ebf5;border-radius:1.75rem;background:radial-gradient(circle at 0 0,#eaf2fd,transparent 55%),radial-gradient(circle at 100% 100%,#f3f0ff,transparent 50%),#fbfcfe}
.article-hero.no-cover{grid-template-columns:minmax(0,820px)}
.article-head{max-width:none;margin:0;text-align:left}
.article-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:#9a9da3}
.article-crumbs a{color:#3f6aa0}
.article-crumbs a:hover{text-decoration:underline;text-underline-offset:.2em}
.article-back{display:inline-flex;margin:0;gap:.35rem}
.article-head h1{margin:1.1rem 0 1rem;font:700 clamp(2rem,3.6vw,3.25rem)/1.1 var(--font,"Instrument Sans",system-ui,sans-serif);letter-spacing:-.035em;color:#0c1626;text-wrap:balance}
.article-head>p{max-width:36rem;margin:0;font-size:1.12rem;line-height:1.65;color:#51617e;text-wrap:pretty}
.article-byline{display:flex;align-items:center;gap:.8rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid #e3ebf5;font-size:.95rem}
.article-byline b{display:block;color:#0c1626}
.article-avatar{flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:linear-gradient(135deg,#3f6aa0,#7c6cf0);color:#fff;font-weight:700}
.article-meta{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0;margin-top:.15rem;color:#6f7277;font-size:.85rem;font-weight:500;letter-spacing:0;text-transform:none}
.article-meta>*+*:before{content:"·";margin:0 .45rem;color:#c3c7cf}
.article-cover{margin:0;aspect-ratio:auto;border-radius:1.25rem;background:#0c1626;box-shadow:0 1.5rem 3rem -1.5rem rgba(12,22,38,.4),0 0 0 1px rgba(12,22,38,.06);transform:rotate(1.2deg);transition:transform .4s}
.article-cover:hover{transform:rotate(0)}
.article-content h2,.article-content h3,.article-more-head h2{font-family:var(--font,"Instrument Sans",system-ui,sans-serif);font-weight:700;letter-spacing:-.025em}
.article-layout{grid-template-columns:minmax(0,720px) 280px;gap:clamp(2.5rem,5vw,5rem)}
.article-content{color:#2b2b2b;font-size:1.1rem;line-height:1.85}
.article-content>p:first-child{font-size:1.25rem;line-height:1.7;color:#141414}
.article-content h2{position:relative;margin:3rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--c-line);font-size:clamp(1.6rem,3vw,2rem);line-height:1.2;color:#141414;scroll-margin-top:7rem}
.article-content h2:before{content:"";position:absolute;top:-1px;left:0;width:3rem;height:3px;border-radius:3px;background:#3f6aa0}
.article-content h3{font-size:1.35rem;scroll-margin-top:7rem}
.article-content ul{padding-left:0;list-style:none}
.article-content ul>li{position:relative;padding-left:1.4rem}
.article-content ul>li:before{content:"";position:absolute;top:.75em;left:.2rem;width:.45rem;height:.45rem;border-radius:50%;background:#3f6aa0}
.article-content ul:has(>li>strong:first-child){display:grid;margin:1.5rem 0;padding:.5rem 1.4rem;border:1px solid #d8e4f4;border-radius:1rem;background:linear-gradient(180deg,#f7faff,#fff);font-size:1rem}
.article-content ul:has(>li>strong:first-child)>li{margin:0;padding:.75rem 0;border-bottom:1px dashed #d8e4f4}
.article-content ul:has(>li>strong:first-child)>li:last-child{border-bottom:0}
.article-content ul:has(>li>strong:first-child)>li:before{display:none}
.article-content ul>li>strong:first-child{display:inline-block;min-width:9.5rem;color:#51617e;font-weight:600}
.article-content ol{counter-reset:step;padding-left:0;list-style:none}
.article-content ol>li{position:relative;margin:1rem 0;padding:1rem 1.25rem 1rem 3.75rem;border:1px solid var(--c-line);border-radius:.9rem;background:#fff;counter-increment:step}
.article-content ol>li:before{content:counter(step);position:absolute;top:1rem;left:1rem;display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:#0a1626;color:#fff;font-size:.85rem;font-weight:700;line-height:1}
.article-content blockquote{border:0;border-radius:1rem;background:#edf5ff;font:italic 1.2rem/1.6 Fraunces,serif;color:#102044}
.article-side{gap:1rem;top:6.5rem}
.article-side>div,.article-toc{padding:1.25rem;border:1px solid var(--c-line);border-radius:1rem;background:#fff}
.article-side b{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#6f7277}
.article-toc ol{display:grid;gap:.15rem;margin:.75rem 0 0;padding:0;list-style:none;border-left:2px solid var(--c-line)}
.article-toc a{display:block;margin-left:-2px;padding:.4rem .75rem;border-left:2px solid transparent;color:#6f7277;font-size:.9rem;line-height:1.35;transition:color .2s,border-color .2s}
.article-toc a:hover{color:#141414}
.article-toc a[aria-current]{border-color:#3f6aa0;color:#1f4f7c;font-weight:600}
.article-cta{position:relative;overflow:hidden;align-items:center;padding:1.4rem;border-radius:1rem;background:linear-gradient(120deg,#0a1626,#1f4f7c);font-weight:600;transition:transform .2s}
.article-cta:hover{transform:translateY(-2px)}
.article-more .blog-card{transition:transform .25s,box-shadow .25s}
.article-more .blog-card:hover{transform:translateY(-4px);box-shadow:0 1.25rem 2.5rem -1.25rem rgba(10,22,38,.35)}
@media(max-width:900px){.article-hero{grid-template-columns:1fr}.article-cover{transform:none}.article-layout{grid-template-columns:1fr}.article-side{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.article-toc{display:none}}
@media(max-width:600px){.article{padding-top:.75rem}.article-hero{gap:1.5rem;padding:1.25rem;border-radius:1.25rem}.article-head h1{font-size:1.9rem}.article-head>p{font-size:1rem}.article-cover{border-radius:.9rem}.article-content{font-size:1.02rem}.article-content>p:first-child{font-size:1.12rem}.article-content ul:has(>li>strong:first-child){padding:.25rem 1rem}.article-content ul:has(>li>strong:first-child)>li{display:flex;gap:.75rem;padding:.65rem 0}.article-content ul>li>strong:first-child{flex:0 0 7.25rem;min-width:0}.article-content ol>li{padding:.9rem 1rem .9rem 3.4rem}}
@media(prefers-reduced-motion:reduce){.article-cover,.article-cta,.article-more .blog-card{transition:none}}
