@font-face{font-display:swap;font-family:Fraunces Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/fraunces-vietnamese-wght-normal.c53893a5.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Fraunces Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/fraunces-latin-ext-wght-normal.a4d05471.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Fraunces Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/fraunces-latin-wght-normal.5a4a82b5.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/inter-cyrillic-ext-wght-normal.b5cdd476.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/inter-cyrillic-wght-normal.49594fb5.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/inter-greek-ext-wght-normal.f4df85d1.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/inter-greek-wght-normal.4f908aee.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/inter-vietnamese-wght-normal.ab4bb8dc.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/inter-latin-ext-wght-normal.8bff79fb.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/build/fonts/inter-latin-wght-normal.4f2981d8.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/build/fonts/jetbrains-mono-cyrillic-ext-400-normal.7347c7bf.woff2) format("woff2"),url(/build/fonts/jetbrains-mono-cyrillic-ext-400-normal.831e0db2.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/build/fonts/jetbrains-mono-cyrillic-400-normal.f69e1e24.woff2) format("woff2"),url(/build/fonts/jetbrains-mono-cyrillic-400-normal.d0dbe121.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/build/fonts/jetbrains-mono-greek-400-normal.3a4578ae.woff2) format("woff2"),url(/build/fonts/jetbrains-mono-greek-400-normal.55220d4d.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/build/fonts/jetbrains-mono-vietnamese-400-normal.aa664ef1.woff2) format("woff2"),url(/build/fonts/jetbrains-mono-vietnamese-400-normal.411bbf70.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/build/fonts/jetbrains-mono-latin-ext-400-normal.e83b764e.woff2) format("woff2"),url(/build/fonts/jetbrains-mono-latin-ext-400-normal.dfdc51c0.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(/build/fonts/jetbrains-mono-latin-400-normal.d04352f2.woff2) format("woff2"),url(/build/fonts/jetbrains-mono-latin-400-normal.1fef352a.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@media print{body{background:#fff}.actions,.preview-banner,.site-footer,.site-header,jaarly-shell header,jaarly-stepper{display:none!important}jaarly-reveal{opacity:1!important;transform:none!important}jaarly-section{-moz-column-break-before:page;break-before:page}jaarly-section:first-of-type{-moz-column-break-before:auto;break-before:auto}a{color:inherit;text-decoration:none}.page-footer{position:running(footer)}}:root{--paper:#f6f2ea;--card:#fff;--ink:#15140f;--ink-soft:#4a4840;--muted:#8a867a;--line:#e6e1d6;--accent:#1f3a5f;--accent-soft:#e8eef6;--accent-ink:#1f3a5f;--shadow:0 10px 40px rgb(21 20 15/7%);--radius-card:20px;--radius-field:12px;--font-display:"Fraunces Variable",Georgia,"Times New Roman",serif;--font-body:"Inter Variable",Inter,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--ease:cubic-bezier(0.2,0.8,0.2,1);--measure:68ch;color-scheme:light}*,:after,:before{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;margin:0}img{display:block;height:auto;max-width:100%}a{color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{background:var(--card);border-radius:999px;left:1rem;padding:.5rem .8rem;position:absolute;top:-4rem}.skip:focus{top:1rem}.wordmark{color:var(--ink);font-family:var(--font-display);font-size:1.35rem;font-weight:560;letter-spacing:-.03em;text-decoration:none}.wrap{margin-inline:auto;width:min(100% - 2rem,72rem)}.prose{max-width:var(--measure)}h1,h2,h3{font-family:var(--font-display);font-weight:560;letter-spacing:-.03em;line-height:1.15}.site-footer,.site-header,jaarly-shell header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.1rem 0}.site-footer nav,.site-header nav,jaarly-shell nav{display:flex;flex-wrap:wrap;gap:.9rem 1.1rem}.site-header a,jaarly-shell a{color:var(--ink);text-decoration:none}.site-main,jaarly-shell main{padding-bottom:4rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;margin-top:1.2rem}.button,button,jaarly-button button{background:var(--accent);border:1px solid transparent;border-radius:999px;color:#fff;cursor:pointer;font:inherit;padding:.65rem 1.05rem}.button.secondary,button.secondary,jaarly-button[variant=secondary] button{background:transparent;border-color:var(--line);color:var(--ink)}.button.ghost,button.ghost,jaarly-button[variant=ghost] button{background:transparent;color:var(--ink-soft)}.button.danger,button.danger,jaarly-button[variant=danger] button{background:#7a2e1f}jaarly-button[loading] button{opacity:.7}.label,label{display:block;font-size:.92rem;margin-bottom:.35rem}input[type=email],input[type=number],input[type=text],input[type=url],select,textarea{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-field);color:var(--ink);font:inherit;padding:.7rem .8rem;width:100%}textarea{min-height:8rem;resize:vertical}.error,.example,.help{font-size:.88rem}.example,.help{color:var(--muted)}.error{color:#7a2e1f}jaarly-field{display:block;margin-bottom:1rem}jaarly-field [data-count]{color:var(--muted);font-size:.8rem}.card,jaarly-empty,jaarly-notice{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1.1rem 1.2rem}jaarly-notice{display:block;margin:.6rem 0 1rem}jaarly-notice[kind=warning]{background:#f8efe4}jaarly-notice[kind=success]{background:#e7eee4}jaarly-empty{display:block}jaarly-tag{background:var(--accent-soft);border-radius:999px;color:var(--accent-ink);display:inline-block;font-size:.78rem;padding:.15rem .55rem}.hero-copy{max-width:40rem;padding:3.5rem 0 2rem}.hero-copy h1{font-size:clamp(2.6rem,6vw,4.6rem);margin:0 0 .8rem}.lede{color:var(--ink-soft);font-size:1.15rem}.steps-3{list-style:none;margin:2rem 0;padding:0}.steps-3 li{border-top:1px solid var(--line);padding:.8rem 0}.honeypot{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}jaarly-page{display:block;font-size:17px}jaarly-page,jaarly-page[theme=paper]{--accent:#1f3a5f;--accent-soft:#e8eef6;--accent-ink:#1f3a5f}jaarly-page[theme=ink]{--accent:#15140f;--accent-soft:#eceae4;--accent-ink:#15140f}jaarly-page[theme=moss]{--accent:#3f5a3c;--accent-soft:#e7eee4;--accent-ink:#243322}jaarly-page[theme=clay]{--accent:#9a4f2e;--accent-soft:#f5e6df;--accent-ink:#6b3218}jaarly-page[theme=sea]{--accent:#1e6f78;--accent-soft:#e1f0f1;--accent-ink:#0f444a}.page-frame{margin:0 auto;padding-bottom:4rem;width:min(100% - 2rem,980px)}jaarly-hero{display:block;padding:3.2rem 0 1rem}jaarly-hero .year{color:var(--accent);font-family:var(--font-display);font-size:1rem;margin:0}jaarly-hero h1{font-size:clamp(3rem,8vw,5.4rem);margin:.2rem 0}jaarly-hero .role{color:var(--ink-soft);margin-top:0}jaarly-hero .summary{font-size:1.2rem;max-width:var(--measure)}jaarly-hero img{border-radius:var(--radius-card);margin-top:1rem;max-height:28rem;-o-object-fit:cover;object-fit:cover;width:100%}jaarly-section{display:block;padding:1.6rem 0}jaarly-section h2{font-size:1.8rem}jaarly-metric-grid{display:grid;gap:.8rem;grid-template-columns:1fr}@media(min-width:700px){jaarly-metric-grid{grid-template-columns:1fr 1fr}}@media(min-width:1000px){jaarly-metric-grid{grid-template-columns:1fr 1fr 1fr}}jaarly-ahead,jaarly-card,jaarly-metric,jaarly-quote,jaarly-shoutout{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow);display:block;padding:1.1rem 1.15rem}jaarly-counter,jaarly-metric .value{color:var(--accent);font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.6rem);letter-spacing:-.04em;line-height:1}jaarly-metric .unit{color:var(--ink-soft);font-size:1rem}jaarly-card{margin-bottom:.8rem}jaarly-card h3{margin:.2rem 0}jaarly-card .icon{color:var(--accent);height:1.4rem;width:1.4rem}jaarly-quote{margin-bottom:.8rem}jaarly-quote blockquote{font-family:var(--font-display);font-size:1.55rem;line-height:1.3;margin:0}jaarly-quote blockquote:before{color:var(--accent);content:"“";font-size:2.4rem;line-height:0}jaarly-shoutout{align-items:center;display:flex;gap:.8rem;margin-bottom:.7rem}.avatar,jaarly-avatar{background:var(--accent-soft);border-radius:999px;color:var(--accent-ink);display:grid;font-family:var(--font-display);height:3rem;overflow:hidden;place-items:center;width:3rem}.avatar img,jaarly-avatar img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}jaarly-gallery{display:grid;gap:.8rem}@media(min-width:700px){jaarly-gallery{grid-template-columns:1fr 1fr}}jaarly-gallery figure{margin:0}jaarly-gallery img{border-radius:var(--radius-card);width:100%}jaarly-gallery figcaption{color:var(--ink-soft);font-size:.9rem}jaarly-ahead{border-left:4px solid var(--accent)}jaarly-reveal{display:block}html[data-motion=ok] jaarly-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}html[data-motion=ok] jaarly-reveal.is-in{opacity:1;transform:none}.page-footer{color:var(--muted);font-size:.85rem;margin-top:2rem}.preview-banner{background:var(--accent);color:#fff;display:flex;gap:1rem;justify-content:space-between;padding:.55rem 1rem}.preview-banner a{color:#fff}jaarly-shell{display:block}@media(min-width:880px){jaarly-shell{display:grid;grid-template-columns:14rem 1fr;min-height:100vh}jaarly-shell header{align-items:flex-start;flex-direction:column;height:100vh;padding:1.4rem;position:sticky;top:0}jaarly-shell main{padding:1.4rem 1.4rem 4rem}}@media(max-width:879px){jaarly-shell header{background:var(--paper);border-top:1px solid var(--line);bottom:0;order:2;position:sticky;top:auto}jaarly-shell{display:flex;flex-direction:column;min-height:100vh}jaarly-shell main{flex:1;order:1;padding:1rem}}jaarly-stepper ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0}jaarly-stepper a,jaarly-stepper span{background:var(--card);border-radius:999px;color:var(--ink-soft);display:inline-block;font-size:.82rem;padding:.25rem .6rem;text-decoration:none}jaarly-stepper [aria-current=step]{background:var(--accent);color:#fff}jaarly-share input{font-family:var(--font-mono);font-size:.85rem}.swatches{display:flex;flex-wrap:wrap;gap:.6rem}.swatches label{background:var(--card);border-radius:999px;padding:.4rem .7rem}.icon{height:1.25rem;width:1.25rem}table{background:var(--card);border-collapse:collapse;border-radius:var(--radius-card);overflow:hidden;width:100%}td,th{border-bottom:1px solid var(--line);padding:.7rem .8rem;text-align:left;vertical-align:top}th{color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.blog-list{list-style:none;padding:0}.blog-list li{border-top:1px solid var(--line);padding:1rem 0}.blog-list a{color:var(--ink);text-decoration:none}.blog-list h2{margin:0 0 .3rem}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}