.site-nav[data-astro-cid-nen7h5rs],.nav-top-row[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;display:flex}.site-title-link[data-astro-cid-nen7h5rs]{text-decoration:none}.site-title[data-astro-cid-nen7h5rs]{align-items:center;gap:10px;display:flex}.logo-wrap[data-astro-cid-nen7h5rs]{aspect-ratio:5/3;flex-shrink:0;height:25px;position:relative}.logo-wrap[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:100%;height:100%;transition:opacity .2s;position:absolute;top:0;left:0}.logo-rainbow[data-astro-cid-nen7h5rs]{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .2s;position:absolute;top:0;left:0}.site-title[data-astro-cid-nen7h5rs]:hover .logo-wrap[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{opacity:0}.site-title[data-astro-cid-nen7h5rs]:hover .logo-rainbow[data-astro-cid-nen7h5rs]{opacity:1}.sun[data-astro-cid-nen7h5rs]{fill:#000}.moon[data-astro-cid-nen7h5rs],.dark .sun[data-astro-cid-nen7h5rs]{fill:#0000}.dark .moon[data-astro-cid-nen7h5rs],.logo-bg[data-astro-cid-nen7h5rs]{fill:#fff}.logo-main[data-astro-cid-nen7h5rs],.logo-accent[data-astro-cid-nen7h5rs],.dark .logo-bg[data-astro-cid-nen7h5rs]{fill:#231f20}.dark .logo-main[data-astro-cid-nen7h5rs],.dark .logo-accent[data-astro-cid-nen7h5rs]{fill:#fff}.theme-toggle[data-astro-cid-nen7h5rs]{background:var(--bg-primary);border:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;width:3rem;height:2rem;margin:0;padding-top:5px;display:flex}.theme-toggle[data-astro-cid-nen7h5rs]:hover,.theme-toggle[data-astro-cid-nen7h5rs]:focus{background:var(--bg-primary);color:var(--text-primary)}.theme-toggle[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:1.25rem;height:1.25rem}#themeToggleMobile[data-astro-cid-nen7h5rs]{margin-left:10px}#themeToggleDesktop[data-astro-cid-nen7h5rs]{margin-left:.5rem;margin-right:.3rem}@media (width>=768px){#themeToggleMobile[data-astro-cid-nen7h5rs]{display:none}#themeToggleDesktop[data-astro-cid-nen7h5rs]{display:flex}}@media (width<=767px){#themeToggleMobile[data-astro-cid-nen7h5rs]{display:flex}#themeToggleDesktop[data-astro-cid-nen7h5rs]{display:none}}:root{--bg-primary:#fbf9f8;--bg-secondary:#f6f1ee;--text-primary:#222;--text-secondary:#404040;--text-muted:gray;--border-light:gray;--border-dark:#404040;--hover-bg:#2980b9;--hover-text:#fff;--nav-bg:var(--bg-primary);--nav-border:var(--border-light);--nav-border-accent:var(--border-dark);--nav-text:var(--text-primary);--nav-hover-bg:var(--hover-bg);--nav-hover-text:var(--hover-text);--form-bg:#fff;--form-border:#ddd;--form-border-focus:#666;--form-text:var(--text-primary);--portfolio-border:#ccc;--portfolio-overlay:#000000b3;--tag-bg:#f8fcfd;--tag-border:#a1a1a1;--tag-text:var(--text-primary);--bg-grid-pattern:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3C!-- Grid Lines --%3E%3Cpath d='M10 0v100M30 0v100M70 0v100M90 0v100M0 10h100M0 30h100M0 70h100M0 90h100' stroke='%23000000' stroke-opacity='0.05' stroke-width='1' fill='none'/%3E%3Cpath d='M50 0v100M0 50h100' stroke='%23000000' stroke-opacity='0.1' stroke-width='1' fill='none'/%3E%3C!-- Crosshair (Center) --%3E%3Cpath d='M46.5 50h7M50 46.5v7' stroke='%23000000' stroke-opacity='0.3' stroke-width='1' fill='none'/%3E%3C!-- Dot (Corners) --%3E%3Crect x='0' y='0' width='1' height='1' fill='%23000000' fill-opacity='0.3'/%3E%3C/svg%3E")}html.dark{--bg-primary:#170b1c;--bg-secondary:#2c1338;--text-primary:#fff;--text-secondary:#e5c8f6;--text-muted:#b8a1c9;--border-light:#5a2a73;--border-dark:#7d4094;--hover-bg:#2980b9;--hover-text:#fff;--nav-bg:var(--bg-secondary);--nav-border:var(--border-light);--nav-border-accent:var(--border-light);--nav-text:var(--text-primary);--nav-hover-bg:var(--hover-bg);--nav-hover-text:var(--hover-text);--form-bg:var(--bg-secondary);--form-border:var(--border-light);--form-border-focus:var(--border-dark);--form-text:var(--text-primary);--portfolio-border:var(--border-light);--portfolio-overlay:#000c;--tag-bg:var(--bg-secondary);--tag-border:var(--border-light);--tag-text:var(--text-primary);--bg-grid-pattern:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3C!-- Grid Lines --%3E%3Cpath d='M10 0v100M30 0v100M70 0v100M90 0v100M0 10h100M0 30h100M0 70h100M0 90h100' stroke='%23ffffff' stroke-opacity='0.05' stroke-width='1' fill='none'/%3E%3Cpath d='M50 0v100M0 50h100' stroke='%23ffffff' stroke-opacity='0.1' stroke-width='1' fill='none'/%3E%3C!-- Crosshair (Center) --%3E%3Cpath d='M46.5 50h7M50 46.5v7' stroke='%23ffffff' stroke-opacity='0.3' stroke-width='1' fill='none'/%3E%3C!-- Dot (Corners) --%3E%3Crect x='0' y='0' width='1' height='1' fill='%23ffffff' fill-opacity='0.3'/%3E%3C/svg%3E")}html{background-color:var(--bg-primary);background-image:var(--bg-grid-pattern);color:var(--text-primary);background-attachment:fixed;font-family:Atkinson Hyperlegible Next Variable,sans-serif}body{width:100%;max-width:68em;color:var(--text-primary);border:1px solid var(--portfolio-border);background-color:var(--bg-primary);margin:0 auto;padding:1rem;line-height:1.5}*{box-sizing:border-box}strong,b{font-weight:700}h1{border-bottom:3px solid var(--border-dark);color:var(--text-primary);margin:1rem 0;padding-top:.25rem;padding-bottom:.5rem;font-size:1.75rem}h2{border-bottom:1px dashed var(--border-light);color:var(--text-primary);padding-bottom:.5rem}button:not([class*=yarl]){background:var(--bg-primary);border:1px solid var(--border-light);border-bottom:3px solid var(--border-dark);width:100%;font:inherit;color:var(--text-primary);cursor:pointer;flex-direction:column;align-items:flex-start;margin-bottom:1em;padding:.5rem}button:not([class*=yarl]):hover,button:not([class*=yarl]):focus{background-color:var(--hover-bg);color:var(--hover-text)}body:before{content:"";opacity:1;z-index:10;pointer-events:none;background:linear-gradient(90deg,pink 0%,red 10%,orange 22%,#ff0 36%,green 53%,#00f 68%,indigo 82%,violet 100%,#fff0 100%);height:1.25em;position:fixed;top:-1em;left:0;right:0}.site-header{z-index:2;background:var(--bg-primary);position:sticky;top:1em}.site-header:before{content:"";background:var(--bg-primary);pointer-events:none;height:1em;position:absolute;bottom:100%;left:0;right:0}.site-header nav{background:var(--nav-bg);border:1px solid var(--nav-border);border-bottom:3px solid var(--nav-border-accent);flex-direction:column;align-items:flex-start;padding:.5em;display:flex}.nav-top-row{align-items:center;width:100%;display:flex}.site-title{white-space:nowrap;color:var(--nav-text);margin:0;font-size:1.25em}.nav-links{width:100%;max-height:unset;scrollbar-width:none;grid-template-columns:repeat(4,2fr);gap:.25rem;padding-top:.5rem;transition:none;display:grid;overflow:visible}.nav-links::-webkit-scrollbar{display:none}.nav-links a{text-align:center;text-transform:uppercase;border:1px solid var(--nav-border);color:var(--nav-text);padding:1px;font-size:.9em;font-weight:700;text-decoration:none;display:block}.nav-links a.active{border-top:3px solid var(--nav-border)}.nav-links a:hover,.nav-links a:focus{background-color:var(--nav-hover-bg);color:var(--nav-hover-text)}@media screen and (width>=769px){body{margin-top:1em;margin-bottom:1em}.site-header nav{flex-direction:row;justify-content:space-between;align-items:center;padding:.15em}.nav-top-row{display:contents}.site-title{margin:0 0 0 .25em}.nav-links{max-height:unset;width:auto;padding-top:0;display:flex;overflow:visible}.nav-links a{background-color:#0000;margin:.25em;padding:2px 10px}}.tile-container{gap:1rem;display:grid}.tile-item{border:1px solid var(--border-light);background-color:var(--bg-primary);padding:.5rem}.tile-item:hover,.tile-item:focus{background-color:var(--hover-bg);color:var(--hover-text)}.tile-item a{color:inherit;text-decoration:none;display:block}@media screen and (width>=769px){.tile-container{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tag{border:1px dotted var(--tag-border);background-color:var(--tag-bg);color:var(--tag-text);margin-right:.25em;padding:.25em .5em;line-height:1.1}.tag:hover,.tag:focus{background-color:var(--nav-hover-bg);color:var(--nav-hover-text)}.tag a{color:inherit;text-decoration:none}.tag--active{outline:2px solid var(--border-dark);outline-offset:2px}pre,code,kbd{font-family:Geist Mono Variable,monospace!important}pre{position:relative;background-color:#282a36!important;margin-block-end:1em!important;padding:3.5em 1.5em 1em 1em!important;overflow-x:auto!important}pre:before{content:attr(data-language);color:#f8f8f2;background-color:#6272a4;padding:.25em .5em;font-size:.8rem;font-weight:700;position:absolute;top:1em;left:1em}pre:not([data-language]):before{content:"TEXT"}code{color:#f8f8f2!important;background-color:#44475a!important;padding:.2rem .4rem!important;font-size:.9rem!important}pre code{color:inherit!important;background-color:#0000!important;border-radius:0!important;padding:0!important}.embedded-video-container{width:100%;height:0;padding-bottom:56.25%;position:relative}.embedded-video-container iframe{width:100%;height:100%;position:absolute;top:0;left:0}.portfolio-hero{border:1px solid var(--border-light);margin-bottom:0;overflow:hidden}.portfolio-hero-img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.portfolio-entry-meta{border:1px solid var(--border-light);border-top:none;border-left:none;flex-flow:wrap;gap:0;margin-bottom:2rem;display:flex}.meta-block{border-left:1px solid var(--border-light);flex-direction:column;flex:auto;gap:.25rem;min-width:2rem;padding:.75rem 1.25rem;display:flex}.meta-block:last-child{border-right:none}.meta-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-family:Geist Mono Variable,monospace;font-size:.65rem}.meta-value{color:var(--text-primary);font-size:.9rem;line-height:1.4}.portfolio-entry-body{min-width:0}.portfolio-entry-body h3{font-size:1.1rem;font-weight:700}.portfolio-entry-body--case-study{margin-top:.5rem}.case-study{gap:1.5rem;display:grid}.case-study-kicker,.case-study-label,.case-study-fact-k,.case-study-outcome-k{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-family:Geist Mono Variable,monospace;font-size:.7rem}.case-study-fact-k,.case-study-outcome-k{margin:0;font-weight:400}.case-study-head{border-bottom:3px solid var(--border-dark);align-items:end;gap:1rem;padding-top:1rem;padding-bottom:1rem;display:grid}.case-study-title{letter-spacing:0;color:var(--text-primary);border:0;max-width:18ch;margin:0;padding:0;font-size:clamp(2.6rem,5.8vw,3rem);line-height:.96}.case-study-summary{color:var(--text-secondary);max-width:34ch;margin:0;font-size:1rem;line-height:1.55}.case-study-hero{border:1px solid var(--border-light);background:var(--bg-secondary);min-width:0;overflow:hidden}.case-study-hero .video-container{margin-bottom:0}.case-study-hero picture,.case-study-hero img,.case-study-hero .video-container{width:100%;max-width:100%;display:block}.case-study-hero img{height:auto}.case-study-facts,.case-study-outcomes{border:1px solid var(--border-light);background:var(--bg-primary);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.case-study-fact,.case-study-outcome{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);flex-direction:column;gap:.25rem;min-width:0;margin:0;padding:.75rem .875rem;display:flex}.case-study-fact:nth-child(2n),.case-study-outcome:nth-child(2n){border-right:none}.case-study-fact:nth-last-child(-n+2),.case-study-outcome:nth-last-child(-n+2){border-bottom:none}.case-study-fact-v,.case-study-outcome-v{color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.45}.case-study-module{border-top:1px solid var(--border-light);align-items:start;gap:1.25rem;margin-top:1.5rem;padding-top:1.5rem;display:grid}.case-study-module--full{grid-template-columns:1fr}.case-study-module--full .case-study-copy{max-width:65ch}.case-study-copy{min-width:0}.case-study-label{margin-bottom:.75rem}.case-study-lead{letter-spacing:0;color:var(--text-primary);margin:0 0 .875rem;font-size:clamp(1.55rem,2.8vw,2.15rem);line-height:1.02}.case-study-copy p{color:var(--text-secondary);margin:0 0 .9rem}.case-study-copy p:last-child{margin-bottom:0}.case-study-media{min-width:0}.case-study-media .video-container{margin-bottom:0}.case-study-media--document{border:1px solid var(--border-light);background:var(--bg-secondary);padding:.875rem}.case-study-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.75rem;display:grid}.case-study-gallery-item{border:1px solid var(--border-light);background:var(--bg-secondary);min-width:0;margin:0;overflow:hidden}.case-study-gallery-item--wide{grid-column:1/-1}.case-study-gallery-item picture,.case-study-gallery-item img{width:100%;max-width:100%;height:auto;display:block}.case-study-gallery-item figcaption{color:var(--text-muted);padding:.65rem .75rem .75rem;font-family:Geist Mono Variable,monospace;font-size:.72rem;line-height:1.4}@media (width>=900px){.case-study-head{grid-template-columns:minmax(0,1.5fr) minmax(20rem,.75fr);gap:2rem}.case-study-summary{justify-self:end}.case-study-module{grid-template-columns:minmax(0,.85fr) minmax(26rem,1.15fr);gap:2rem}.case-study-module--full{grid-template-columns:1fr;gap:1.25rem}.case-study-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.case-study-fact{border-bottom:none}.case-study-fact:nth-child(2n){border-right:1px solid var(--border-light)}.case-study-fact:nth-child(4n){border-right:none}}@media (width<=760px){.case-study-gallery{grid-template-columns:1fr}.case-study-gallery-item--wide{grid-column:auto}}.lead{color:var(--text-primary);margin-top:0;margin-bottom:.75rem;font-size:1.2rem;font-style:italic;line-height:1.5}.resume-head,.writings-head,.contact-head{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-end;gap:1rem;margin:1rem 0 1.5rem;padding-bottom:.6rem;display:flex}.resume-head-title-block,.writings-head-title-block,.contact-head-title-block{min-width:0}.resume-head-eyebrow,.writings-head-eyebrow,.contact-head-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.35rem;font-family:Geist Mono Variable,monospace;font-size:.7rem}.resume-head-title,.writings-head-title,.contact-head-title{letter-spacing:-.04em;color:var(--text-primary);border-bottom:none;margin:0;padding:0;font-size:clamp(2rem,4.4vw,3.25rem);font-weight:700;line-height:.97}.resume-head-meta,.writings-head-meta,.contact-head-meta{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);text-align:right;white-space:nowrap;padding-bottom:.2rem;font-family:Geist Mono Variable,monospace;font-size:.7rem}@media (width<=640px){.resume-head,.writings-head,.contact-head{flex-direction:column;align-items:flex-start;gap:.5rem}.resume-head-meta,.writings-head-meta,.contact-head-meta{text-align:left;white-space:normal}}.work-head{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-end;gap:1rem;margin:.75rem 0 1rem;padding-bottom:.6rem;display:flex}.work-head-title-block{min-width:0}.work-head-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.35rem;font-family:Geist Mono Variable,monospace;font-size:.7rem}.work-head-title{letter-spacing:0;color:var(--text-primary);border-bottom:none;margin:0;padding:0;font-size:clamp(1.85rem,4vw,3rem);font-weight:700;line-height:.97}.work-head-meta{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);text-align:right;white-space:nowrap;padding-bottom:.2rem;font-family:Geist Mono Variable,monospace;font-size:.7rem}@media (width<=640px){.work-head{flex-direction:column;align-items:flex-start;gap:.5rem}.work-head-meta{text-align:left;white-space:normal}}.work-hero{border-bottom:1px solid var(--border-light);isolation:isolate;margin:0 0 1.5rem;padding-bottom:1.25rem;position:relative;overflow:hidden}.work-hero-bg{object-fit:contain;object-position:right center;pointer-events:none;z-index:1;mix-blend-mode:lighten;width:100%;height:100%;position:absolute;inset:0;mask-image:linear-gradient(#00000040 0% 100%)}@media (width<=700px){.work-hero-bg{display:none}}.work-tagline{letter-spacing:0;color:var(--text-primary);border-bottom:none;max-width:28ch;margin:0 0 1rem;padding:0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;line-height:1.02}.work-tagline .accent{color:var(--text-secondary);font-style:italic;font-weight:500}.work-hero-row{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}.work-lead{color:var(--text-secondary);max-width:48ch;margin:0;font-size:1rem;line-height:1.6}.work-summary{border:1px solid var(--border-light);background:var(--bg-secondary);grid-template-columns:repeat(2,1fr);gap:0;display:grid}.work-summary .meta-row{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);flex-direction:column;gap:.2rem;padding:.625rem .875rem;display:flex}.work-summary .meta-row:nth-child(2n){border-right:none}.work-summary .meta-row:nth-last-child(-n+2){border-bottom:none}.work-summary .meta-k{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-family:Geist Mono Variable,monospace;font-size:.65rem}.work-summary .meta-v{color:var(--text-primary);font-size:.875rem;line-height:1.3}@media (width>=769px){.work-hero-row{grid-template-columns:1.45fr 1fr;align-items:start;gap:1.5rem}}.rotator{vertical-align:baseline;border:1px solid var(--border-light);background:var(--bg-secondary);justify-items:center;height:1.1em;padding:0 .22em;line-height:1;display:inline-grid;overflow:hidden}.rotator .rot-track{flex-direction:column;align-items:center;animation:9s cubic-bezier(.7,0,.3,1) infinite rotCycle;display:flex}.rotator .rot-track span{white-space:nowrap;text-align:center;height:1em;line-height:1;display:block}@keyframes rotCycle{0%,22%{transform:translateY(0)}25%,47%{transform:translateY(-1em)}50%,72%{transform:translateY(-2em)}75%,97%{transform:translateY(-3em)}to{transform:translateY(-4em)}}@media (prefers-reduced-motion:reduce){.rotator .rot-track{animation:none;transform:none}}.work-grid{grid-template-columns:repeat(12,1fr);gap:.75rem;display:grid}.work-card{background:var(--bg-primary);border:1px solid var(--portfolio-border);color:inherit;flex-direction:column;grid-column:span 12;text-decoration:none;transition:border-color .15s,transform .15s;display:flex;position:relative;overflow:hidden}.work-card:hover,.work-card:focus-visible{border-color:var(--border-dark)}.work-card:hover .work-thumb-img{transform:scale(1.02)}.work-thumb{aspect-ratio:16/9;background:var(--bg-secondary);width:100%;position:relative;overflow:hidden}.work-card--hero .work-thumb{aspect-ratio:16/10}.work-thumb-img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.work-card-meta{border-top:1px solid var(--portfolio-border);grid-template-columns:1fr auto;align-items:start;gap:.25rem 1rem;padding:.75rem .875rem .875rem;display:grid}.work-card-title{letter-spacing:0;color:var(--text-primary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;grid-column:1/2;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.work-card--hero .work-card-title{font-size:1.25rem}.work-card-year{letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;grid-column:2/3;padding-top:.2rem;font-family:Geist Mono Variable,monospace;font-size:.75rem}.work-card-client{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;margin:.1rem 0 0;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.work-card-role{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);grid-column:1/-1;margin:.4rem 0 0;font-family:Geist Mono Variable,monospace;font-size:.6875rem;line-height:1.4}@media (width>=640px){.work-card{grid-column:span 6}}@media (width>=900px){.work-grid.has-hero .work-card--hero{grid-column:span 8}.work-grid.has-hero .work-card--hero+.work-card{grid-column:span 4}}.resume-top{border-bottom:1px solid var(--border-light);grid-template-columns:1fr;align-items:start;gap:1.5rem;margin:.5rem 0 2rem;padding-bottom:1.5rem;display:grid}@media (width>=768px){.resume-top{grid-template-columns:1fr 200px;gap:2rem}}.resume-top-name{letter-spacing:-.03em;color:var(--text-primary);border-bottom:none;margin:0 0 .3rem;padding:0;font-size:clamp(2rem,4.4vw,3rem);font-weight:700;line-height:1}.resume-top-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 1rem;font-family:Geist Mono Variable,monospace;font-size:.78rem}.resume-top-intro{color:var(--text-secondary);margin:0 0 .85rem;font-size:1rem}.resume-top-intro b{color:var(--text-primary);font-weight:700}.resume-top-quick{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;gap:.4rem 1.25rem;margin:1rem 0 0;padding:0;font-family:Geist Mono Variable,monospace;font-size:.7rem;list-style:none;display:flex}.resume-top-quick li{align-items:baseline;gap:.5rem;display:flex}.resume-top-quick .quick-k{color:var(--text-muted)}.resume-top-quick b{color:var(--text-primary);font-weight:500}.resume-top-portrait{aspect-ratio:3/4;border:1px solid var(--portfolio-border);background:var(--bg-secondary);justify-self:start;max-width:220px;margin:0;position:relative;overflow:hidden}@media (width>=768px){.resume-top-portrait{justify-self:end;width:100%;max-width:none}}.resume-top-portrait img{object-fit:cover;width:100%;height:100%;display:block}.resume-top-portrait-tag{background:var(--bg-primary);border-top:1px solid var(--portfolio-border);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;padding:.45rem .7rem;font-family:Geist Mono Variable,monospace;font-size:.65rem;display:flex;position:absolute;inset:auto 0 0}.resume-section{margin:0 0 2.5rem}.resume-section-head{border-bottom:1px solid var(--border-light);align-items:baseline;gap:1rem;margin:0 0 1.25rem;padding-bottom:.5rem;display:flex}.resume-section-marker{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-family:Geist Mono Variable,monospace;font-size:.72rem}.resume-section-h2{letter-spacing:-.01em;color:var(--text-primary);border-bottom:none;flex:1;margin:0;padding:0;font-size:1.4rem;font-weight:700;line-height:1.2}.resume-section-note{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);text-align:right;white-space:nowrap;font-family:Geist Mono Variable,monospace;font-size:.65rem}@media (width<=640px){.resume-section-note{display:none}}.job{border-top:1px solid var(--border-light);grid-template-columns:1fr;gap:.4rem;padding:1.1rem 0;display:grid}.job:first-of-type{border-top:none;padding-top:.2rem}@media (width>=640px){.job{grid-template-columns:160px 1fr;gap:1.5rem}}.job-time{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex-direction:column;gap:.25rem;padding-top:.15rem;font-family:Geist Mono Variable,monospace;font-size:.7rem;line-height:1.4;display:flex}.job-time-span{color:var(--text-primary);font-weight:500}.job-time-type{color:var(--text-secondary)}.job-time-loc{color:var(--text-muted)}.job-body{min-width:0}.job-title{letter-spacing:-.01em;color:var(--text-primary);border-bottom:none;margin:0 0 .2rem;padding:0;font-size:1.15rem;font-weight:700;line-height:1.25}.job-co{color:var(--text-secondary);margin:0 0 .75rem;font-size:.9rem;line-height:1.4}.job-co b{color:var(--text-primary);font-weight:700}.job-bullets{margin:0 0 .25rem;padding:0;list-style:none}.job-bullets li{color:var(--text-secondary);margin-bottom:.5rem;padding-left:1rem;font-size:.95rem;line-height:1.55;position:relative}.job-bullets li:before{content:"";background:var(--text-primary);width:.55rem;height:1px;position:absolute;top:.65em;left:0}.job-bullets li b{color:var(--text-primary);font-weight:700}.clients-grid{border:1px solid var(--border-light);background:var(--bg-primary);grid-template-columns:1fr;margin-top:1rem;display:grid}@media (width>=500px){.clients-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=800px){.clients-grid{grid-template-columns:repeat(3,1fr)}}.client{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);flex-direction:column;gap:.2rem;padding:.625rem .875rem;display:flex}.client:last-child{border-bottom:none;border-right:none}@media (width>=500px) and (width<=799px){.client:nth-child(2n){border-right:none}.client:nth-last-child(-n+2):nth-child(odd),.client:last-child{border-bottom:none}}@media (width>=800px){.client:nth-child(3n){border-right:none}.client:nth-last-child(-n+3){border-bottom:none}.client:last-child{border-right:none}}.client-name{letter-spacing:.04em;color:var(--text-primary);font-family:Geist Mono Variable,monospace;font-size:.78rem;font-weight:500}.client-proj{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-family:Geist Mono Variable,monospace;font-size:.68rem;line-height:1.4}.skills-grid{border:1px solid var(--border-light);background:var(--bg-primary);grid-template-columns:1fr;display:grid}@media (width>=500px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=800px){.skills-grid{grid-template-columns:repeat(3,1fr)}}.skill{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:1rem 1.1rem}.skill:last-child{border-bottom:none;border-right:none}@media (width>=500px) and (width<=799px){.skill:nth-child(2n){border-right:none}.skill:nth-last-child(-n+2):nth-child(odd),.skill:last-child{border-bottom:none}}@media (width>=800px){.skill:nth-child(3n){border-right:none}.skill:nth-last-child(-n+3){border-bottom:none}.skill:last-child{border-right:none}}.skill-cat{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.6rem;font-family:Geist Mono Variable,monospace;font-size:.68rem}.skill-list{flex-wrap:wrap;gap:.35rem;display:flex}.skill-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--portfolio-border);background:var(--bg-primary);padding:.15rem .5rem;font-family:Geist Mono Variable,monospace;font-size:.7rem}.skill-tag--primary{color:var(--text-primary);border-color:var(--border-dark);background:var(--bg-secondary);font-weight:500}.resume-ctas{grid-template-columns:1fr;gap:.75rem;margin:2rem 0 1rem;display:grid}@media (width>=640px){.resume-ctas{grid-template-columns:1fr 1fr}}.resume-cta{background:var(--bg-primary);border:1px solid var(--border-light);border-bottom:3px solid var(--border-dark);width:100%;color:var(--text-primary);font:inherit;cursor:pointer;text-align:left;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.resume-cta:hover,.resume-cta:focus-visible{background:var(--hover-bg);color:var(--hover-text);text-decoration:none}.resume-cta:hover .resume-cta-label,.resume-cta:focus-visible .resume-cta-label,.resume-cta:hover .resume-cta-arrow,.resume-cta:focus-visible .resume-cta-arrow{color:var(--hover-text)}.resume-cta-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.resume-cta-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-family:Geist Mono Variable,monospace;font-size:.65rem}.resume-cta-title{letter-spacing:-.005em;font-size:.95rem;font-weight:700;line-height:1.25}.resume-cta-arrow{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.resume-cta-arrow svg{display:block}.write-section{margin:0 0 3rem}.write-section-head{border-bottom:1px dashed var(--border-light);justify-content:space-between;align-items:baseline;gap:1rem;margin:0 0 1rem;padding-bottom:.5rem;display:flex}.write-section-head h2{letter-spacing:-.02em;color:var(--text-primary);border-bottom:none;margin:0;padding:0;font-size:clamp(1.4rem,2.4vw,1.75rem);font-weight:700;line-height:1.1}.write-section-meta{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-family:Geist Mono Variable,monospace;font-size:.7rem}.write-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=640px){.write-grid{grid-template-columns:repeat(2,1fr)}}.write-card{background:var(--bg-primary);border:1px solid var(--portfolio-border);color:inherit;grid-template-columns:60px 1fr auto;align-items:start;gap:.9rem;padding:.9rem 1rem;text-decoration:none;transition:border-color .15s,background-color .15s;display:grid}.write-card:hover,.write-card:focus-visible{border-color:var(--border-dark);text-decoration:none}.wc-date{border-right:1px solid var(--border-light);text-transform:uppercase;letter-spacing:.08em;flex-direction:column;align-items:flex-start;gap:.05rem;min-width:0;padding-top:.15rem;padding-right:.75rem;font-family:Geist Mono Variable,monospace;display:flex}.wc-date-m{color:var(--text-muted);font-size:.65rem}.wc-date-d{color:var(--text-secondary);letter-spacing:.04em;font-size:1rem;font-weight:600}.wc-date-y{color:var(--text-muted);font-size:.6rem}.wc-body{min-width:0}.wc-title{letter-spacing:-.005em;color:var(--text-primary);margin:0 0 .3rem;font-size:1rem;font-weight:700;line-height:1.3}.wc-excerpt{color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;line-height:1.5;display:-webkit-box;overflow:hidden}.wc-read{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;align-self:center;font-family:Geist Mono Variable,monospace;font-size:.65rem}.saga{border:1px solid var(--portfolio-border);background:var(--bg-secondary);grid-template-columns:1fr;margin-bottom:1.5rem;display:grid}@media (width>=768px){.saga{grid-template-columns:2fr 1fr}}.saga-body{flex-direction:column;gap:.85rem;padding:1.5rem 1.75rem;display:flex}.saga-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-family:Geist Mono Variable,monospace;font-size:.7rem}.saga-title{letter-spacing:-.02em;color:var(--text-primary);border-bottom:none;max-width:38ch;margin:0;padding:0;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:700;line-height:1.15}.saga-desc{color:var(--text-secondary);max-width:58ch;margin:0;font-size:.9375rem;line-height:1.65}.saga-desc strong{color:var(--text-primary);font-weight:700}.saga-desc em{color:var(--text-primary);font-style:italic}.saga-cta{background:var(--bg-primary);border:1px solid var(--border-light);border-bottom:3px solid var(--border-dark);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);align-self:flex-start;align-items:center;gap:.4rem;margin-top:.35rem;padding:.6rem 1.1rem;font-family:Geist Mono Variable,monospace;font-size:.75rem;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.saga-cta:hover,.saga-cta:focus-visible{background:var(--hover-bg);color:var(--hover-text);text-decoration:none}.saga-cta-arrow{transition:transform .15s;display:inline-block}.saga-cta:hover .saga-cta-arrow,.saga-cta:focus-visible .saga-cta-arrow{transform:translate(2px)}.saga-visual{background-color:var(--bg-secondary);background-image:var(--bg-grid-pattern);border-top:1px solid var(--border-light);background-size:60px 60px;place-items:center;min-height:200px;display:grid;position:relative;overflow:hidden}@media (width>=768px){.saga-visual{border-top:none;border-left:1px solid var(--border-light)}}.saga-glyph{writing-mode:vertical-rl;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);align-items:center;font-family:Geist Mono Variable,monospace;font-size:.65rem;display:flex;position:absolute;top:16px;bottom:16px;left:12px;transform:rotate(180deg)}.saga-icon{z-index:1;width:clamp(72px,22%,110px);height:auto;color:var(--text-secondary);position:relative}.contact-body{grid-template-columns:1fr;gap:1.5rem;display:grid}.contact-main{min-width:0}.contact-side{grid-template-columns:1fr;gap:.5rem;min-width:0;display:grid}@media (width>=640px){.contact-side{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}}.contact-intro{margin-bottom:1rem}.contact-intro-heading{letter-spacing:-.03em;color:var(--text-primary);border-bottom:none;margin:0 0 .5rem;padding:0;font-size:clamp(1.5rem,3.6vw,2.25rem);font-weight:700;line-height:1.05}.contact-lead{color:var(--text-secondary);margin:0 0 .65rem;font-size:.95rem;line-height:1.55}.contact-avail{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:.45rem;font-family:Geist Mono Variable,monospace;font-size:.65rem;display:inline-flex}.contact-avail-dot{background:var(--text-primary);flex-shrink:0;width:7px;height:7px}.contact-form{max-width:100%;margin:0}.form-group{margin-bottom:.85rem}.form-group label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.3rem;font-family:Geist Mono Variable,monospace;font-size:.65rem;font-weight:500;display:block}.form-group input,.form-group textarea{border:1px solid var(--border-light);background-color:var(--form-bg);width:100%;color:var(--form-text);box-sizing:border-box;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;line-height:1.4;transition:border-color .12s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus{border-color:var(--border-dark);outline:none;box-shadow:0 0 0 3px #0000000f}.form-group textarea{resize:vertical;min-height:110px;font-family:inherit;font-size:.9rem;line-height:1.5}@media (width<=600px){.form-group input,.form-group textarea{padding:.65rem .75rem;font-size:16px}}.name-group{border:none;gap:.75rem;margin:0 0 .25rem;padding:0;display:flex}.name-group .form-group{flex:1;min-width:0}.contact-form button{background-color:var(--bg-primary);width:100%;color:var(--text-primary);border:1px solid var(--border-light);border-bottom:3px solid var(--border-dark);text-transform:uppercase;letter-spacing:.14em;cursor:pointer;justify-content:center;align-items:center;gap:.6rem;margin-top:.25rem;padding:.85rem 1.1rem;font-family:Geist Mono Variable,monospace;font-size:.8rem;font-weight:500;transition:background-color .12s,color .12s;display:flex}.contact-form button:hover:not(:disabled),.contact-form button:focus-visible:not(:disabled){background-color:var(--hover-bg);color:var(--hover-text)}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.required{color:#e74c3c;margin-left:.1rem;font-weight:700}.error-message{color:#e74c3c;min-height:1.25rem;margin-top:.35rem;font-size:.85rem;display:block}.help-text{color:var(--text-muted);margin-top:.35rem;font-size:.8rem;font-style:italic}input:focus,textarea:focus,button:focus{outline:2px solid var(--border-dark);outline-offset:2px}input[aria-invalid=true],textarea[aria-invalid=true]{background-color:#e74c3c14;border-color:#e74c3c}input[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{background-color:#e74c3c1f;border-color:#e74c3c}html.dark input[aria-invalid=true],html.dark textarea[aria-invalid=true]{background-color:#e74c3c26;border-color:#ff6b6b}html.dark input[aria-invalid=true]:focus,html.dark textarea[aria-invalid=true]:focus{background-color:#e74c3c33;border-color:#ff6b6b}button:disabled{opacity:.6;cursor:not-allowed}@media (prefers-contrast:high){.error-message{color:#000;font-weight:700}.help-text{color:#333}}fieldset{border:none;margin:0;padding:0}legend{margin-bottom:.5rem;font-weight:700}.privacy-notice{background-color:var(--bg-secondary);border:1px solid var(--border-light);margin:.5rem 0 .85rem;padding:.65rem .85rem;font-size:.8rem}.privacy-notice p{color:var(--text-primary);margin:0}.privacy-notice a{color:var(--text-primary);font-weight:500;text-decoration:underline}.privacy-notice a:hover,.privacy-notice a:focus{color:var(--hover-text);background-color:var(--hover-bg);padding:2px 4px;text-decoration:none}@media (prefers-contrast:high){.privacy-notice{border-width:2px;font-weight:700}}.hcaptcha-loading-hint{letter-spacing:.08em;color:var(--text-muted);margin:.5rem 0 0;font-family:Geist Mono Variable,monospace;font-size:.7rem}.phone-selector-container{border:1px solid var(--border-light);background-color:var(--form-bg);align-items:stretch;width:100%;transition:border-color .12s;display:flex;position:relative}.phone-selector-container:focus-within{border-color:var(--border-dark);box-shadow:0 0 0 3px #0000000f}.country-selector{cursor:pointer;white-space:nowrap;flex-shrink:0;gap:.4rem;min-width:4.8em;height:3rem;font-family:inherit;font-size:.9rem;line-height:1;overflow:hidden;background-color:var(--form-bg)!important;color:var(--form-text)!important;border:none!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;width:auto!important;margin:0!important;padding:.65rem .6rem!important;display:inline-flex!important}.country-selector>*{flex-shrink:0;line-height:1}.country-selector:hover{background-color:var(--hover-bg)!important;color:var(--hover-text)!important}.country-selector:focus{outline:none}.flag{font-size:1.2em;line-height:1}.country-code{letter-spacing:.5px;font-weight:500}.dropdown-arrow{font-size:.8em}.country-selector[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.dial-code-display{background-color:var(--form-bg);color:var(--form-text);white-space:nowrap;align-items:center;height:3rem;padding:0 0 0 .75rem;font-size:1rem;font-weight:500;display:flex}.phone-selector-container .phone-input{background-color:var(--form-bg);color:var(--form-text);border:none;flex:1;height:3rem;padding:.75rem .75rem .75rem .25rem;font-family:inherit;font-size:1rem}.phone-selector-container .phone-input:focus{box-shadow:none;outline:none}.phone-input::placeholder{color:var(--text-muted)}.country-dropdown{background-color:var(--form-bg);border:1px solid var(--border-light);z-index:1000;border-top:none;max-height:300px;display:none;position:absolute;top:calc(100% + 1px);left:-1px;right:-1px;overflow:hidden;box-shadow:0 4px 12px #00000026}.country-dropdown.is-open{display:block}.country-search{background-color:var(--bg-secondary);width:100%;color:var(--form-text);box-sizing:border-box;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;border:none!important;border-bottom:1px solid var(--border-light)!important}.country-search::placeholder{color:var(--text-muted)}.country-list{scrollbar-color:#3a3a3a transparent;max-height:240px;margin:0;padding:.25rem 0;overflow-y:auto}html.dark .country-list{scrollbar-color:#c5b6d4 transparent}@supports selector(::-webkit-scrollbar){.country-list,html.dark .country-list{scrollbar-color:auto}.country-list::-webkit-scrollbar{width:14px}.country-list::-webkit-scrollbar-track{background:0 0}.country-list::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:0}html.dark .country-list::-webkit-scrollbar-thumb{background:#c5b6d4}}.country-option{cursor:pointer;border-bottom:1px solid color-mix(in srgb, var(--border-light) 45%, transparent);align-items:center;gap:.75rem;padding:.35rem .75rem;line-height:1.4;display:flex}.country-option:last-child{border-bottom:none}.country-option[hidden]{display:none}.country-option:hover,.country-option:focus{background-color:var(--hover-bg);color:var(--hover-text);outline:none}.country-option .flag{text-align:center;width:24px;font-size:1.2em}.country-option .country-name{flex:1;font-weight:400}.country-option .dial-code{font-family:Geist Mono Variable,monospace;font-weight:500}html.dark .country-dropdown{border-color:var(--border-light);background-color:var(--bg-secondary)}html.dark .country-search{background-color:var(--bg-primary);border-color:var(--border-light)}@media (prefers-contrast:high){.phone-selector-container,.country-dropdown{border-width:2px}}.contact-card{background-color:var(--bg-secondary);border:1px solid var(--border-light);padding:.75rem .9rem .85rem}.contact-card-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem;font-family:Geist Mono Variable,monospace;font-size:.65rem}.contact-card-title{letter-spacing:-.01em;color:var(--text-primary);border-bottom:none;margin:0 0 .2rem;padding:0;font-size:.95rem;font-weight:700}.contact-card-desc{color:var(--text-secondary);margin:0 0 .55rem;font-size:.8125rem;line-height:1.5}.contact-card-links{flex-direction:column;gap:.3rem;display:flex}.contact-card-link{background-color:var(--bg-primary);border:1px solid var(--border-light);color:var(--text-primary);justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .65rem;font-family:Geist Mono Variable,monospace;font-size:.75rem;text-decoration:none;transition:background-color .12s,color .12s,border-color .12s;display:flex}.contact-card-link:hover,.contact-card-link:focus-visible{background-color:var(--hover-bg);color:var(--hover-text);border-color:var(--hover-bg);text-decoration:none}.contact-card-link-handle{color:var(--text-muted);letter-spacing:.04em;font-size:.7rem}.contact-card-link:hover .contact-card-link-handle,.contact-card-link:focus-visible .contact-card-link-handle{color:var(--hover-text)}.contact-card-link-arrow{color:var(--text-muted);font-family:inherit;font-size:.9rem;transition:transform .12s,color .12s}.contact-card-link:hover .contact-card-link-arrow,.contact-card-link:focus-visible .contact-card-link-arrow{color:var(--hover-text);transform:translate(2px,-2px)}.contact-card-coords{color:var(--text-muted);font-family:Geist Mono Variable,monospace;font-size:.7rem;line-height:1.6}.contact-card-coords div{white-space:nowrap}.post-prose{max-width:none}.post-prose p{color:var(--text-primary);margin:0 0 1rem;line-height:1.65}.post-prose h2{margin:2.25rem 0 .75rem;font-size:1.4rem}.post-prose h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);margin:1.75rem 0 .5rem;font-family:Geist Mono Variable,monospace;font-size:.95rem}.post-prose h4{margin:1.25rem 0 .5rem;font-size:1rem;font-weight:700}.post-prose h5,.post-prose h6{margin:1rem 0 .4rem;font-size:.95rem;font-weight:600}.post-prose :is(h2,h3,h4,h5,h6)+p{margin-top:0}.post-prose ul,.post-prose ol{margin:0 0 1rem;padding-left:1.5rem}.post-prose li{margin:.25rem 0;line-height:1.6}.post-prose li>ul,.post-prose li>ol{margin:.25rem 0}.post-prose blockquote{border-left:3px solid var(--border-dark);background:var(--bg-secondary);color:var(--text-secondary);margin:1.25rem 0;padding:.5rem 1rem;font-style:italic}.post-prose blockquote>:last-child{margin-bottom:0}.post-prose blockquote :is(h2,h3,h4,h5,h6){font-style:normal}.post-prose a{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline 1px}.post-prose a:hover,.post-prose a:focus{background-color:var(--hover-bg);color:var(--hover-text);text-decoration-color:var(--hover-text)}.post-prose img{border:1px solid var(--border-light);max-width:100%;height:auto;margin:1.5rem auto;display:block}.post-prose figure{margin:1.5rem 0}.post-prose figcaption{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);text-align:center;margin-top:.5rem;font-family:Geist Mono Variable,monospace;font-size:.8rem}.post-prose hr{border:0;border-top:1px dashed var(--border-light);margin:2rem 0}.post-prose table{border-collapse:collapse;width:100%;margin:1.25rem 0;font-size:.95rem}.post-prose th,.post-prose td{border:1px solid var(--border-light);text-align:left;vertical-align:top;padding:.5rem .75rem}.post-prose th{background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.06em;font-family:Geist Mono Variable,monospace;font-size:.8rem}.post-prose sup,.post-prose sub{font-size:.75em;line-height:0}.post-prose .heading-anchor,.portfolio-entry-body .heading-anchor{opacity:0;color:var(--text-muted);margin-left:.4em;font-weight:400;text-decoration:none;transition:opacity .12s ease-in-out}.post-prose :is(h2,h3,h4,h5,h6):hover .heading-anchor,.portfolio-entry-body :is(h2,h3,h4,h5,h6):hover .heading-anchor,.post-prose .heading-anchor:focus,.portfolio-entry-body .heading-anchor:focus{opacity:.7;outline:none}.post-prose .heading-anchor:hover,.portfolio-entry-body .heading-anchor:hover{color:var(--text-primary);background:0 0}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.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:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.BZdD_g9V.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.b6lpi8_2.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.Cjtb1TV-.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}
