:root{--color-stage:oklch(5% .008 248);--color-stage-2:oklch(8% .012 248);--color-panel:oklch(13% .018 248);--color-panel-2:oklch(18% .02 248);--color-ink:oklch(96% .01 248);--color-muted:oklch(74% .018 248);--color-faint:oklch(53% .02 248);--color-rule:oklch(100% .01 248/.16);--color-accent:oklch(78% .18 153);--color-accent-cool:oklch(88% .12 145);--color-accent-ink:oklch(7% .012 248);--font-display:"Arial Black", "Archivo Black", Impact, sans-serif;--font-body:Inter, Arial, sans-serif;--font-mono:"Chivo Mono", Consolas, "Liberation Mono", monospace;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:8rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.83, 0, .17, 1);--dur-fast:.15s;--dur-mid:.26s;--dur-slow:.68s;--z-base:1;--z-canvas:0;--z-sticky-nav:300;--z-modal:700;--deploy-revision:20260700}*{box-sizing:border-box}html,body{background:var(--color-stage);min-height:100%;overflow-x:clip}html{color-scheme:dark;scroll-behavior:smooth}body{color:var(--color-ink);font-family:var(--font-body);text-rendering:geometricprecision;margin:0;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}img{max-width:100%;display:block}::selection{color:var(--color-accent-ink);background:var(--color-accent)}.skip-link{inset:var(--space-sm) auto auto var(--space-sm);z-index:var(--z-modal);padding:var(--space-xs) var(--space-sm);color:var(--color-accent-ink);background:var(--color-accent);position:fixed;transform:translateY(-140%)}.skip-link:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px;transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rectangle-field{z-index:var(--z-canvas);pointer-events:none;opacity:.58;contain:strict;position:fixed;inset:0}.rectangle-field canvas{width:100%;height:100%}.site-shell{z-index:var(--z-base);width:min(100%,118rem);padding:var(--space-md) clamp(1rem, 3vw, 2.5rem) var(--space-lg);margin-inline:auto;position:relative}.site-nav{z-index:var(--z-sticky-nav);justify-content:space-between;align-items:center;gap:var(--space-md);min-height:3.25rem;padding-block:var(--space-sm);background:linear-gradient(180deg, var(--color-stage) 42%, oklch(5% .008 248/0));margin-block-end:clamp(3rem,7vw,6rem);display:flex;position:sticky;top:0}.site-nav__brand{color:var(--color-ink);text-decoration:none}.brand-mark{align-items:center;gap:var(--space-xs);min-width:0;color:var(--color-ink);display:inline-flex}.brand-mark__glyph{width:2.25rem;height:2.25rem;color:var(--color-ink);filter:drop-shadow(0 0 1.2rem oklch(78% .18 153/.2));flex:none}.brand-mark--compact .brand-mark__glyph{width:1.3rem;height:1.3rem}.brand-mark__frame{stroke:currentColor;stroke-width:3px;opacity:.82}.brand-mark__panel{fill:currentColor}.brand-mark__panel--dim{opacity:.58}.brand-mark__accent-panel{fill:var(--color-accent)}.brand-mark__trace,.brand-mark__corner{stroke:var(--color-accent-cool);stroke-linecap:square;stroke-linejoin:round}.brand-mark__trace{stroke-width:3.5px}.brand-mark__corner{stroke-width:2.5px}.brand-mark__word{min-width:0;font-family:var(--font-mono);letter-spacing:0;white-space:nowrap;align-items:baseline;font-size:.76rem;line-height:1;display:inline-flex}.brand-mark__word strong{font-weight:700}.brand-mark__word span{color:var(--color-muted)}.site-nav__meta{align-items:center;gap:var(--space-md);color:var(--color-muted);font-family:var(--font-mono);white-space:nowrap;font-size:.72rem;line-height:1;display:flex}.portfolio-hero{min-height:clamp(24rem,58vh,42rem);padding-block:var(--space-xl) clamp(4rem, 10vw, 9rem);grid-template-columns:minmax(0,1.4fr) minmax(18rem,.6fr);align-items:end;gap:clamp(1.5rem,5vw,7rem);display:grid}.portfolio-hero__copy{max-width:75ch}.portfolio-hero__kicker{margin:0 0 var(--space-md);color:var(--color-accent-cool);font-family:var(--font-mono);font-size:clamp(.78rem,1.2vw,.96rem)}.portfolio-hero h1{color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;text-wrap:balance;margin:0;font-size:clamp(3.2rem,11.2vw,11.2rem);line-height:.95}.portfolio-hero h1 span,.site-footer__statement span{overflow-wrap:normal;min-width:0;display:block}.portfolio-hero__note{max-width:32rem;color:var(--color-muted);text-wrap:pretty;margin:0;font-size:clamp(1rem,1.3vw,1.2rem)}.filter-panel{gap:var(--space-md);grid-template-columns:auto minmax(0,1fr);align-items:start;margin-block-end:var(--space-xl);display:grid}.filter-panel__label{min-height:2.75rem;color:var(--color-faint);font-family:var(--font-mono);align-items:center;font-size:.74rem;display:flex}.filter-panel__controls{gap:var(--space-xs);flex-wrap:wrap;display:flex}.filter-button,.pager-button,.icon-button,.live-link{border:1px solid var(--color-rule);color:var(--color-ink);background:oklch(100% .01 248/.04)}.filter-button{min-height:2.75rem;padding:0 var(--space-sm);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-mono);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);font-size:.78rem}.filter-button:hover,.filter-button[aria-pressed=true]{color:var(--color-accent-ink);border-color:var(--color-accent);background:var(--color-accent)}.filter-button:focus-visible,.project-card__button:focus-visible,.icon-button:focus-visible,.pager-button:focus-visible,.live-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.filter-button:active,.pager-button:active,.icon-button:active,.live-link:active{transform:translateY(1px)}.filter-button:disabled,.pager-button:disabled,.icon-button:disabled{opacity:.55;cursor:not-allowed}.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;align-items:stretch;gap:clamp(.75rem,1.4vw,1.5rem);display:grid}.project-card{min-width:0;animation:card-rise var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms);grid-column:span 4}.project-card--0,.project-card--5,.project-card--10{grid-column:span 5}.project-card--1,.project-card--6{grid-column:span 3}.project-card--3,.project-card--8{grid-column:span 4}.project-card__button{border:1px solid var(--color-rule);border-radius:var(--radius-sm);width:100%;min-height:clamp(23rem,34vw,40rem);color:var(--color-ink);background:radial-gradient(circle at 50% 0%, oklch(100% .01 248/.08), transparent 40%), var(--color-stage-2);cursor:pointer;text-align:left;isolation:isolate;transition:border-color var(--dur-mid) var(--ease-out), background-color var(--dur-mid) var(--ease-out), transform var(--dur-mid) var(--ease-out);grid-template-rows:minmax(0,1fr) auto;padding:0;display:grid;position:relative;overflow:clip}.project-card__button:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(180deg, transparent 42%, oklch(0% .01 248/.82) 100%), linear-gradient(90deg, var(--project-accent), transparent 34%);opacity:.18;transition:opacity var(--dur-mid) var(--ease-out);position:absolute;inset:0}.project-card__button:hover,.project-card__button:focus-visible{border-color:color-mix(in oklch, var(--project-accent) 62%, var(--color-rule));transform:translateY(-.18rem)}.project-card__button:hover:after,.project-card__button:focus-visible:after{opacity:.34}.project-card__media{min-height:0;position:relative;overflow:clip}.project-card__media img{object-fit:cover;filter:saturate(.9)contrast(1.05);width:100%;height:100%;min-height:18rem;transition:filter var(--dur-mid) var(--ease-out)}.project-card__button:hover .project-card__media img,.project-card__button:focus-visible .project-card__media img{filter:saturate(1.08)contrast(1.08)}.project-card__content{z-index:2;gap:var(--space-xs);padding:var(--space-md);background:linear-gradient(oklch(5% .008 248/0),oklch(5% .008 248/.9));display:grid;position:relative}.project-card__meta,.preview-dialog__meta{color:var(--color-muted);font-family:var(--font-mono);margin:0;font-size:.72rem}.project-card__title{justify-content:space-between;align-items:center;gap:var(--space-md);color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;overflow-wrap:normal;font-size:clamp(1.45rem,2.1vw,2.8rem);line-height:.98;display:flex}.project-card__summary{max-width:58ch;color:var(--color-muted);font-size:.95rem}.preview-layer{z-index:var(--z-modal);backdrop-filter:blur(16px);animation:layer-in var(--dur-mid) var(--ease-out) both;background:oklch(0% .01 248/.82);place-items:center;padding:clamp(.75rem,2vw,2rem);display:grid;position:fixed;inset:0}.preview-dialog{border:1px solid color-mix(in oklch, var(--project-accent) 48%, var(--color-rule));border-radius:var(--radius-lg);background:var(--color-panel);width:min(96vw,92rem);max-height:min(92vh,56rem);color:var(--color-ink);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:clip}.preview-dialog__chrome,.preview-dialog__pager{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md);display:flex}.preview-dialog__chrome{border-bottom:1px solid var(--color-rule)}.preview-dialog h2{margin:var(--space-3xs) 0 0;color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;overflow-wrap:anywhere;font-size:clamp(1.6rem,4vw,4.8rem);line-height:.96}.icon-button{border-radius:var(--radius-md);cursor:pointer;width:2.75rem;height:2.75rem;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex:none;place-items:center;display:inline-grid}.icon-button:hover{color:var(--color-accent-ink);background:var(--project-accent)}.preview-dialog__body{gap:var(--space-md);min-height:0;padding:var(--space-md);grid-template-columns:minmax(0,1.8fr) minmax(18rem,.7fr);display:grid;overflow:auto}.preview-dialog__screen{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-stage);min-width:0;min-height:20rem;margin:0;position:relative;overflow:clip}.preview-dialog__screen img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.preview-dialog__details{gap:var(--space-md);flex-direction:column;min-width:0;display:flex}.preview-dialog__details p{max-width:58ch;color:var(--color-muted);margin:0;font-size:1rem}.preview-dialog__details dl{gap:var(--space-sm);margin:0;display:grid}.preview-dialog__details div{padding-block:var(--space-sm);border-top:1px solid var(--color-rule)}.preview-dialog__details dt{color:var(--color-faint);font-family:var(--font-mono);font-size:.72rem}.preview-dialog__details dd{margin:var(--space-3xs) 0 0;color:var(--color-ink)}.tag-list{gap:var(--space-2xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tag-list li{padding:var(--space-2xs) var(--space-xs);border:1px solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-muted);font-family:var(--font-mono);font-size:.72rem}.live-link{justify-content:center;align-items:center;gap:var(--space-2xs);width:fit-content;min-height:2.75rem;padding:0 var(--space-sm);border-radius:var(--radius-md);color:var(--color-accent-ink);background:var(--project-accent);font-family:var(--font-mono);white-space:nowrap;font-size:.82rem;text-decoration:none;display:inline-flex}.preview-dialog__pager{border-top:1px solid var(--color-rule)}.pager-button{justify-content:center;align-items:center;gap:var(--space-2xs);min-height:2.75rem;padding:0 var(--space-sm);border-radius:var(--radius-md);color:var(--color-ink);cursor:pointer;white-space:nowrap;display:inline-flex}.pager-button:hover{color:var(--color-accent-ink);background:var(--project-accent)}.preview-dialog__count{align-items:center;gap:var(--space-2xs);color:var(--color-muted);font-family:var(--font-mono);font-size:.78rem;display:inline-flex}.site-footer{gap:var(--space-md);padding-block:clamp(5rem, 12vw, 12rem) var(--space-lg);display:grid}.site-footer__statement{color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;margin:0;font-size:clamp(3rem,12.4vw,12rem);line-height:.84}.site-footer__meta{gap:var(--space-sm) var(--space-md);color:var(--color-muted);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;font-size:.74rem;display:flex}.site-footer__brand{align-items:center;gap:var(--space-2xs);color:var(--color-ink);display:inline-flex}.resume-journey-field{z-index:var(--z-canvas);pointer-events:none;opacity:.64;contain:strict;position:fixed;inset:0}.resume-journey-field canvas{width:100%;height:100%}.resume-shell{z-index:var(--z-base);width:min(100%,118rem);padding:var(--space-md) clamp(1rem, 3vw, 2.5rem) var(--space-lg);margin-inline:auto;position:relative}.resume-nav{z-index:var(--z-sticky-nav);gap:var(--space-md);min-height:3.25rem;padding-block:var(--space-sm);background:linear-gradient(180deg, var(--color-stage) 42%, oklch(5% .008 248/0));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;margin-block-end:clamp(3rem,7vw,6rem);display:grid;position:sticky;top:0}.resume-nav__links{justify-content:center;gap:var(--space-2xs);scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.resume-nav__links::-webkit-scrollbar{display:none}.resume-nav__links a,.resume-nav__cta,.resume-primary-link,.resume-secondary-link,.resume-proof-card,.resume-contact-link,.resume-footer__link{color:var(--color-ink);text-decoration:none}.resume-nav__links a,.resume-nav__cta{justify-content:center;align-items:center;gap:var(--space-2xs);border:1px solid var(--color-rule);border-radius:var(--radius-md);min-height:2.4rem;font-family:var(--font-mono);white-space:nowrap;background:oklch(100% .01 248/.035);font-size:.74rem;display:inline-flex}.resume-nav__links a{padding-inline:var(--space-sm)}.resume-nav__cta{padding-inline:var(--space-sm);color:var(--color-accent-ink);border-color:var(--color-accent);background:var(--color-accent)}.resume-nav__links a:hover,.resume-nav__links a:focus-visible,.resume-secondary-link:hover,.resume-secondary-link:focus-visible,.resume-proof-card:hover,.resume-proof-card:focus-visible,.resume-contact-link:hover,.resume-contact-link:focus-visible,.resume-footer__link:hover,.resume-footer__link:focus-visible{color:var(--color-accent-ink);border-color:var(--color-accent-cool);background:var(--color-accent-cool)}.resume-nav__links a:focus-visible,.resume-nav__cta:focus-visible,.resume-primary-link:focus-visible,.resume-secondary-link:focus-visible,.resume-proof-card:focus-visible,.resume-contact-link:focus-visible,.resume-footer__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.resume-hero{min-height:clamp(28rem,66vh,48rem);padding-block:var(--space-xl) clamp(4rem, 10vw, 9rem);grid-template-columns:minmax(0,1.35fr) minmax(20rem,.65fr);align-items:end;gap:clamp(1.5rem,5vw,7rem);display:grid}.resume-hero__copy{min-width:0}.resume-eyebrow,.resume-proof-card__eyebrow{color:var(--color-accent-cool);font-family:var(--font-mono);margin:0;font-size:.76rem;line-height:1.3}.resume-hero h1{color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;text-wrap:balance;margin:0;font-size:clamp(3rem,8vw,8.8rem);line-height:.94}.resume-hero h1 span{overflow-wrap:normal;display:block}.resume-hero__panel{gap:var(--space-md);min-width:0;padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:linear-gradient(135deg, oklch(100% .01 248/.08), oklch(100% .01 248/.025)), var(--color-stage-2);display:grid}.resume-hero__panel p{color:var(--color-muted);margin:0;font-size:clamp(.98rem,1.25vw,1.18rem)}.resume-hero__role{font-family:var(--font-display);text-transform:uppercase;line-height:1;color:var(--color-ink)!important;font-size:clamp(1.7rem,2.6vw,3rem)!important}.resume-hero__actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.resume-primary-link,.resume-secondary-link{justify-content:center;align-items:center;gap:var(--space-2xs);border:1px solid var(--color-rule);border-radius:var(--radius-md);min-height:2.75rem;padding-inline:var(--space-sm);font-family:var(--font-mono);white-space:nowrap;font-size:.82rem;display:inline-flex}.resume-primary-link{color:var(--color-accent-ink);border-color:var(--color-accent);background:var(--color-accent)}.resume-primary-link:hover,.resume-primary-link:focus-visible,.resume-nav__cta:hover,.resume-nav__cta:focus-visible{color:var(--color-stage);border-color:var(--color-accent-cool);background:var(--color-accent-cool)}.resume-secondary-link{background:oklch(100% .01 248/.04)}.resume-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.4vw,1.25rem);margin-block-end:clamp(4rem,9vw,7rem);display:grid}.resume-stat{gap:var(--space-2xs);min-width:0;padding:var(--space-md);border-block-start:1px solid var(--color-rule);background:linear-gradient(oklch(100% .01 248/.04),#0000);display:grid}.resume-stat strong{color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;font-size:clamp(2rem,4.5vw,5.2rem);line-height:.92}.resume-stat span{color:var(--color-muted);font-family:var(--font-mono);font-size:.75rem}.resume-section{border-top:1px solid var(--color-rule);grid-template-columns:minmax(7rem,.24fr) minmax(0,1fr);gap:clamp(1rem,4vw,5rem);padding-block:clamp(4rem,9vw,8rem);display:grid}.resume-section--intro{border-top-color:color-mix(in oklch, var(--color-accent) 48%, var(--color-rule))}.resume-section__label{color:var(--color-faint);font-family:var(--font-mono);padding-block-start:.55rem;font-size:.74rem}.resume-section__body{gap:var(--space-lg);min-width:0;display:grid}.resume-section h2,.resume-contact h2{max-width:15ch;color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;margin:0;font-size:clamp(2.35rem,6.2vw,7rem);line-height:.94}.resume-lede{max-width:68rem;color:var(--color-ink);text-wrap:pretty;margin:0;font-size:clamp(1.35rem,2.8vw,3.35rem);line-height:1.08}.resume-note{gap:var(--space-sm);max-width:62rem;padding:var(--space-md);border:1px solid color-mix(in oklch, var(--color-accent) 42%, var(--color-rule));border-radius:var(--radius-md);background:oklch(100% .01 248/.045);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.resume-note svg{color:var(--color-accent)}.resume-note p{color:var(--color-muted);margin:0}.resume-timeline{gap:var(--space-md);display:grid}.resume-timeline__item{padding-block:var(--space-lg);border-top:1px solid var(--color-rule);animation:card-rise var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * 70ms);grid-template-columns:minmax(7rem,.22fr) minmax(0,1fr);gap:clamp(1rem,3vw,3rem);display:grid}.resume-timeline__period{color:var(--color-accent);font-family:var(--font-mono);font-size:.82rem}.resume-timeline__content{gap:var(--space-sm);min-width:0;display:grid}.resume-timeline h3,.resume-detail-grid h3{color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;margin:0;font-size:clamp(1.55rem,2.6vw,3.5rem);line-height:.98}.resume-card h3{color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;text-wrap:balance;overflow-wrap:normal;margin:0;font-size:clamp(1.3rem,1.55vw,1.9rem);line-height:1.04}.resume-detail-grid h3{overflow-wrap:anywhere}.resume-timeline p,.resume-card p,.resume-contact p{max-width:72ch;color:var(--color-muted);margin:0}.resume-timeline__clients{color:var(--color-ink)!important}.resume-capability-grid,.resume-proof-grid,.resume-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.4vw,1.25rem);display:grid}.resume-card,.resume-proof-card,.resume-detail-grid article{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:radial-gradient(circle at 10% 0%, oklch(88% .12 145/.12), transparent 34%), var(--color-stage-2);min-width:0}.resume-card{align-content:start;gap:var(--space-sm);padding:var(--space-md);display:grid}.resume-card__icon{width:2.75rem;height:2.75rem;color:var(--color-accent-ink);border-radius:var(--radius-md);background:var(--color-accent);place-items:center;display:grid}.resume-proof-card{gap:var(--space-xs);min-height:14rem;padding:var(--space-md);color:var(--color-muted);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-mid) var(--ease-out);display:grid}.resume-proof-card:hover,.resume-proof-card:focus-visible{transform:translateY(-.16rem)}.resume-proof-card__title{justify-content:space-between;align-items:center;gap:var(--space-sm);color:var(--color-ink);font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;font-size:clamp(1.4rem,2vw,2.35rem);line-height:1;display:flex}.resume-proof-card:hover .resume-proof-card__title,.resume-proof-card:focus-visible .resume-proof-card__title,.resume-proof-card:hover .resume-proof-card__eyebrow,.resume-proof-card:focus-visible .resume-proof-card__eyebrow{color:var(--color-accent-ink)}.resume-detail-grid article{gap:var(--space-sm);padding:var(--space-md);display:grid}.resume-detail-grid h3{font-size:clamp(1.35rem,2vw,2.4rem);line-height:1.04}.resume-contact{border-top:1px solid color-mix(in oklch, var(--color-accent-cool) 45%, var(--color-rule));grid-template-columns:minmax(0,.85fr) minmax(18rem,.65fr);align-items:start;gap:clamp(1.5rem,5vw,7rem);padding-block:clamp(5rem,11vw,10rem);display:grid}.resume-contact>div:first-child{gap:var(--space-md);display:grid}.resume-contact__links{gap:var(--space-sm);display:grid}.resume-contact-link{gap:var(--space-2xs) var(--space-sm);min-width:0;padding:var(--space-md);border:1px solid var(--color-rule);border-radius:var(--radius-md);background:oklch(100% .01 248/.04);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.resume-contact-link span{color:var(--color-faint);font-family:var(--font-mono);font-size:.72rem}.resume-contact-link strong{min-width:0;color:var(--color-ink);overflow-wrap:anywhere;grid-column:1}.resume-contact-link svg{grid-area:1/2/span 2}.resume-footer{border-top:1px solid var(--color-rule)}.resume-footer__link{min-height:2rem;padding-inline:var(--space-xs);border:1px solid var(--color-rule);border-radius:var(--radius-sm);align-items:center;display:inline-flex}@keyframes card-rise{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes layer-in{0%{opacity:0}to{opacity:1}}@media (width<=70rem){.portfolio-hero,.preview-dialog__body,.resume-hero,.resume-contact{grid-template-columns:1fr}.portfolio-hero{min-height:auto}.work-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.project-card,.project-card--0,.project-card--1,.project-card--3,.project-card--5,.project-card--6,.project-card--8,.project-card--10{grid-column:span 3}.resume-stats,.resume-capability-grid,.resume-proof-grid,.resume-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-section{grid-template-columns:1fr}.resume-section__label{padding-block-start:0}}@media (width<=46rem){.site-shell,.resume-shell{padding-inline:clamp(1rem,4vw,1.5rem)}.site-nav,.resume-nav{align-items:flex-start;margin-block-end:var(--space-xl)}.resume-nav{grid-template-columns:minmax(0,1fr) auto}.resume-nav__links{grid-column:1/-1;justify-content:flex-start}.brand-mark{gap:var(--space-2xs)}.brand-mark__glyph{width:2rem;height:2rem}.site-nav__meta{align-items:flex-end;gap:var(--space-2xs);flex-direction:column}.portfolio-hero{padding-block:var(--space-lg) var(--space-2xl)}.portfolio-hero h1,.resume-hero h1{font-size:clamp(2.45rem,13.6vw,4.2rem);line-height:1}.resume-hero{min-height:auto;padding-block:var(--space-lg) var(--space-2xl)}.resume-hero__panel{padding:var(--space-sm)}.resume-stats,.resume-capability-grid,.resume-proof-grid,.resume-detail-grid{grid-template-columns:1fr}.resume-section,.resume-contact{padding-block:var(--space-2xl)}.resume-section h2,.resume-contact h2{font-size:clamp(2rem,11vw,4rem)}.resume-lede{font-size:clamp(1.25rem,7vw,2rem)}.resume-timeline__item{grid-template-columns:1fr}.filter-panel{gap:var(--space-sm);grid-template-columns:1fr}.filter-panel__label{min-height:auto}.work-grid{grid-template-columns:1fr}.project-card,.project-card--0,.project-card--1,.project-card--3,.project-card--5,.project-card--6,.project-card--8,.project-card--10{grid-column:span 1}.project-card__button{min-height:28rem}.project-card__title{font-size:clamp(1.4rem,8vw,2rem)}.preview-layer{place-items:stretch stretch;padding:0}.preview-dialog{border-radius:0;width:100%;max-height:100vh}.preview-dialog__screen{min-height:18rem}.preview-dialog__chrome,.preview-dialog__pager{padding:var(--space-sm)}.preview-dialog__pager{flex-wrap:wrap}}@media (width<=26rem){.filter-button,.resume-primary-link,.resume-secondary-link{flex:auto}.site-footer__statement{font-size:clamp(2.4rem,13.5vw,4rem)}.resume-nav__cta{width:2.6rem;padding-inline:0}.resume-nav__cta svg{display:block}.resume-nav__cta{font-size:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.rectangle-field,.resume-journey-field{display:none}}
