.inner-page{--inner-measure:66ch;--inner-gap:clamp(2rem,5vw,5rem);padding-bottom:clamp(4rem,7vw,7rem)}.inner-page .inner-header{padding-block:clamp(3rem,6vw,5.5rem) 3rem}.inner-page .inner-header h1{letter-spacing:-.05em;text-wrap:balance;max-width:20ch;margin:1rem 0 1.5rem;font-size:clamp(2.75rem,6vw,5.5rem);line-height:1.04}.inner-page .inner-header .page-heading__lede{max-width:52ch}.resume-identity__paper{display:none}@media print{svg.resume-identity__portrait{display:none!important}.inner-page .resume-identity__paper{box-sizing:border-box;object-fit:fill;background:var(--paper);border:1px solid var(--rule);display:block}.inner-page.resume .resume-identity__paper{width:3.5rem;height:3.5rem;padding-inline:.283333rem}}.inner-page .inner-layout{align-items:start;gap:var(--inner-gap);grid-template-columns:minmax(10rem,.27fr) minmax(0,1fr);display:grid}.inner-page .inner-contents{top:calc(var(--nav-height) + 1.5rem);border-top:2px solid var(--ink);align-content:start;padding-top:1.25rem;display:grid;position:sticky}.inner-page .inner-contents .eyebrow{color:var(--muted);margin-bottom:.75rem}.inner-page .inner-contents a{border-bottom:1px solid var(--rule);align-items:center;min-height:44px;padding-block:.55rem;font-size:.95rem;line-height:1.4;display:flex}.inner-page .inner-contents a:hover{text-underline-offset:.2em;text-decoration:underline}.inner-page .inner-body{min-width:0}.inner-page .inner-section{border-top:1px solid var(--rule);padding-block:2rem 3rem}.inner-page .inner-section>h2{text-wrap:balance;max-width:26ch;margin:0 0 1.5rem;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15}.inner-page .inner-section p,.inner-page .inner-section ul{max-width:var(--inner-measure);font-size:1.125rem;line-height:1.7}.inner-page .inner-section p{margin-bottom:1.25rem}.inner-page .inner-section li{margin-block:.6rem}.inner-page .inner-section .actions{margin-top:2rem}.inner-page .limit-note{border-left-color:var(--ink)}.inner-page .limit-note p{margin-bottom:0;font-size:1rem}.inner-page .inner-section .project-row__limit{color:var(--muted);font-size:1rem}.inner-page .inner-projects{margin:2rem 0 0;padding:0;list-style:none}.inner-page .inner-projects>li{border-top:1px solid var(--rule);margin:0;padding-block:1.75rem}.inner-page .inner-projects h3{margin:0;font-size:1.8rem}.inner-page .inner-projects h3 a{min-height:44px;padding-block:.3rem;display:inline-block}.inner-page .inner-projects h3 a:hover{text-underline-offset:.15em;text-decoration:underline}.inner-page .inner-projects .inner-projects__status{color:var(--muted);margin-block:.5rem 1rem;font-size:.9rem;font-weight:600}.inner-page .resume-header{align-items:start;gap:1.25rem var(--inner-gap);border-bottom:0;grid-template-columns:minmax(0,1fr) minmax(15rem,.55fr);grid-template-areas:"copy contact";margin:0;display:grid}.inner-page .resume-header__copy{grid-area:copy;min-width:0}.inner-page .resume-header>.inner-resume-contact{grid-area:contact}.inner-page.resume .resume-hero-lede{max-width:38rem;margin-block:.35rem .65rem}.inner-page.resume .resume-hero-tech{margin:0 0 .75rem;font-weight:600}.inner-page.resume .resume-hero-senior{max-width:40rem;color:var(--muted);margin:0;font-size:.95rem}.inner-page.resume .resume-portrait-reveal{border-top:1px solid var(--rule);padding-top:1.25rem}.inner-page.resume .resume-portrait-reveal__trigger{color:var(--muted);font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:.45rem;margin:0;padding:.2rem 0;font-size:.92rem;text-decoration:none;display:inline-flex}.inner-page.resume .resume-portrait-reveal__trigger:hover,.inner-page.resume .resume-portrait-reveal__trigger:focus-visible{color:var(--ink)}.inner-page.resume .resume-portrait-reveal__trigger:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.inner-page.resume .resume-portrait-reveal__glyph{font-family:var(--font-mono);opacity:.7;font-size:.85em}.inner-page.resume .resume-portrait-reveal__hint{color:var(--muted);opacity:.75;font-size:.88em}.inner-page.resume .resume-portrait-reveal__hint:before{content:"· "}.inner-page.resume .resume-portrait-reveal__panel{margin-top:.85rem}.inner-page.resume .resume-portrait-reveal__panel[hidden]{visibility:hidden!important;height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.inner-page.resume .resume-portrait-reveal--closed .resume-portrait-reveal__panel,.inner-page.resume .resume-portrait--print-only{display:none!important}.inner-page.resume .resume-portrait-reveal__note{max-width:36rem;color:var(--muted);margin-top:.75rem;font-size:.95rem}.inner-page.resume .resume-portrait-section .resume-portrait{margin-block:.5rem 1rem}@keyframes resume-portrait-reveal-in{0%{opacity:0;filter:contrast(1.15)brightness(1.05)}to{opacity:1;filter:none}}@media (prefers-reduced-motion:no-preference){html[data-motion=on] .inner-page.resume .resume-portrait-reveal--open .resume-portrait{animation:resume-portrait-reveal-in .55s var(--ease-out)both}}@media (prefers-reduced-motion:reduce){.inner-page.resume .resume-portrait-reveal--open .resume-portrait{opacity:1;filter:none;animation:none!important}}@media print{.inner-page.resume .resume-portrait-reveal__trigger,.inner-page.resume .resume-portrait-reveal__panel{display:none!important}.inner-page.resume .resume-portrait--print-only{margin-block:.75rem 1rem;display:block!important}}.inner-page .resume-portrait{border:1px solid var(--rule);background:var(--paper);width:fit-content;max-width:100%;margin:0;padding:.35rem .4rem .3rem;overflow:visible}.inner-page .resume-portrait>.sr-only{max-width:1px;overflow:hidden}.inner-page .resume-portrait__ascii{width:max-content;font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink);white-space:pre;-webkit-user-select:none;user-select:none;margin:0;font-size:1.65px;line-height:1.14;display:block;overflow:visible;transform:none}@media (max-width:900px){.inner-page .resume-header{grid-template-columns:1fr;grid-template-areas:"copy""contact"}.inner-page.resume .resume-portrait-section .resume-portrait{justify-self:stretch;width:100%}}@media (max-width:720px){.inner-page .resume-portrait__ascii{font-size:1.35px}}@media print{.inner-page .resume-portrait{border-color:#bbb;overflow:visible}.inner-page .resume-portrait__ascii{font-size:2.2pt}}.inner-page.resume .resume-portrait{isolation:isolate;z-index:0;position:relative;overflow:hidden}.inner-page.resume .resume-portrait:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--signal)18%,transparent)0%,color-mix(in srgb,var(--signal)6%,transparent)48%,transparent 74%);opacity:.2;position:absolute;inset:-18%}.inner-page.resume .resume-portrait:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(100deg,transparent 42%,color-mix(in srgb,var(--signal)14%,transparent)50%,transparent 58%);opacity:0;background-position:115% 0;background-repeat:no-repeat;background-size:240% 100%;position:absolute;inset:0}.inner-page.resume .resume-portrait__ascii{will-change:transform,text-shadow}.inner-page.resume .resume-name{padding-bottom:.55rem;display:inline-block;position:relative}.inner-page.resume .resume-name:after{content:"";background:var(--ink);transform-origin:0;width:100%;height:1px;position:absolute;bottom:0;left:0;transform:scaleX(1)}@keyframes resume-glow-breathe{0%,to{opacity:.16}50%{opacity:.26}}@keyframes resume-glyph-shimmer{0%{opacity:0;background-position:115% 0}18%{opacity:.32}82%{opacity:.22}to{opacity:0;background-position:-15% 0}}@keyframes resume-portrait-glitch{0%,86%,to{text-shadow:none;transform:translate(0,0)}87%{text-shadow:-1px 0 #e24a4a80,1px 0 #3ad0ff80;transform:translate(-1.5px,.5px)}88.5%{text-shadow:1px 0 #e24a4a59,-1px 0 #3ad0ff59;transform:translate(1.5px,-.5px)}90%{text-shadow:none;transform:translate(0,0)}}@keyframes resume-portrait-glitch-burst{0%{text-shadow:none;transform:translate(0,0)}35%{text-shadow:-1.5px 0 #e24a4a8c,1.5px 0 #3ad0ff8c;transform:translate(-2px)}70%{text-shadow:1.5px 0 #e24a4a66,-1.5px 0 #3ad0ff66;transform:translate(2px)}to{text-shadow:none;transform:translate(0,0)}}@keyframes resume-name-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes resume-fade-up{0%{opacity:0;transform:translateY(.55rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){html[data-motion=on] .inner-page.resume .resume-portrait:before{animation:10s ease-in-out infinite resume-glow-breathe}html[data-motion=on] .inner-page.resume .resume-portrait:after{animation:2.6s ease-in-out .2s both resume-glyph-shimmer}html[data-motion=on] .inner-page.resume .resume-portrait__ascii{animation:9.5s linear 2.8s infinite resume-portrait-glitch}html[data-motion=on] .inner-page.resume .resume-portrait:hover .resume-portrait__ascii{animation:.42s step-end resume-portrait-glitch-burst,9.5s linear .42s infinite resume-portrait-glitch}html[data-motion=on] .inner-page.resume .resume-name:after{animation:resume-name-rule .9s var(--ease-out).35s 1 forwards;transform:scaleX(0)}html[data-motion=on] .inner-page.resume .inner-section>h2{animation:resume-fade-up .75s var(--ease-out)both;animation-timeline:view();animation-range:entry entry 35%}html[data-motion=on] .inner-page.resume .inner-section:first-of-type>h2{animation-delay:0s}html[data-motion=on] .inner-page.resume .inner-section:nth-of-type(2)>h2{animation-delay:60ms}html[data-motion=on] .inner-page.resume .inner-section:nth-of-type(3)>h2{animation-delay:.12s}html[data-motion=on] .inner-page.resume .inner-section:nth-of-type(4)>h2{animation-delay:.18s}html[data-motion=on] .inner-page.resume .inner-section:focus-within>h2{opacity:1;animation:none;transform:none}}@media (prefers-reduced-motion:reduce){.inner-page.resume .resume-portrait:before{opacity:.2;animation:none!important}.inner-page.resume .resume-name:after{transform:scaleX(1);animation:none!important}.inner-page.resume .resume-portrait:after,.inner-page.resume .resume-portrait__ascii,.inner-page.resume .inner-section>h2{opacity:1;transform:none;text-shadow:none!important;animation:none!important;-webkit-mask-image:none!important;mask-image:none!important}.inner-page.resume .resume-portrait:after{opacity:0!important}}@media print{.inner-page.resume .resume-portrait:before{display:none}.inner-page.resume .resume-name:after{animation:none;transform:scaleX(1)}.inner-page.resume .resume-portrait:after,.inner-page.resume .resume-portrait__ascii,.inner-page.resume .inner-section>h2{opacity:1;transform:none;text-shadow:none!important;animation:none!important;-webkit-mask-image:none!important;mask-image:none!important}.inner-page.resume .resume-portrait:after{display:none}.inner-page .resume-item__links{gap:.5rem 1rem}}.inner-page .inner-resume-contact{font-size:1rem}.inner-page .inner-resume-contact p{margin-bottom:1rem}.inner-page .inner-resume-contact a{text-underline-offset:.2em;min-height:44px;padding-block:.5rem;text-decoration:underline;display:inline-block}.inner-page .resume-item__links{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.35rem 1.35rem;margin-top:1.15rem;padding-top:1rem;display:flex}.inner-page .resume-item__links .resume-link{text-underline-offset:.2em;border-bottom:1px solid;align-items:center;gap:.35rem;min-height:44px;margin:0;padding-block:.35rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.inner-page .resume-item__links .resume-link:hover{text-decoration:underline}.inner-page .resume-item__links .resume-link--notes{color:var(--muted);border-bottom-color:color-mix(in srgb,var(--muted)55%,transparent);font-weight:450}.inner-page .resume-item__links .resume-link--notes:hover{color:var(--ink);border-bottom-color:var(--ink)}.inner-page .resume-item{margin-top:2rem;padding-block:1.75rem .5rem}.inner-page .resume-item h3{margin:0 0 1rem;font-size:1.8rem}.inner-page .inner-resume-item-heading p{color:var(--muted);font-size:1rem}.inner-page .inner-resume-item-heading strong{color:var(--ink)}.inner-page .inner-section .inner-stack{border-top:1px solid var(--rule);padding-top:.8rem;font-size:.95rem}.inner-page .inner-experience{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1rem 2rem;padding-block:1.5rem;display:grid}.inner-page .inner-experience h3{font-size:1.45rem;line-height:1.25}.inner-page .inner-experience p{margin:0;font-size:1rem}.inner-page .inner-experience__period{color:var(--muted);font-variant-numeric:tabular-nums}.inner-page .print-control{margin-top:1.5rem}.inner-page .print-control a{min-height:44px;padding-block:.6rem;text-decoration:underline;display:inline-block}.inner-page .inner-contact-email{border-top:2px solid var(--ink);padding-block:2rem}.inner-page .inner-contact-email h2{margin-bottom:1rem;font-size:clamp(1.6rem,3vw,2.4rem)}.inner-page .contact-address{max-width:100%;min-height:44px;font-family:var(--font-display);text-underline-offset:.2em;padding-block:.5rem;font-size:clamp(1.25rem,3.5vw,3rem);line-height:1.4;text-decoration:underline;text-decoration-thickness:2px;display:inline-block}.inner-page .inner-contact-notes{gap:1.5rem var(--inner-gap);grid-template-columns:minmax(0,1fr) minmax(0,.7fr);max-width:68rem;margin-top:2rem;display:grid}.inner-page .inner-contact-notes p{max-width:55ch;font-size:1.125rem}.inner-page .inner-contact-notes p+p{color:var(--muted);font-size:1rem}.inner-page .inner-contact-links{border-top:1px solid var(--rule);padding-top:1.25rem}.inner-page .inner-experiment{min-width:0}.inner-page .inner-privacy ul{padding:0;list-style:none}.inner-page .inner-privacy li{border-top:1px solid var(--rule);margin:0;padding-block:1.25rem}.inner-page .inner-privacy li strong{color:var(--ink);margin-bottom:.5rem;display:block}.inner-page.inner-how .case-section__body{max-width:none}.inner-page .case-hero{gap:var(--inner-gap);align-items:start;padding-bottom:3rem}.inner-page .case-hero .model{margin-top:3rem}.inner-page .case-hero[data-has-model=false]{grid-template-columns:minmax(0,1fr)}.inner-page .case-hero[data-has-model=false] .case-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.inner-page .case-hero h1{font-size:clamp(2.75rem,6vw,5.5rem)}.inner-page .case-meta{gap:1rem;font-size:1rem}.inner-page .case-meta dt{letter-spacing:.03em;margin-bottom:.25rem;font-size:.85rem}.inner-page .case-index{border-top:2px solid var(--ink);padding-block:1.5rem;display:block}.inner-page .case-index>p{color:var(--muted);margin-bottom:.75rem}.inner-page .case-index ol{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.25rem 1.5rem;margin:0;padding-left:1.8rem;list-style:decimal-leading-zero;display:grid}.inner-page .case-index li{padding-left:.3rem}.inner-page .case-index li::marker{font:.8rem var(--font-mono);color:var(--muted)}.inner-page .case-index a{padding-block:.5rem;font-size:1rem}.inner-page .case-index a:hover{text-underline-offset:.2em;text-decoration:underline}.inner-page .case-section{gap:var(--inner-gap);grid-template-columns:minmax(0,.35fr) minmax(0,1fr)}.inner-page .case-section h2{max-width:18ch;font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.15}.inner-page .case-section__body{min-width:0;max-width:var(--inner-measure)}.inner-page .case-section__body>h3{margin-block:2rem 1rem;font-size:1.5rem}.inner-page .case-section__body>p,.inner-page .case-section__body ul{font-size:1.125rem;line-height:1.7}.inner-page .case-section__body ul{color:var(--ink)}.inner-page .case-flow{margin-top:2rem;display:block}.inner-page .case-flow li{border:0;border-top:1px solid var(--rule);background:0 0;grid-template-columns:2.25rem minmax(0,1fr);gap:.5rem 1rem;padding:1.5rem 0;display:grid}.inner-page .case-flow li:before{color:var(--muted);grid-row:span 2;margin:.15rem 0 0;font-size:.85rem}.inner-page .case-flow h3{margin:0;font-size:1.5rem}.inner-page .case-flow p{grid-column:2;font-size:1.05rem}.inner-page .decision p{font-size:1.125rem}.inner-page .decision p+p{border-left:2px solid var(--rule);padding-left:1.25rem;font-size:1rem}.inner-page .evidence-links li{border-bottom:1px solid var(--rule);padding-bottom:1.25rem}.inner-page .evidence-links a{min-height:44px}.inner-page .evidence-links p{color:var(--muted);font-size:1rem}.inner-page .study figcaption,.inner-page .model figcaption{font-size:.75rem;line-height:1.6}.inner-page.inner-writing{background:0 0}.inner-page.inner-writing .blog-index-hero{border:0;padding-block:clamp(3rem,6vw,5.5rem) 3rem}.inner-page.inner-writing .blog-index-hero__eyebrow{font:600 .8rem var(--font-body);letter-spacing:.09em;margin-bottom:1rem}.inner-page.inner-writing .blog-index-hero h1,.inner-page.inner-writing .blog-article-hero h1{letter-spacing:-.045em;text-transform:none;text-wrap:balance;max-width:22ch;font-size:clamp(2.75rem,5.5vw,5rem);font-weight:600;line-height:1.07}.inner-page.inner-writing .blog-index-hero__lede{max-width:52ch;font-size:1.25rem;line-height:1.6}.inner-page.inner-writing .blog-index-layout{gap:var(--inner-gap);grid-template-columns:minmax(0,1fr) minmax(14rem,.3fr)}.inner-page.inner-writing .blog-index-posts{border:0;min-width:0}.inner-page.inner-writing .inner-writing-heading{border-top:2px solid var(--ink);padding-block:1.25rem;font-size:1.5rem}.inner-page.inner-writing .blog-post-row{grid-template-columns:2rem minmax(0,1fr) 2rem;gap:1.25rem;min-height:0;padding:2rem 0}.inner-page.inner-writing .blog-post-row__rank{font:.9rem var(--font-mono);text-align:left;padding-top:.25rem}.inner-page.inner-writing .blog-post-row__meta{font-family:var(--font-body);text-transform:none;letter-spacing:0;font-size:.9rem}.inner-page.inner-writing .blog-post-row__tags{gap:.6rem}.inner-page.inner-writing .blog-post-row h3{margin-bottom:1rem;font-size:clamp(1.6rem,2.7vw,2.25rem);line-height:1.18}.inner-page.inner-writing .blog-post-row p{max-width:62ch;font-size:1.125rem;line-height:1.7}.inner-page.inner-writing .blog-post-row__read-time{font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:.9rem}.inner-page.inner-writing .blog-post-row__arrow{border:0;font-size:1.25rem}.inner-page.inner-writing .blog-post-row__link{border-top:1px solid var(--rule);border-bottom:0}.inner-page.inner-writing .blog-post-row__link:hover{background:0 0}.inner-page.inner-writing .blog-post-row__link:hover h3{text-underline-offset:.15em;text-decoration:underline}.inner-page.inner-writing .blog-post-row__link:before{content:none}.inner-page.inner-writing .blog-index-sidebar{border-top:1px solid var(--rule);flex-direction:column;padding:0;display:flex}.inner-page.inner-writing .blog-index-sidebar__section{border:0;border-bottom:1px solid var(--rule);margin:0;padding:1.25rem 0}.inner-page.inner-writing .blog-index-sidebar__heading{font:600 1.15rem var(--font-display);color:var(--ink);letter-spacing:0;text-transform:none;border:0;padding:0}.inner-page.inner-writing .blog-index-sidebar__copy{font-size:1rem}.inner-page.inner-writing .blog-index-stats{background:0 0;border:0}.inner-page.inner-writing .blog-index-stats>div{background:0 0;min-height:44px;padding:.5rem 0}.inner-page.inner-writing .blog-index-stats dt,.inner-page.inner-writing .blog-index-stats dd{font:1rem var(--font-body);text-transform:none;letter-spacing:0}.inner-page.inner-writing .blog-publish-contract{background:var(--white);font-size:.85rem}.inner-page.inner-writing summary{cursor:pointer;min-height:44px;padding-block:.6rem;font-size:1rem;font-weight:600}.inner-page.inner-writing details[open]>summary{margin-bottom:1rem}.inner-page.inner-writing .blog-index-empty{font:1.125rem/1.7 var(--font-body)}.inner-page.inner-writing .blog-article-hero{border:0;min-height:0;overflow:visible}.inner-page.inner-writing .blog-article-hero__breadcrumb-wrap{padding-top:2rem}.inner-page.inner-writing .blog-breadcrumb ol{font:.9rem/1.5 var(--font-body);letter-spacing:0;padding:0}.inner-page.inner-writing .blog-breadcrumb a{align-items:center;min-height:44px;display:inline-flex}.inner-page.inner-writing .blog-breadcrumb li:last-child{white-space:normal;overflow-wrap:anywhere;max-width:100%}.inner-page.inner-writing .blog-article-hero__content{padding-block:2rem 3rem}.inner-page.inner-writing .blog-article-hero h1{margin-bottom:1.5rem}.inner-page.inner-writing .blog-article-tags span,.inner-page.inner-writing .blog-article-panel__tags span{font:.875rem/1.4 var(--font-body);letter-spacing:0;text-transform:none;color:var(--ink);border-color:var(--rule);background:0 0;padding:.3rem .6rem}.inner-page.inner-writing .blog-article-hero__meta{font:1rem/1.6 var(--font-body);letter-spacing:0;gap:.5rem 1rem}.inner-page.inner-writing .blog-article-hero__meta time{color:var(--muted)}.inner-page.inner-writing .blog-article__content-shell{gap:var(--inner-gap);grid-template-columns:minmax(12rem,.32fr) minmax(0,1fr);align-items:start;padding-block:0}.inner-page.inner-writing .blog-article__body{max-width:70ch}.inner-page.inner-writing .blog-article__excerpt{border:0;border-top:2px solid var(--ink);background:0 0;margin-bottom:1rem;padding:1.5rem 0 2rem}.inner-page.inner-writing .blog-article__excerpt p{color:var(--ink);font-size:1.3rem;font-style:normal;line-height:1.6}.inner-page.inner-writing .blog-content{color:var(--ink);font-size:1.125rem;line-height:1.8}.inner-page.inner-writing .blog-content :is(h1,h2,h3){scroll-margin-top:0;line-height:1.2}.inner-page.inner-writing .blog-content h1{font-size:2.2rem}.inner-page.inner-writing .blog-content h2{border-top:1px solid var(--rule);margin-top:3rem;padding-top:1.5rem;font-size:2rem}.inner-page.inner-writing .blog-content h3{font-size:1.5rem}.inner-page.inner-writing .blog-content a{color:var(--ink);text-underline-offset:.2em;border:0;text-decoration:underline}.inner-page.inner-writing .blog-content :is(ul,ol) li::marker{color:var(--muted)}.inner-page.inner-writing .blog-content code{color:var(--ink);font-size:.9em}.inner-page.inner-writing .blog-content pre{background:var(--white);padding:1.25rem}.inner-page.inner-writing .blog-content pre:before{font-size:.75rem}.inner-page.inner-writing .blog-content th{font:600 .95rem/1.5 var(--font-body);letter-spacing:0;text-transform:none}.inner-page.inner-writing .blog-content table{font-size:1rem}.inner-page.inner-writing .blog-content .blog-table-hint{color:var(--muted);font:.78rem/1.5 var(--font-mono);margin:1.5rem 0 .5rem;display:block}.inner-page.inner-writing .blog-table-wrap table{margin-top:.5rem}.inner-page.inner-writing .blog-article-sidebar{display:block}.inner-page.inner-writing .blog-article-sidebar__sticky{gap:1.25rem;position:static}.inner-page.inner-writing .blog-article-panel{border:0;border-top:1px solid var(--rule);background:0 0}.inner-page.inner-writing .blog-article-panel>h2{font:600 1.15rem var(--font-display);color:var(--ink);letter-spacing:0;text-transform:none;border:0;padding:1.25rem 0 .5rem}.inner-page.inner-writing .blog-article-panel>p{padding:.75rem 0;font-size:1rem}.inner-page.inner-writing .blog-toc{padding:0}.inner-page.inner-writing .blog-toc a{border-bottom:1px solid var(--rule);min-height:44px;padding:.65rem 0;font-size:1rem;line-height:1.45}.inner-page.inner-writing .blog-toc a:before{content:none}.inner-page.inner-writing .blog-toc a:hover{background:0 0;text-decoration:underline}.inner-page.inner-writing .blog-toc-toggle{display:none}.inner-page.inner-writing .blog-toc-toggle__count{color:var(--muted);margin-left:.4rem;font-weight:400}.inner-page.inner-writing .blog-article-metadata{padding:.5rem 0}.inner-page.inner-writing .blog-article-metadata>div{font:.95rem/1.5 var(--font-body);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.inner-page.inner-writing .blog-article-panel__tags{padding:.75rem 0}.inner-page.inner-writing .blog-article-sidebar__action{min-height:44px;font:1rem/1.5 var(--font-body);letter-spacing:0;text-transform:none;background:0 0;padding:.75rem}.inner-page.inner-writing .blog-author-card{border:0;border-block:1px solid var(--rule);background:0 0;padding:2rem 0}.inner-page.inner-writing .blog-author-card h2{font-size:1.4rem}.inner-page.inner-writing .blog-author-card p{font-size:1rem}.inner-page.inner-writing .blog-author-card__links a,.inner-page.inner-writing .blog-back-link{min-height:44px;font:.95rem/1.5 var(--font-body);letter-spacing:0;text-transform:none;align-items:center;text-decoration:underline;display:inline-flex}@media (min-width:1200px){.inner-page .resume-item{grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:2rem;display:grid}}@media (max-width:1000px){.inner-page .inner-layout,.inner-page.inner-writing .blog-article__content-shell,.inner-page.inner-writing .blog-index-layout{grid-template-columns:minmax(0,1fr);gap:2rem}.inner-page .case-hero[data-has-model=false] .case-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-page .inner-contents{flex-wrap:wrap;gap:.25rem 1.5rem;padding-bottom:1rem;display:flex;position:static}.inner-page .inner-contents .eyebrow{width:100%;margin-bottom:.5rem}.inner-page .inner-contents a{text-underline-offset:.2em;border:0;text-decoration:underline}.inner-page .inner-body{width:100%}.inner-page .case-section{grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:2rem}.inner-page .case-hero{grid-template-columns:minmax(0,1fr)}.inner-page .case-hero .model{width:100%;max-width:38rem;margin:0 auto}.inner-page.inner-writing .blog-article-sidebar{display:block}.inner-page.inner-writing .blog-article-sidebar__sticky{gap:1rem}.inner-page.inner-writing .blog-article__content-shell{row-gap:1rem}.inner-page.inner-writing .blog-article-panel--contents>h2,.inner-page.inner-writing .inner-article-details,.inner-page.inner-writing .blog-article-sidebar__action{display:none}.inner-page.inner-writing .blog-toc-toggle{display:block}.inner-page.inner-writing .blog-toc-toggle:not([open])+nav{display:none}.inner-page.inner-writing .blog-toc{columns:2;column-gap:1.5rem;display:block}.inner-page.inner-writing .blog-toc li{break-inside:avoid}.inner-page.inner-writing .blog-article__body{width:100%;max-width:70ch;margin-inline:auto}.inner-page.inner-writing .blog-index-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}}@media (max-width:700px){.inner-page .inner-header{padding-block:2.5rem 2rem}.inner-page .resume-header,.inner-page .inner-contact-notes,.inner-page .inner-experience,.inner-page .case-section,.inner-page .case-hero[data-has-model=false] .case-meta{grid-template-columns:minmax(0,1fr)}.inner-page .inner-section{padding-block:1.5rem 2rem}.inner-page .inner-experience{gap:.75rem}.inner-page .case-section{gap:1.5rem;padding-block:2.5rem}.inner-page .case-section h2{max-width:none}.inner-page .case-hero .page-heading{padding-top:2.5rem}.inner-page .case-index ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 2rem}.inner-page .case-index a{font-size:.95rem}.inner-page.inner-writing .blog-index-hero{padding-block:2.5rem 2rem}.inner-page.inner-writing .blog-post-row{grid-template-columns:1.5rem minmax(0,1fr);gap:.75rem}.inner-page.inner-writing .blog-post-row__arrow{display:none}.inner-page.inner-writing .blog-index-sidebar,.inner-page.inner-writing .blog-toc{grid-template-columns:minmax(0,1fr)}.inner-page.inner-writing .blog-toc{columns:auto}.inner-page.inner-writing .blog-index-sidebar{gap:0}.inner-page.inner-writing .blog-article-hero__content{padding-top:1.5rem}.inner-page.inner-writing .blog-content h2{font-size:1.75rem}.inner-page.inner-writing .blog-author-card{flex-direction:row;gap:1rem}.inner-page.inner-writing .blog-author-card__mark{width:44px;height:44px}}@media (scripting:none){.inner-page .inner-contents{position:static}body:has(.inner-page) .top-nav{position:static}html:has(.inner-page){scroll-padding-top:1rem}}@media print{.inner-page{padding:0}.inner-page .inner-contents{display:none}.inner-page .inner-layout,.inner-page .resume-header,.inner-page .resume-item{display:block}.inner-page .inner-header{padding:0 0 1rem}.inner-page .inner-header h1{margin:0 0 .5rem;font-size:30pt}.inner-page .inner-header .page-heading__lede{font-size:12pt}.inner-page .inner-section{padding-block:1rem}.inner-page .inner-section>h2{margin-bottom:1rem;font-size:18pt}.inner-page .inner-section p,.inner-page .inner-section ul,.inner-page .inner-resume-item-heading p,.inner-page .inner-section .inner-stack,.inner-page .inner-section .project-row__limit{max-width:none;font-size:11pt;line-height:1.5}.inner-page .resume-item{break-inside:avoid;margin-top:1rem;padding-top:1rem}.inner-page .resume-item h3,.inner-page .inner-experience h3{font-size:14pt}.inner-page .inner-experience{break-inside:avoid}.inner-page .inner-resume-contact a,.inner-page .resume-link,.inner-page .text-link{min-height:0;padding-block:.15rem;font-size:10pt}.inner-page .limit-note{background:0 0}.inner-page.resume a[data-print-url]:after{content:" (" attr(data-print-url)")";font-size:9pt}.inner-page.inner-writing .blog-toc-toggle{display:none}.inner-page.inner-writing .blog-article-panel--contents>h2,.inner-page.inner-writing .blog-toc-toggle:not([open])+nav{display:block}}.inner-page pre:not(.resume-portrait__ascii){overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.inner-page .model,.inner-page .model__stage{max-width:100%}.inner-page img,.inner-page video{max-width:100%;height:auto}@media (max-width:700px){.inner-page .inner-contact-email h2{overflow-wrap:anywhere;font-size:clamp(1.8rem,9vw,2.6rem)}.inner-page .case-index ol{grid-template-columns:minmax(0,1fr)}.inner-page .case-hero h1{font-size:clamp(2.35rem,10vw,3.4rem)}.inner-page .page-heading__lede{font-size:1.05rem}}@media (max-width:420px){.inner-page .inner-contents{gap:.35rem 1rem}.inner-page .inner-contents a{font-size:.92rem}}.inner-page.resume .resume-ship-check__label{color:var(--muted);margin:.75rem 0 .35rem;font-size:.85rem;display:block}.inner-page.resume .resume-ship-check__select{border:1px solid var(--rule);background:var(--paper);width:100%;max-width:28rem;color:var(--ink);font:inherit;margin-bottom:.75rem;padding:.4rem .55rem}.inner-page.resume .resume-ship-check__prompt{max-width:40rem}.inner-page.resume .resume-ship-check__actions{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem;display:flex}.inner-page.resume .resume-ship-check__status{color:var(--muted)}.inner-page.resume .resume-ship-check__trace{border:1px solid var(--rule);background:var(--paper);font-family:var(--font-mono);white-space:pre-wrap;max-width:100%;margin:.5rem 0 0;padding:.75rem .85rem;font-size:.78rem;line-height:1.45;overflow-x:auto}.inner-page.resume .resume-ship-check__fixture{color:var(--muted);margin-top:.5rem;font-size:.9rem}@media (prefers-reduced-motion:reduce){.inner-page.resume .resume-ship-check__trace{transition:none}}.inner-page.resume .resume-portrait-reveal__lede{max-width:40rem;color:var(--muted)}.inner-page.resume .resume-portrait-gate__field{border:0;margin:1rem 0;padding:0}.inner-page.resume .resume-portrait-gate__field legend{margin-bottom:.5rem;padding:0;font-weight:600}.inner-page.resume .resume-portrait-gate__options{gap:.45rem;display:grid}.inner-page.resume .resume-portrait-gate__option{text-align:left;border:1px solid var(--rule);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;align-items:center;gap:.75rem;padding:.55rem .7rem;display:flex}.inner-page.resume .resume-portrait-gate__option input{width:1.1rem;height:1.1rem;accent-color:var(--ink);flex:none}.inner-page.resume .resume-portrait-gate__option:focus-within{outline:3px solid var(--ink);outline-offset:3px}.inner-page.resume .resume-portrait-gate__option.is-selected{border-color:var(--ink);box-shadow:inset 3px 0 0 var(--signal,var(--ink))}.inner-page.resume .resume-portrait-gate__actions{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:.75rem;display:flex}.inner-page.resume .resume-portrait-gate__skip{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;min-height:44px;padding:.5rem 0;font-size:.9rem;text-decoration:underline}.inner-page.resume .resume-portrait-gate__nudge{max-width:36rem;margin-top:.75rem}.inner-page.resume .resume-portrait-gate__meta{color:var(--muted);font-family:var(--font-mono);margin-top:.5rem;font-size:.78rem}@media (max-width:720px){.inner-page.resume .resume-portrait-gate__option{font-size:.95rem}}
