@font-face { font-family: 'charterregular'; src: url("../fonts/charter_bold_italic-webfont.eot"); src: url("../fonts/charter_bold_italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/charter_bold_italic-webfont.woff") format("woff"); font-weight: bold; font-style: italic; font-display: swap; }

@font-face { font-family: 'charterregular'; src: url("../fonts/charter_bold-webfont.eot"); src: url("../fonts/charter_bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/charter_bold-webfont.woff") format("woff"); font-weight: bold; font-style: normal; font-display: swap; }

@font-face { font-family: 'charterregular'; src: url("../fonts/charter_italic-webfont.eot"); src: url("../fonts/charter_italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/charter_italic-webfont.woff") format("woff"); font-weight: normal; font-style: italic; font-display: swap; }

@font-face { font-family: 'charterregular'; src: url("../fonts/charter_regular-webfont.eot"); src: url("../fonts/charter_regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/charter_regular-webfont.woff") format("woff"); font-weight: normal; font-style: normal; font-display: swap; }

/** Reset some basic elements */
body, h1, h2, h3, h4, h5, h6, p, blockquote, pre, hr, dl, dd, ol, ul, figure { margin: 0; padding: 0; }

/** Basic styling */
body { position: relative; min-height: 100vh; font-family: charterregular, Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.65; font-weight: 300; color: #233c40; background-color: #f5faf9; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; background-image: radial-gradient(ellipse at 100% 0%, rgba(179, 225, 235, 0.22), transparent 650px); }

::selection { background: #beece3; color: #153f46; }

:focus-visible { outline: 2px solid #087783; outline-offset: 5px; border-radius: 2px; }

.skip-link { position: absolute; top: 12px; left: 20px; z-index: 10; padding: 8px 16px; background: #f5faf9; transform: translateY(-200%); }

.skip-link:focus { transform: translateY(0); }

/** Set `margin-bottom` to maintain vertical rhythm */
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ul, ol, dl, figure, .highlight { margin-bottom: 15px; }

/** Images */
img { max-width: 100%; vertical-align: middle; }

/** Figures */
figure > img { display: block; }

figcaption { font-size: 15.75px; }

/** Lists */
ul, ol { margin-left: 30px; }

li > ul, li > ol { margin-bottom: 0; }

/** Headings */
h1, h2, h3, h4, h5, h6 { font-weight: 300; }

/** Links */
a { color: #087783; text-decoration: none; text-underline-offset: 4px; text-decoration-thickness: 1px; }

a:visited { color: #04363b; }

a:hover { color: #233c40; text-decoration: underline; }

/** Blockquotes */
blockquote { color: #587075; border-left: 4px solid #dce8e6; padding-left: 15px; font-size: 18px; font-style: italic; }

blockquote > :last-child { margin-bottom: 0; }

/** Code formatting */
pre, code { font-size: 15px; border: 1px solid #dce8e6; border-radius: 3px; background-color: #eaf2f2; }

code { padding: 1px 5px; }

pre { padding: 8px 12px; overflow-x: auto; }

pre > code { border: 0; padding-right: 0; padding-left: 0; }

/** Wrapper */
.wrapper { box-sizing: border-box; width: 100%; max-width: 1020px; min-width: 0; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; }

@media screen and (max-width: 800px) { .wrapper { padding-right: 15px; padding-left: 15px; } }

/** Clearfix */
.wrapper:after { content: ""; display: table; clear: both; }

/** Icons */
.icon > svg { display: inline-block; width: 16px; height: 16px; vertical-align: middle; }

.icon > svg path { fill: #587075; }

.site-header, .page-content, .site-footer { position: relative; z-index: 1; }

.site-header { padding: 34px 0; }

.site-header > .wrapper { display: flex; align-items: center; justify-content: space-between; gap: 24px; }

.site-header > .wrapper::after { display: none; }

.site-title { display: inline-flex; align-items: center; gap: 13px; font-size: 21px; line-height: 1.4; letter-spacing: -0.5px; }

.site-title, .site-title:visited { color: #233c40; }

.site-title:hover { text-decoration: none; }

.site-mark { display: grid; grid-template-columns: repeat(2, 6px); gap: 3px; }

.site-mark i { width: 6px; height: 6px; background: #21a99d; }

.site-mark i:nth-child(2) { background: #8591dd; transform: translate(2px, -2px); }

.site-mark i:nth-child(3) { background: #89cac4; }

.site-nav { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 13px; }

.site-nav .trigger { display: flex; flex-wrap: wrap; gap: 26px; }

.site-nav .page-link { padding: 8px 0; color: #294449; }

.site-nav .page-link:hover { color: #087783; }

.page-content { padding: 48px 0 70px; }

.has-art-background .page-content { padding-top: 0; }

.home-intro { padding: 64px 0 80px; }

.home-intro h1 { margin: 0 0 24px; font-size: 64px; line-height: 1.1; letter-spacing: -2.8px; }

.home-intro em { display: inline-block; font-weight: normal; color: #087783; white-space: nowrap; }

.eyebrow { margin-bottom: 24px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 10px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; color: #087783; }

.home-intro-text { margin: 0; color: #587075; font-size: 17px; line-height: 1.65; }

.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid #cddfdd; }

.section-heading .page-heading { margin: 0; }

.page-heading { font-size: 30px; letter-spacing: -0.7px; }

.rss-link { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 11px; }

.rss-link, .rss-link:visited { color: #587075; }

.rss-link span { margin-left: 5px; }

.post-list { margin: 0; list-style: none; }

.post-list > li { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 30px; padding: 32px 0; border-bottom: 1px solid #dce8e6; }

.post-list .post-meta { padding-top: 6px; }

.post-list h2 { margin-bottom: 12px; }

.post-meta { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 12px; color: #587075; }

.post-link { display: block; position: relative; padding-right: 26px; font-size: 26px; line-height: 1.3; letter-spacing: -0.45px; }

.post-link, .post-link:visited { color: #233c40; }

.post-link:hover { color: #087783; text-decoration: none; }

.post-link:hover .post-arrow { color: #087783; transform: translate(2px, -2px); }

.post-arrow { position: absolute; top: 4px; right: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 20px; color: #84aaa8; transition: transform 180ms ease, color 180ms ease; }

.post-excerpt { color: #536a6d; font-size: 17px; line-height: 1.7; }

.post-excerpt > :last-child { margin-bottom: 0; }

.post-excerpt a, .post-content a { text-decoration: underline; text-decoration-color: rgba(8, 119, 131, 0.35); }

.post-excerpt a:hover, .post-content a:hover { text-decoration-color: currentColor; }

.post { max-width: 740px; margin: 0 auto; }

.post-header { margin-bottom: 36px; }

.post-title { font-size: 44px; letter-spacing: -1.4px; line-height: 1.15; overflow-wrap: break-word; }

.post-content { margin-bottom: 30px; overflow-wrap: break-word; }

.post-content h2 { margin-top: 36px; font-size: 30px; line-height: 1.3; letter-spacing: -0.6px; }

.post-content h3 { margin-top: 28px; font-size: 24px; }

.post-content h4 { font-size: 20px; }

.notes-list > li { margin-bottom: 10px; }

.site-footer { border-top: 1px solid #dce8e6; padding: 36px 0 28px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

.contact-list, .social-media-list { list-style: none; margin-left: 0; }

.footer-col-wrapper { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 30px; font-size: 12px; line-height: 1.9; color: #587075; }

.footer-col { min-width: 0; overflow-wrap: break-word; }

.footer-col .icon { margin-right: 5px; }

@media screen and (max-width: 800px) { .wrapper { padding-right: 28px; padding-left: 28px; } .site-header { padding: 26px 0; } .site-nav .trigger { gap: 20px; } .home-intro h1 { font-size: 56px; } .post-list > li { grid-template-columns: 105px minmax(0, 1fr); gap: 22px; } }

@media screen and (max-width: 600px) { .wrapper { padding-right: 24px; padding-left: 24px; } .site-header { padding: 25px 0 20px; } .site-header > .wrapper { flex-direction: column; align-items: flex-start; gap: 15px; } .site-title { font-size: 20px; } .site-nav .trigger { gap: 25px; } .site-nav .page-link { padding: 6px 0; } .home-intro { padding: 42px 0 55px; } .home-intro h1 { max-width: 420px; font-size: 44px; line-height: 1.13; letter-spacing: -1.8px; } .eyebrow { font-size: 9px; letter-spacing: 1.6px; margin-bottom: 20px; } .home-intro-text { max-width: 320px; font-size: 16px; } .home-intro-text br { display: none; } .page-heading { font-size: 28px; } .section-heading { padding-bottom: 14px; } .page-content { padding: 30px 0 45px; } .post-list > li { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 25px 0; } .post-list .post-meta { padding: 0; } .post-link { font-size: 24px; } .post-excerpt { font-size: 16px; } .post-title { font-size: 36px; } .post-content h2 { font-size: 28px; } .footer-col-wrapper { grid-template-columns: 1fr 1fr; gap: 20px; } .footer-col-3 { grid-column: 1 / -1; } }

@media (prefers-reduced-motion: reduce) { .post-arrow { transition: none; } }

.background-art { position: absolute; inset: 0 0 auto; width: 100%; height: 690px; contain: strict; overflow: hidden; pointer-events: none; z-index: 0; background: radial-gradient(ellipse at 79% 30%, rgba(138, 222, 216, 0.19), transparent 44%), radial-gradient(ellipse at 98% 14%, rgba(165, 176, 241, 0.2), transparent 36%); -webkit-mask-image: linear-gradient(to bottom, #000 65%, transparent 100%); mask-image: linear-gradient(to bottom, #000 65%, transparent 100%); }

.background-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #f5faf9 5%, rgba(245, 250, 249, 0.94) 28%, rgba(245, 250, 249, 0.3) 54%, rgba(245, 250, 249, 0) 70%); }

.background-art canvas, .background-art svg { display: block; position: absolute; inset: 0; width: 100%; max-width: 100%; height: 100%; }

.background-art svg { opacity: 0.45; }

.background-art.is-ready svg { display: none; }

@media screen and (max-width: 600px) { .background-art { height: 630px; opacity: 0.75; } .background-art::after { background: linear-gradient(90deg, rgba(245, 250, 249, 0.97), rgba(245, 250, 249, 0.78) 42%, rgba(245, 250, 249, 0.15)); } }

@media print { .background-art { display: none; } }

/** Syntax highlighting styles */
.highlight .c { color: #998; font-style: italic; }

.highlight .err { color: #a61717; background-color: #e3d2d2; }

.highlight .k { font-weight: bold; }

.highlight .o { font-weight: bold; }

.highlight .cm { color: #998; font-style: italic; }

.highlight .cp { color: #999; font-weight: bold; }

.highlight .c1 { color: #998; font-style: italic; }

.highlight .cs { color: #999; font-weight: bold; font-style: italic; }

.highlight .gd { color: #000; background-color: #fdd; }

.highlight .gd .x { color: #000; background-color: #faa; }

.highlight .ge { font-style: italic; }

.highlight .gr { color: #a00; }

.highlight .gh { color: #999; }

.highlight .gi { color: #000; background-color: #dfd; }

.highlight .gi .x { color: #000; background-color: #afa; }

.highlight .go { color: #888; }

.highlight .gp { color: #555; }

.highlight .gs { font-weight: bold; }

.highlight .gu { color: #aaa; }

.highlight .gt { color: #a00; }

.highlight .kc { font-weight: bold; }

.highlight .kd { font-weight: bold; }

.highlight .kp { font-weight: bold; }

.highlight .kr { font-weight: bold; }

.highlight .kt { color: #458; font-weight: bold; }

.highlight .m { color: #099; }

.highlight .s { color: #d14; }

.highlight .na { color: #008080; }

.highlight .nb { color: #0086B3; }

.highlight .nc { color: #458; font-weight: bold; }

.highlight .no { color: #008080; }

.highlight .ni { color: #800080; }

.highlight .ne { color: #900; font-weight: bold; }

.highlight .nf { color: #900; font-weight: bold; }

.highlight .nn { color: #555; }

.highlight .nt { color: #000080; }

.highlight .nv { color: #008080; }

.highlight .ow { font-weight: bold; }

.highlight .w { color: #bbb; }

.highlight .mf { color: #099; }

.highlight .mh { color: #099; }

.highlight .mi { color: #099; }

.highlight .mo { color: #099; }

.highlight .sb { color: #d14; }

.highlight .sc { color: #d14; }

.highlight .sd { color: #d14; }

.highlight .s2 { color: #d14; }

.highlight .se { color: #d14; }

.highlight .sh { color: #d14; }

.highlight .si { color: #d14; }

.highlight .sx { color: #d14; }

.highlight .sr { color: #009926; }

.highlight .s1 { color: #d14; }

.highlight .ss { color: #990073; }

.highlight .bp { color: #999; }

.highlight .vc { color: #008080; }

.highlight .vg { color: #008080; }

.highlight .vi { color: #008080; }

.highlight .il { color: #099; }

/*# sourceMappingURL=main.css.map */