body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#111;background-color:#fdfdfd;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:15px}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px}ul,ol{margin-left:30px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:#2a7ae2;text-decoration:none}a:visited{color:#1756a9}a:hover{color:#111;text-decoration:underline}.social-media-list a:hover{text-decoration:none}.social-media-list a:hover .username{text-decoration:underline}blockquote{color:#828282;border-left:4px solid #e8e8e8;padding-left:15px;font-size:18px;letter-spacing:-1px;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-size:15px;border:1px solid #e8e8e8;border-radius:3px;background-color:#eef}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.wrapper{max-width:-webkit-calc(800px - (30px * 2));max-width:calc(800px - (30px * 2));margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}@media screen and (max-width: 800px){.wrapper{max-width:-webkit-calc(800px - (30px));max-width:calc(800px - (30px));padding-right:15px;padding-left:15px}}.wrapper:after,.footer-col-wrapper:after{content:"";display:table;clear:both}.svg-icon{width:16px;height:16px;display:inline-block;fill:#828282;padding-right:5px;vertical-align:text-top}.social-media-list li+li{padding-top:5px}table{margin-bottom:30px;width:100%;text-align:left;color:#3f3f3f;border-collapse:collapse;border:1px solid #e8e8e8}table tr:nth-child(even){background-color:#f7f7f7}table th,table td{padding:10px 15px}table th{background-color:#f0f0f0;border:1px solid #dedede;border-bottom-color:#c9c9c9}table td{border:1px solid #e8e8e8}.site-header{border-top:5px solid #424242;border-bottom:1px solid #e8e8e8;min-height:55.95px;position:relative}.site-title{font-size:26px;font-weight:300;line-height:54px;letter-spacing:-1px;margin-bottom:0;float:left}.site-title,.site-title:visited{color:#424242}.site-nav{float:right;line-height:54px}.site-nav .nav-trigger{display:none}.site-nav .menu-icon{display:none}.site-nav .page-link{color:#111;line-height:1.5}.site-nav .page-link:not(:last-child){margin-right:20px}@media screen and (max-width: 600px){.site-nav{position:absolute;top:9px;right:15px;background-color:#fdfdfd;border:1px solid #e8e8e8;border-radius:5px;text-align:right}.site-nav label[for="nav-trigger"]{display:block;float:right;width:36px;height:36px;z-index:2;cursor:pointer}.site-nav .menu-icon{display:block;float:right;width:36px;height:26px;line-height:0;padding-top:10px;text-align:center}.site-nav .menu-icon>svg{fill:#424242}.site-nav input ~ .trigger{clear:both;display:none}.site-nav input:checked ~ .trigger{display:block;padding-bottom:5px}.site-nav .page-link{display:block;padding:5px 10px;margin-left:20px}.site-nav .page-link:not(:last-child){margin-right:0}}.site-footer{border-top:1px solid #e8e8e8;padding:30px 0}.footer-heading{font-size:18px;margin-bottom:15px}.contact-list,.social-media-list{list-style:none;margin-left:0}.footer-col-wrapper{font-size:15px;color:#828282;margin-left:-15px}.footer-col{float:left;margin-bottom:15px;padding-left:15px}.footer-col-1{width:-webkit-calc(35% - (30px / 2));width:calc(35% - (30px / 2))}.footer-col-2{width:-webkit-calc(20% - (30px / 2));width:calc(20% - (30px / 2))}.footer-col-3{width:-webkit-calc(45% - (30px / 2));width:calc(45% - (30px / 2))}@media screen and (max-width: 800px){.footer-col-1,.footer-col-2{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}.footer-col-3{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}@media screen and (max-width: 600px){.footer-col{float:none;width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}.page-content{padding:30px 0;flex:1}.page-heading{font-size:32px}.post-list-heading{font-size:28px}.post-list{margin-left:0;list-style:none}.post-list>li{margin-bottom:30px}.post-meta{font-size:14px;color:#828282}.post-link{display:block;font-size:24px}.post-header{margin-bottom:30px}.post-title{font-size:42px;letter-spacing:-1px;line-height:1}@media screen and (max-width: 800px){.post-title{font-size:36px}}.post-content{margin-bottom:30px}.post-content h2{font-size:32px}@media screen and (max-width: 800px){.post-content h2{font-size:28px}}.post-content h3{font-size:26px}@media screen and (max-width: 800px){.post-content h3{font-size:22px}}.post-content h4{font-size:20px}@media screen and (max-width: 800px){.post-content h4{font-size:18px}}.highlight{background:#fff}.highlighter-rouge .highlight{background:#eef}.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:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.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:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}:root{--linen: #f5f0e8;--linen-dark: #ebe4d6;--linen-mid: #d8cfc0;--slate: #1e2832;--slate-mid: #3a4a58;--slate-light: #6a7d8a;--teal: #2e5d6b;--teal-mid: #3d7a8a;--teal-light: #c2d8de;--sienna: #b5622a;--sienna-light: #e8c9a8;--ochre: #c4944a;--rule: #c8bfb0;--sidebar-w: 220px}*,*::before,*::after{box-sizing:border-box}html,body{height:100%}body{background:var(--linen);color:var(--slate);font-family:"Lora", serif;font-size:17px;line-height:1.75;font-weight:400;display:flex;min-height:100vh;margin:0;padding:0}.sidebar{width:var(--sidebar-w);min-height:100vh;background:var(--slate);padding:36px 24px 32px;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto}.site-logo{display:block;margin-bottom:28px;text-decoration:none}.site-logo img{width:160px;height:auto;display:block}.site-logo:hover img{opacity:0.8;transition:opacity 0.15s}.sidebar-rule{height:1px;background:rgba(255,255,255,0.07);margin-bottom:24px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;margin-bottom:28px}.sidebar-nav a{font-family:"Fira Code", monospace;font-size:0.7rem;letter-spacing:0.08em;color:rgba(255,255,255,0.42);text-decoration:none;padding:7px 0;border-bottom:1px solid rgba(255,255,255,0.05);transition:color 0.15s;display:flex;align-items:center;gap:8px}.sidebar-nav a:last-child{border-bottom:none}.sidebar-nav a::before{content:"";display:block;width:0;height:1px;background:var(--sienna);transition:width 0.2s;flex-shrink:0}.sidebar-nav a:hover,.sidebar-nav a.active{color:var(--linen);text-decoration:none}.sidebar-nav a:hover::before,.sidebar-nav a.active::before{width:12px}.sidebar-legal{display:flex;flex-direction:column;gap:2px;margin-bottom:28px}.sidebar-legal a{font-family:"Fira Code", monospace;font-size:0.58rem;letter-spacing:0.08em;color:rgba(255,255,255,0.2);text-decoration:none;padding:4px 0;transition:color 0.15s}.sidebar-legal a:hover{color:rgba(255,255,255,0.48);text-decoration:none}.sidebar-contact{margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,0.07)}.sidebar-contact-label{font-family:"Fira Code", monospace;font-size:0.54rem;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.2);margin-bottom:10px;display:block}.sidebar-contact a{font-family:"Fira Code", monospace;font-size:0.62rem;color:rgba(255,255,255,0.36);text-decoration:none;display:block;margin-bottom:6px;transition:color 0.15s;word-break:break-all}.sidebar-contact a:hover{color:rgba(255,255,255,0.72);text-decoration:none}.hamburger{display:none;position:fixed;top:16px;left:16px;z-index:200;background:var(--slate);border:none;width:40px;height:40px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}.hamburger span{display:block;width:20px;height:1.5px;background:rgba(255,255,255,0.7);transition:all 0.2s}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:99}.main-wrapper{margin-left:var(--sidebar-w);flex:1;min-height:100vh;display:flex;flex-direction:column;background:var(--linen);width:calc(100% - var(--sidebar-w));position:relative}.page-content{flex:1;padding:56px 48px;max-width:720px}.page-inner{max-width:620px}h1{font-family:"Spectral", serif;font-style:italic;font-weight:700;font-size:3.6rem;line-height:1.05;color:var(--slate);margin-bottom:20px;letter-spacing:-0.01em}h2{font-family:"Spectral", serif;font-style:italic;font-weight:600;font-size:1.6rem;line-height:1.2;color:var(--slate);margin-top:36px;margin-bottom:12px}h3{font-family:"Lora", serif;font-weight:600;font-size:1rem;color:var(--slate);margin-bottom:6px;margin-top:24px}p{font-family:"Lora", serif;color:var(--slate-mid);margin-bottom:16px;line-height:1.8;font-weight:400;font-size:0.97rem}a{color:var(--teal);text-decoration:none;transition:color 0.15s}a:hover{color:var(--teal-mid);text-decoration:underline}ul,ol{color:var(--slate-mid);margin:0 0 16px 24px}li{margin-bottom:6px;line-height:1.7;font-family:"Lora", serif;font-size:0.97rem}strong{color:var(--slate);font-weight:600}em{font-style:italic}code{font-family:"Fira Code", monospace;font-size:0.78rem;background:var(--linen-dark);padding:2px 6px;color:var(--slate-mid)}pre{background:var(--slate);padding:20px 24px;overflow-x:auto;margin-bottom:20px}pre code{background:none;color:rgba(255,255,255,0.8);font-size:0.82rem;padding:0}.page-label{font-family:"Fira Code", monospace;font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--sienna);margin-bottom:16px;font-weight:500;display:flex;align-items:center;gap:10px}.page-label::before{content:"";display:block;width:20px;height:2px;background:var(--sienna);flex-shrink:0}.section-divider{height:1px;background:var(--rule);margin:40px 0}.section-label{font-family:"Fira Code", monospace;font-size:0.58rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--slate-light);margin-bottom:20px;display:block}.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}a.btn,a.btn:visited,.btn{font-family:"Fira Code", monospace;font-size:0.63rem;letter-spacing:0.1em;text-transform:uppercase;padding:11px 22px;text-decoration:none !important;border:1px solid;font-weight:500;transition:all 0.15s;display:inline-block}a.btn-primary,a.btn-primary:visited,.btn-primary{background:var(--teal) !important;color:var(--linen) !important;border-color:var(--teal) !important}a.btn-primary:hover,.btn-primary:hover{background:var(--slate) !important;border-color:var(--slate) !important;color:var(--linen) !important}a.btn-secondary,a.btn-secondary:visited,.btn-secondary{background:transparent !important;color:var(--slate) !important;border-color:var(--rule) !important}a.btn-secondary:hover,.btn-secondary:hover{border-color:var(--slate-mid) !important;color:var(--slate) !important;text-decoration:none !important}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:24px}.work-card{background:var(--linen-dark);padding:22px;border-top:2px solid transparent;transition:border-color 0.15s}.work-card:hover{border-top-color:var(--sienna)}.work-card .card-tag{font-family:"Fira Code", monospace;font-size:0.56rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal-mid);margin-bottom:6px;font-weight:500;display:block}.work-card h3{font-size:0.9rem;margin-top:0;margin-bottom:5px}.work-card p{font-size:0.83rem;margin-bottom:0;line-height:1.6}.pull-quote{background:var(--teal-light);border-left:3px solid var(--teal);padding:18px 22px;margin:32px 0 0}.pull-quote p{font-family:"Spectral", serif;font-style:italic;font-size:1.15rem;color:var(--teal);line-height:1.35;margin-bottom:5px;font-weight:600}.pull-quote cite{font-family:"Fira Code", monospace;font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-mid);font-style:normal}.contact-table{width:100%;border:1px solid var(--rule);border-collapse:collapse;margin-top:24px;font-family:"Fira Code", monospace}.contact-table tr{border-bottom:1px solid var(--rule)}.contact-table tr:last-child{border-bottom:none}.contact-table td{padding:13px 18px;vertical-align:middle}.contact-table td:first-child{font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--slate-light);background:var(--linen-dark);width:100px;border-right:1px solid var(--rule)}.contact-table td:last-child{font-size:0.8rem;color:var(--slate-mid)}.contact-table a{color:var(--slate-mid)}.contact-table a:hover{color:var(--teal)}.collective-intro{font-family:"Lora", serif;font-style:italic;font-size:0.97rem;color:var(--slate-mid);padding:16px 20px;background:var(--sienna-light);border-left:3px solid var(--sienna);margin-bottom:28px;line-height:1.7}.post-list{list-style:none;margin:0;padding:0}.post-list li{padding:16px 0;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;gap:4px;margin-bottom:0}.post-list li:last-child{border-bottom:none}.post-meta{font-family:"Fira Code", monospace;font-size:0.6rem;letter-spacing:0.12em;color:var(--slate-light)}.post-list a{font-family:"Spectral", serif;font-weight:500;font-size:1rem;color:var(--slate);text-decoration:none}.post-list a:hover{color:var(--teal)}.post-content{margin-top:8px}.post-content p{margin-bottom:20px}.legal-date{font-family:"Fira Code", monospace;font-size:0.63rem;letter-spacing:0.12em;color:var(--slate-light);margin-bottom:28px;display:block}.site-footer{border-top:1px solid var(--rule);padding:18px 48px;background:var(--linen-dark)}.footer-inner{display:flex;justify-content:space-between;align-items:center;max-width:620px}.footer-copy{font-family:"Fira Code", monospace;font-size:0.58rem;letter-spacing:0.12em;color:var(--slate-light)}.footer-links{display:flex;gap:16px}.footer-links a{font-family:"Fira Code", monospace;font-size:0.58rem;letter-spacing:0.1em;color:var(--slate-light);text-decoration:none;transition:color 0.15s}.footer-links a:hover{color:var(--slate-mid);text-decoration:none}.site-header{display:none}.site-nav{display:none}@media (max-width: 768px){body{display:block;background:var(--linen)}.sidebar{transform:translateX(-100%);transition:transform 0.25s ease;width:260px}.sidebar.open{transform:translateX(0)}.sidebar-overlay.open{display:block}.hamburger{display:flex}.main-wrapper{margin-left:0}.page-content{padding:72px 24px 40px}h1{font-size:2.6rem}h2{font-size:1.3rem}.work-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:8px;align-items:flex-start}}
