@import "https://fonts.googleapis.com/css2?family=Merriweather:wght@700;900&family=Work+Sans:wght@400;500;600&display=swap";:root{--color-text:#141414;--color-background:#fff6e5;--color-primary:#e8452c;--color-secondary:#2451d6;--color-accent:#ffc93c;--color-danger:#e8452c;--font-display:"Merriweather", Georgia, serif;--font-body:"Work Sans", system-ui, sans-serif;--border:2px solid var(--color-text);--radius:6px;--shadow:5px 5px 0 var(--color-text);--shadow-lg:8px 8px 0 var(--color-text);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:72px;--container:1120px}*{box-sizing:border-box}body{background:var(--color-background);color:var(--color-text);font:400 16px/1.55 var(--font-body);margin:0}img{max-width:100%;display:block}a{color:var(--color-text);text-decoration:none}a:hover{color:var(--color-primary)}:focus-visible{outline:3px solid var(--color-secondary);outline-offset:2px}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:pretty;margin:0;font-weight:900;line-height:1.15}p{text-wrap:pretty;margin:0}.container{max-width:var(--container);padding:0 var(--space-5);margin:0 auto}.section{padding:var(--space-8) 0;border-top:var(--border)}.section--background{background:var(--color-background)}.section--accent{background:var(--color-accent)}.section--secondary{background:var(--color-secondary)}.section--secondary .section-title{color:var(--color-background)}.section--text{background:var(--color-text);color:var(--color-background)}.section-title{margin-bottom:var(--space-6);font-size:clamp(28px,4vw,40px)}.btn{align-items:center;gap:var(--space-2);font:600 14px/1 var(--font-body);border:var(--border);border-radius:var(--radius);background:var(--color-background);color:var(--color-text);cursor:pointer;padding:12px 20px;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn:hover{box-shadow:3px 3px 0 var(--color-text);color:var(--color-text);transform:translate(-2px,-2px)}.btn:active{box-shadow:none;transform:translate(1px,1px)}.btn--accent{background:var(--color-accent)}.btn--primary{background:var(--color-primary);color:var(--color-background)}.btn--primary:hover{color:var(--color-background)}.btn--secondary{background:var(--color-secondary);color:var(--color-background)}.btn--secondary:hover{color:var(--color-background)}.btn--sm{padding:8px 14px;font-size:13px}.btn:disabled{opacity:.45;pointer-events:none}.icon-btn{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:2px solid;border-radius:50%;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--color-accent);color:var(--color-text);border-color:var(--color-accent)}.icon-btn svg{width:18px;height:18px}.tag{font:600 11px/1 var(--font-body);letter-spacing:.02em;border:1.5px solid var(--color-text);border-radius:var(--radius);background:var(--color-background);color:var(--color-text);align-self:flex-start;padding:5px 8px;display:inline-block}.tag--primary{background:var(--color-primary);color:var(--color-background)}.tag--secondary{background:var(--color-secondary);color:var(--color-background)}.tag--accent{background:var(--color-accent)}.tag-link{white-space:nowrap;cursor:pointer;min-height:36px;font-size:12px;font-family:var(--font-body);border-width:2px;border-radius:0;flex:none;align-items:center;gap:6px;padding:8px 12px;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.tag-link:hover{background:var(--color-accent);color:var(--color-text);box-shadow:3px 3px 0 var(--color-text);transform:translate(-2px,-2px)}.tag-link:active{box-shadow:none;transform:none}.tabs{gap:var(--space-1);border-bottom:var(--border);flex-wrap:wrap;display:flex}.tab{font:500 14px/1 var(--font-body);color:var(--color-text);cursor:pointer;background:0 0;border:0;border-bottom:4px solid #0000;margin-bottom:-2px;padding:12px 16px}.tab:hover{border-bottom-color:var(--color-accent)}.tab[aria-selected=true]{border-bottom-color:var(--color-primary);font-weight:600}.search{align-items:center;gap:var(--space-2);border:var(--border);border-radius:var(--radius);background:var(--color-background);min-width:240px;padding:0 12px;display:flex}.search svg{flex:none;width:16px;height:16px}.search input{font:400 14px var(--font-body);color:var(--color-text);background:0 0;border:0;outline:none;flex:1;padding:11px 0}.search:focus-within{box-shadow:3px 3px 0 var(--color-secondary)}.ph{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--color-text) 10%, transparent) 0 2px, transparent 2px 12px), var(--color-background);border:var(--border);border-radius:var(--radius);aspect-ratio:16/10;width:100%;font:500 11px var(--font-body);color:var(--color-text);justify-content:center;align-items:center;display:flex}.ph img{object-fit:cover;border-radius:calc(var(--radius) - 2px);width:100%;height:100%}.card{background:var(--color-background);border:var(--border);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex}a.card:hover,.card.is-raised{box-shadow:var(--shadow);color:var(--color-text);transform:translate(-3px,-3px)}.card-title{font:700 17px/1.35 var(--font-display)}.card-excerpt{color:color-mix(in srgb, var(--color-text) 80%, var(--color-background));font-size:14px}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card--feature .card-title{font-size:22px}.card--feature .ph{aspect-ratio:16/9.5}.card-row{gap:var(--space-4);grid-template-columns:42% 1fr;align-items:start;display:grid}.card-row .ph{aspect-ratio:3/2}.card-row>div{gap:var(--space-2);flex-direction:column;display:flex}.card-mini{gap:var(--space-3);grid-template-columns:72px 1fr;align-items:center;display:grid}.card-mini .ph{aspect-ratio:1}.card-mini .card-title{font-size:14px}.card-row.no-image,.card-mini.no-image{grid-template-columns:1fr}.card-mini>div{gap:var(--space-1);flex-direction:column;align-items:start;display:flex}.grid-3{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.carousel{gap:var(--space-5);scroll-snap-type:x mandatory;grid-auto-columns:minmax(260px,31%);grid-auto-flow:column;padding:6px 8px 14px 0;display:grid;overflow-x:auto}.carousel>*{scroll-snap-align:start}.carousel{scrollbar-gutter:stable}.carousel::-webkit-scrollbar{height:14px}.carousel::-webkit-scrollbar-track{background:var(--color-background);border:var(--border);border-radius:var(--radius)}.carousel::-webkit-scrollbar-thumb{background:var(--color-text);border:3px solid var(--color-background);border-radius:var(--radius)}.carousel::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}@supports not selector(::-webkit-scrollbar){.carousel{scrollbar-color:var(--color-text) var(--color-background);scrollbar-width:thin}}.nav{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-5) 0;flex-wrap:wrap;display:flex}.nav-brand{align-items:center;gap:var(--space-2);font:900 18px var(--font-display);display:flex}.nav-brand-dot{background:var(--color-primary);border:var(--border);border-radius:50%;width:22px;height:22px}.nav-links{gap:var(--space-5);font-size:14px;font-weight:500;display:flex}.nav-links a[aria-current=page]{-webkit-text-decoration:underline 3px var(--color-accent);text-decoration:underline 3px var(--color-accent);text-underline-offset:6px}.cta{background:var(--color-primary);color:var(--color-background);border:var(--border);border-radius:var(--radius);box-shadow:10px 10px 0 var(--color-accent);padding:var(--space-8) var(--space-6);text-align:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex;position:relative}.cta h2{height:auto;margin:0;font-size:clamp(28px,4.5vw,48px);line-height:1.15}.cta p{max-width:460px}.footer{background:var(--color-text);color:var(--color-background);padding:var(--space-8) 0 var(--space-5);text-align:center}.footer a{color:var(--color-background)}.footer a:hover{color:var(--color-accent)}.footer-inner{align-items:center;gap:var(--space-5);flex-direction:column;display:flex}.footer .nav-brand-dot{border-color:var(--color-background)}.footer-links,.footer-social{gap:var(--space-5);flex-wrap:wrap;justify-content:center;font-size:14px;display:flex}.footer-social{gap:var(--space-3)}.footer-copy{border-top:1px solid color-mix(in srgb, var(--color-background) 25%, transparent);padding-top:var(--space-5);width:100%;font-size:13px}.hidden{display:none!important}.tag-go{cursor:pointer;z-index:1;transition:background .12s;position:relative}.tag-go:hover{background:var(--color-accent);color:var(--color-text)}@media (width<=760px){.container{padding:0 var(--space-4)}}.menu-btn[data-v-8305bbcd]{display:none}.nav-pinned[data-v-8305bbcd]{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}@media (width>=761px){.nav-links[data-v-8305bbcd]{justify-content:center;row-gap:var(--space-1);flex-wrap:wrap;flex:1 1 0;min-width:0}.nav-links.has-pins[data-v-8305bbcd]{column-gap:var(--space-4)}.nav-links.has-pins .nav-pinned[data-v-8305bbcd]{max-width:130px}}.user-btn[data-v-8305bbcd]{text-overflow:ellipsis;white-space:nowrap;max-width:160px;display:inline-block;overflow:hidden}@media (width<=760px){.menu-btn[data-v-8305bbcd]{display:inline-grid}.nav[data-v-8305bbcd]{padding:var(--space-4) 0}.nav-links[data-v-8305bbcd]{border-top:var(--border);flex-direction:column;gap:0;width:100%;display:none}.nav-links a[data-v-8305bbcd]{border-bottom:var(--border);font:900 22px var(--font-display);padding:14px 0}.nav-links.is-open[data-v-8305bbcd]{display:flex}}.hero{gap:var(--space-6);padding:var(--space-7) 0 var(--space-6);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:end;display:grid}.hero h1{font-size:clamp(36px,6vw,60px)}.toolbar{gap:var(--space-6);margin-bottom:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;display:grid}.toolbar .search{width:100%;min-width:0}.toolbar .tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.toolbar .tabs::-webkit-scrollbar{display:none}.toolbar .tab{white-space:nowrap;flex:none}.tabs-wrap{min-width:0;position:relative}.tabs-edge{cursor:w-resize;z-index:1;background:0 0;width:56px;position:absolute;top:0;bottom:2px}.tabs-edge[data-dir="-1"]{left:0}.tabs-edge[data-dir="1"]{cursor:e-resize;right:0}.tabs-edge.is-off{display:none}@media (hover:none){.tabs-edge{display:none}}.split{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.stack{gap:var(--space-5);flex-direction:column;display:flex}.project{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.project-image{aspect-ratio:4/3}.project-body{gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.project-body .card-title{font-size:24px}.tag-cloud{gap:var(--space-3);flex-wrap:wrap;display:flex}.head-row{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.head-row .section-title{margin:0}.arrows{gap:var(--space-2);display:flex}.rail,.sheet{display:none}@media (width<=760px){body.has-rail{padding-bottom:58px}.hero,.split{gap:var(--space-4);grid-template-columns:1fr}.hero{padding:var(--space-5) 0}.hero h1{font-size:42px}.toolbar{display:none}.section{padding:0 0 var(--space-7)}.section-title,.head-row{z-index:2;background:var(--c,var(--color-background));margin:0 calc(var(--space-4) * -1) var(--space-5);padding:var(--space-4);border-bottom:var(--border);position:sticky;top:0}.section>.container>.section-title,.head-row .section-title{font-size:28px}.head-row .section-title{border:0;margin:0;padding:0;position:static}.section--accent,.section--secondary{background:var(--c)}.section--accent{--c:var(--color-accent)}.section--secondary{--c:var(--color-secondary)}.section--background{--c:var(--color-background)}.section--text{--c:var(--color-text)}main>section:first-child{--c:var(--page,var(--color-background))}.carousel{margin-right:calc(var(--space-4) * -1);grid-auto-columns:82%}#featured-side{counter-reset:n;gap:0}#featured-side .card-row{counter-increment:n;padding:var(--space-4) 0;border-top:var(--border);grid-template-columns:44px 1fr}#featured-side .card-row:before{content:counter(n, decimal-leading-zero);font:900 28px/1 var(--font-display);color:var(--accent,var(--color-primary));-webkit-text-stroke:1px var(--color-text)}.nav-brand-dot,.cta{background:var(--accent,var(--color-primary));transition:background .3s}.cta{color:var(--accent-ink,var(--color-text))}main>section:first-child a:not(.card),#featured-side .card-excerpt{color:inherit}#featured-main .card{box-shadow:5px 5px 0 var(--accent,var(--color-text))}#featured-side .card-row .ph,#featured-side .card-excerpt{display:none}#featured-side .card-row.is-open .ph,#featured-side .card-row.is-open .card-excerpt{display:flex}#featured-side .card-row.is-open .card-excerpt{display:-webkit-box}#featured-side .card-row.is-open .card-title{-webkit-line-clamp:unset}#featured-side .card-row.is-open:before{color:var(--color-text)}main>section+section{box-shadow:0 -6px 0 var(--color-text);position:relative}main>section:first-child{background:var(--page,var(--color-background));color:var(--page-ink,var(--color-text));transition:background .3s,color .3s}.project{gap:var(--space-4);grid-template-columns:1fr}.cta{padding:var(--space-7) var(--space-5);text-align:left;box-shadow:6px 6px 0 var(--color-accent);align-items:flex-start}.rail{z-index:10;background:var(--color-text);border-top:var(--border);box-shadow:none;border-radius:0;align-items:center;gap:4px;padding:6px;display:flex;position:fixed;bottom:0;left:0;right:0}.rail-tabs{scrollbar-width:none;flex:1;gap:4px;display:flex;overflow-x:auto}.rail .tab{color:var(--color-background);white-space:nowrap;border:0;border-radius:0;flex:none;min-height:44px;margin:0;padding:0 16px}.rail .tab[aria-selected=true]{background:var(--accent,var(--color-accent));color:var(--color-text)}.rail .icon-btn{width:44px;height:44px;color:var(--color-text);background:var(--color-accent);border-color:var(--color-accent);border-radius:0;flex:none}.sheet.is-open{gap:var(--space-4);z-index:20;background:var(--color-background);padding:var(--space-4);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet .search{min-width:0}.sheet .search input{padding:14px 0;font-size:18px}#search-results{gap:var(--space-4);flex-direction:column;display:flex}}
