@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-site.woff2) format('woff2');unicode-range:U+0020-007E,U+00A0,U+2014,U+201C-201D}html{font-size:15px}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;color:#444;line-height:1.6;word-wrap:break-word}h1,h2,h3{color:#212121;line-height:1.3;margin:1.5rem 0 1rem}h1{font-size:1.6rem;padding:10px 0;margin:0;border-bottom:1px solid #ccc;overflow:hidden}h1+*{margin-top:0}h2{font-size:1.3rem}h3{font-size:1.1rem}a{color:#2e4af1;text-decoration:none;border-bottom:1px solid #2e4af1;cursor:pointer}a:hover{background-color:#2e4af1;color:#fff}p{margin:0 0 1.5rem}ul,ol{padding-left:1.5rem;margin:1rem 0}li{margin-bottom:.25rem}pre{padding:1.5rem;margin:1.5rem 0;background-color:#f8f8f8;border:1px solid #ccc;overflow:auto}code{font-family:Consolas,monospace;font-size:.9em}pre code{font-weight:400}table{width:100%;border-collapse:collapse;margin:1.5rem 0}table td,table th{border:1px solid #ccc;padding:.5rem;vertical-align:top}img{max-width:100%;height:auto}.container{max-width:70rem;margin:0 auto;padding:0 1rem}.page-link{border-bottom:none;margin-right:.5rem}.post-list{list-style:none;padding:0;margin:0}.post-list li{margin-bottom:1.75rem;padding-left:0}.post-list li:last-child{margin-bottom:0}.post-list li:after{content:none}.site-footer{margin-top:0;padding:0}.footer-heading{font-size:1.1rem;margin-bottom:1rem}.footer-col-wrapper{display:flex;flex-wrap:wrap;gap:1rem}.footer-col{flex:1;min-width:200px}.contact-list{list-style:none;padding:0;margin:0}.post-meta{font-size:.85rem;color:#828282}.post-link{font-size:1rem}.post-description{color:#828282;margin-top:.25rem;font-size:.9rem}.post-cover{width:100%;border-radius:4px;margin:1rem 0 .5rem}.post-content{margin-top:1.75rem}.post-content h2{margin-top:2.5rem}.post-content h3{margin-top:1.75rem}.post-content img{max-width:100%;height:auto;margin:1rem 0}.post-content .caption{color:#828282;font-size:.85rem;font-style:italic;margin-top:-.5rem;margin-bottom:1rem}@media screen and (max-width:768px){.footer-col-wrapper{flex-direction:column}}

/* Header: logo floats right; nav and content wrap around it. Borders/lines on
   wrapping elements naturally stop where the float starts, so nothing crosses
   the SVG. Bottom separator clears the float and uses margin-right to also stop
   short of the logo column for visual symmetry. */
.main{}
.site-header{padding:0;margin:2rem 0 0}
.site-header .site-logo{float:right;width:143px;margin:0 0 .5rem 1rem;shape-outside:inset(0)}
.site-header .site-logo img{display:block;width:100%;height:auto}
.site-header .site-nav{border-top:1px solid #ccc;padding:.5rem 0 .25rem}
.site-header .site-sep{display:none}

.page-heading{margin-top:.75rem}

/* Bottom separator and footer clear the float, then the sep stops short of the logo column */
.site-sep{clear:both;border-top:1px solid #ccc;height:0;margin:1rem 0;margin-right:calc(143px + 1rem)}
.site-footer{clear:both}
