@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-ext-wght-normal.hsMS0n0O.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-wght-normal.Bb8VGrTG.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.DHTKMUil.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.B1g8a0vD.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.BpXpdlRW.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.BsaNuasd.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.BVZ5su8S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.DMe4EKeb.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-italic.y6hTrs-Y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-italic.CRzqOTyj.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-italic.CUp-f2uw.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-italic.D3EGHrWW.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-italic.B_cmBfNX.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-italic.B-rCj6ir.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display:"Schibsted Grotesk Variable", "Helvetica Neue", Arial, sans-serif;--font-text:"Source Serif 4 Variable", Georgia, "Times New Roman", serif;--font-ui:var(--font-display);--paper:#f6f8fa;--paper-raised:#fff;--ink:#10263f;--ink-soft:#3b4b5f;--ink-faint:#6a7889;--line:#dfe5ec;--line-strong:#c8d1dc;--accent:#1f5f8b;--accent-soft:#1f5f8b14;--band:#10263f;--band-ink:#f6f8fa;--band-soft:#b8c6d6;--band-accent:#8fc1e3;--band-accent-ink:#10263f;--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2rem;--s5:3rem;--s6:4.5rem;--maxw:44rem;--maxw-wide:70rem;--radius:6px}@media (prefers-color-scheme:dark){:root{--paper:#0d1724;--paper-raised:#132134;--ink:#e6edf5;--ink-soft:#a9b7c7;--ink-faint:#7f8d9e;--line:#1f2e42;--line-strong:#2b3d55;--accent:#7fb3dc;--accent-soft:#7fb3dc1a;--band:#16283f;--band-ink:#e6edf5;--band-soft:#a9b7c7;--band-accent:#8fc1e3;--band-accent-ink:#0d1724}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-text);background:var(--paper);color:var(--ink);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:18px;line-height:1.7}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}.container.wide{max-width:var(--maxw-wide)}a{color:var(--accent);text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}.nav-links,.btn,.tagline,.kicker,.meta-label,.card .meta,.entry-period,.post-meta,.status,.tag,.section-head a,.social,.back-link,.subscribe label,.subscribe button,.form-note,.site-footer{font-family:var(--font-ui)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-weight:700;line-height:1.15}h1{margin:0 0 var(--s2);font-size:clamp(2.4rem,6vw,3.2rem)}h2{margin:var(--s6) 0 var(--s2);font-size:1.6rem}h3{margin:var(--s3) 0 var(--s1);font-size:1.2rem;font-weight:600}p{margin:0 0 var(--s2)}hr{border:none;border-top:1px solid var(--line);margin:var(--s5) 0}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.nav{justify-content:space-between;align-items:center;gap:.4rem 1.5rem;padding-top:1.2rem;padding-bottom:1.2rem;display:flex;position:relative}.nav-brand{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);white-space:nowrap;font-size:1.75rem;font-weight:700;line-height:1.1}.nav-brand:hover{color:var(--accent);text-decoration:none}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem 1.6rem;display:flex}.nav-links a{color:var(--ink-soft);letter-spacing:.01em;white-space:nowrap;padding-bottom:2px;font-size:.95rem;position:relative}.nav-links a:hover{color:var(--ink);text-decoration:none}.nav-links a[aria-current=page]{color:var(--ink);border-bottom:1.5px solid var(--accent)}.nav-links .nav-cta{color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;padding:.45rem 1.05rem;font-weight:600}.nav-links .nav-cta:hover,.nav-links .nav-cta[aria-current=page]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.menu-toggle{display:none}@media (width<=960px){.nav-brand{font-size:1.5rem}.menu-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;padding:.5rem;display:inline-flex}.menu-toggle span{background:var(--ink);border-radius:2px;height:2px;transition:transform .18s,opacity .18s;display:block}.nav[data-menu=open] .menu-toggle span:first-child{transform:translateY(7px)rotate(45deg)}.nav[data-menu=open] .menu-toggle span:nth-child(2){opacity:0}.nav[data-menu=open] .menu-toggle span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav[data-menu=closed] .nav-links{display:none}.nav[data-menu=open] .nav-links{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:0 1.5rem 1.2rem;display:flex;position:absolute;top:100%;left:0;right:0}.nav[data-menu=open] .nav-links a{border-bottom:1px solid var(--line);padding:.9rem 0;font-size:1.25rem}.nav[data-menu=open] .nav-links a[aria-current=page]{color:var(--accent)}.nav[data-menu=open] .nav-links .nav-cta{border:1.5px solid var(--ink);text-align:center;margin-top:1rem;padding:.75rem 1rem}}main{padding:var(--s6) 0;min-height:60vh}.tagline{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0 0 var(--s3);font-size:1rem;font-weight:500}.lead{color:var(--ink-soft);max-width:38rem;font-size:1.28rem;line-height:1.6}.lead:first-of-type{color:var(--ink)}.social{margin:var(--s4) 0 0;flex-wrap:wrap;gap:1.5rem;padding:0;list-style:none;display:flex}.social a{color:var(--ink-soft);border-bottom:1px solid var(--line-strong);padding-bottom:2px;font-size:.95rem}.social a:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.entry{margin-bottom:var(--s4);padding-left:var(--s3);border-left:2px solid var(--line)}.entry:hover{border-color:var(--accent)}.entry-role{font-family:var(--font-display);margin:0 0 .1rem;font-size:1.2rem;font-weight:600}.entry-org{color:var(--ink-soft);font-weight:500}.entry-period{margin:0 0 var(--s1);color:var(--ink-faint);letter-spacing:.03em;text-transform:uppercase;font-size:.85rem}.entry ul{margin:0;padding-left:1.1rem}.entry li{color:var(--ink-soft);margin-bottom:.3rem}.assignment{margin-top:var(--s3)}.assignment-title{font-family:var(--font-display);color:var(--ink);margin:0 0 .1rem;font-size:1.05rem;font-weight:600}.card-list{margin:var(--s4) 0 0;gap:var(--s2);padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3) var(--s3);background:var(--paper-raised);transition:border-color .18s,transform .18s;position:relative}.card:has(h3 a):hover,.card:has(h3 a:focus-visible){border-color:var(--accent);transform:translateY(-2px)}.card h3{margin:0 0 .3rem;font-size:1.25rem}.card h3 a{color:var(--ink)}.card h3 a:after{content:"";border-radius:inherit;position:absolute;inset:0}.card:hover h3 a,.card h3 a:hover{color:var(--accent);text-decoration:none}.card p{color:var(--ink-soft);margin:0;font-size:1rem}.card .meta{color:var(--ink-faint);letter-spacing:.03em;text-transform:uppercase;margin-top:var(--s2);font-size:.82rem}.status{color:var(--ink-soft);font-weight:600}.status[data-status=In\ build]{color:var(--accent)}.status[data-status=Retired]{color:var(--ink-faint);font-weight:400;text-decoration:line-through}.tag{letter-spacing:.04em;color:var(--ink-soft);background:var(--accent-soft);border-radius:999px;margin:0 .35rem .35rem 0;padding:.15rem .7rem;font-size:.75rem;display:inline-block}.post-body{font-size:1.1rem;line-height:1.75}.post-body h2{margin-top:var(--s5)}.post-body img{border-radius:var(--radius);max-width:100%;height:auto}.post-body pre{background:var(--paper-raised);padding:var(--s2);border-radius:var(--radius);border:1px solid var(--line);font-size:.9rem;overflow-x:auto}.post-body blockquote{border-left:3px solid var(--accent);margin:var(--s3) 0;padding-left:var(--s2);color:var(--ink-soft);font-family:var(--font-text);font-size:1.2rem;font-style:italic}.post-meta{color:var(--ink-faint);letter-spacing:.03em;text-transform:uppercase;margin-bottom:var(--s4);font-size:.85rem}.back-link{margin-bottom:var(--s4);color:var(--ink-soft);font-size:.9rem;display:inline-block}.back-link:hover{color:var(--accent);text-decoration:none}.subscribe{margin:var(--s4) 0 var(--s2);max-width:32rem}.subscribe label{color:var(--ink-soft);margin-bottom:var(--s1);font-size:.9rem;display:block}.subscribe-row{gap:var(--s1);flex-wrap:wrap;display:flex}.subscribe input[type=email]{font:inherit;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius);flex:14rem;padding:.65rem .9rem}.subscribe input[type=email]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.subscribe button{font:inherit;font-family:var(--font-ui);color:var(--paper);background:var(--accent);border-radius:var(--radius);cursor:pointer;border:0;padding:.65rem 1.4rem;font-weight:600}.subscribe button:hover{background:var(--ink)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-note{color:var(--ink-faint);max-width:32rem;font-size:.9rem}.form-message{margin-top:var(--s3);padding:var(--s2) var(--s3);border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:var(--radius)}.lens-issues,.issue-signup{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.lens-issues h2,.issue-signup h2{margin-top:0}.lens-issues p,.issue-signup p{color:var(--ink-soft)}.issue-list,.issue-section ul{margin:0;padding:0;list-style:none}.issue-list li{justify-content:space-between;align-items:baseline;gap:var(--s2);border-top:1px solid var(--line);font-family:var(--font-display);padding:.85rem 0;font-weight:600;display:flex}.issue-list .meta-label{margin:0}.issue-section{margin-top:var(--s4)}.issue-section h2{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:1.05rem}.issue-section li{border-top:1px solid var(--line);padding:.7rem 0}.issue-section a{color:var(--ink);font-weight:600}.issue-source{font-family:var(--font-ui);color:var(--ink-faint);margin-top:.15rem;font-size:.85rem;display:block}.issue-nav{justify-content:space-between;gap:var(--s2);margin-top:var(--s4);font-family:var(--font-ui);font-weight:600;display:flex}.site-footer{border-top:1px solid var(--line);padding:var(--s4) 0;color:var(--ink-faint);font-size:.85rem}.site-footer p:has(+.privacy-note){margin-bottom:.3rem}.site-footer a{color:inherit;text-decoration:underline}.about-head.has-portrait{gap:var(--s4);margin-bottom:var(--s3);grid-template-columns:1fr 11rem;align-items:end;display:grid}.about-head .tagline{margin-bottom:0}.kicker{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 var(--s2);font-size:.82rem;font-weight:600}.hero{padding:var(--s2) 0 var(--s5);border-bottom:1px solid var(--line)}.hero h1{margin:0 0 var(--s3);font-size:clamp(2.6rem,5.5vw,3.8rem);line-height:1.05}.hero-lead{color:var(--ink);max-width:40rem;margin:0 0 var(--s3);font-size:clamp(1.3rem,2.3vw,1.65rem);line-height:1.5}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.hero-text{color:var(--ink-soft);max-width:38rem;font-size:1.15rem}.hero-actions{margin-top:var(--s4);flex-wrap:wrap;gap:.75rem;display:flex}.btn{border-radius:var(--radius);padding:.7rem 1.25rem;font-size:.95rem;font-weight:600;display:inline-block}.btn:hover{text-decoration:none}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);color:var(--paper)}.btn-ghost{border:1px solid var(--ink);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.portrait{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);border-radius:10px;width:100%;height:auto}.home-section{padding:var(--s5) 0;border-bottom:1px solid var(--line)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.section-head h2{margin:0}.section-head a{font-size:.93rem;font-weight:600}.meta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 var(--s1);font-size:.78rem}.card .meta-label{margin-bottom:.65rem}.feature-grid{gap:var(--s2);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.build-list,.post-list{margin:0;padding:0;list-style:none}.build-list{column-gap:var(--s5);grid-template-columns:repeat(2,1fr);display:grid}.build-list li{justify-content:space-between;align-items:baseline;gap:var(--s2);border-top:1px solid var(--line);font-family:var(--font-display);padding:.85rem 0;font-weight:600;display:flex}.build-list a{color:var(--ink)}.build-list .status{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.75rem}.post-list li{gap:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--line);grid-template-columns:9rem 1fr;display:grid}.post-list h3{margin:0 0 .25rem;font-size:1.2rem}.post-list h3 a{color:var(--ink)}.post-list p{color:var(--ink-soft);margin:0;font-size:1rem}.lens-band{gap:var(--s4);background:var(--band);color:var(--band-ink);border:1px solid var(--line-strong);padding:var(--s5);margin:var(--s5) 0 var(--s2);border-radius:14px;grid-template-columns:1.2fr 1fr;align-items:center;display:grid}.lens-band h2{color:var(--band-ink);margin:0 0 var(--s1)}.lens-band p{color:var(--band-soft);margin:0}.lens-band .kicker{color:var(--band-accent)}.lens-band .subscribe button{background:var(--band-accent);color:var(--band-accent-ink)}.lens-band .subscribe button:hover{background:var(--band-ink)}.lens-band .subscribe{margin:0}.lens-band .subscribe label{color:var(--band-soft)}.lens-band .form-note{color:var(--band-soft);margin-top:var(--s1)}@media (width<=760px){.lens-band{grid-template-columns:1fr}.about-head.has-portrait{gap:var(--s2);grid-template-columns:1fr 6.5rem}.feature-grid,.build-list{grid-template-columns:1fr}.post-list li{grid-template-columns:1fr;gap:.25rem}.lens-band{padding:var(--s3)}}
