:root{--light-text-color:hsl(0 0 60%);--default-text-color:hsl(0 0 10%);--border-color:hsl(0 0 80%);--border-color-muted:hsl(0 0 90%);--default-background-color:#f7f7f7;--text-very-large:clamp(1.25rem,2vw,1.5rem);--text-large:clamp(1.15rem,2vw,1.35rem);--text-medium:clamp(1rem,1.5vw,1.25rem);--text-small:clamp(.9rem,1.25vw,1.15rem);--text-very-small:clamp(.8rem,1.25vw,.9rem);--text-tag:clamp(.7rem,.8vw,.8rem);--text-hand:clamp(1.5rem,3vw,2.25rem);--text-padding:clamp(1.25rem,2.5vw,2.5rem)}html{color:var(--default-text-color);background-color:var(--default-background-color);scroll-behavior:smooth;letter-spacing:-.01em;font-family:Inter,sans-serif;line-height:1.35em}body{max-width:1440px;margin:0 auto}h1{font-size:clamp(1rem,.5vw + 1rem,1.5rem);font-weight:inherit;white-space:nowrap}h2{font-size:var(--text-very-large);font-weight:600}header,section{padding:0 max(.75rem,2.5vw)}header{width:100%;padding:clamp(1rem,1.5vw,1.5rem)var(--text-padding);background-color:var(--default-background-color);z-index:1000;flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;font-family:Inter,sans-serif;font-weight:600;transition:transform .3s;display:flex;position:sticky;top:0;&.hidden{transform:translateY(-100%)}& a{color:var(--default-text-color)}}nav ul{flex-direction:row;gap:max(.75rem,2vw);padding:0;list-style-type:none;display:flex;& a{color:var(--light-text-color);font-size:clamp(1rem,2vw,1.25rem);transition:color .2s;& .selected{background:hsl(0 0 90%)}&:hover{color:var(--default-text-color)}}}a{--highlight-offset-x:-.4rem;--highlight-offset-y:-.2rem;color:var(--default-text-color);z-index:1;text-decoration:none;position:relative;&:after{content:"";left:var(--highlight-offset-x);right:var(--highlight-offset-x);bottom:var(--highlight-offset-y);top:var(--highlight-offset-y);opacity:0;z-index:0;filter:blur(10px);background:currentColor;border-radius:.75rem;transition:all .15s ease-in;position:absolute;transform:scale(.5)translateY(1rem)}&:hover{&:after{opacity:.075;filter:blur();transition:all .1s ease-out;transform:scale(1)translateY(0)}}}.link-wrapper{font-size:var(--text-hand);font-weight:500;display:block;& a{color:#2255e3}}p{font-size:var(--text-large)}a{white-space:nowrap;display:inline-block;&:after{left:calc(2*var(--highlight-offset-x));right:calc(2*var(--highlight-offset-x));top:calc(2*var(--highlight-offset-y));bottom:calc(2*var(--highlight-offset-y))}}.tags{flex-flow:wrap;gap:.75rem;display:flex;& .tag{background:color-mix(in srgb,currentColor 10%,transparent);color:color-mix(in srgb,currentColor 65%,transparent);text-transform:uppercase;letter-spacing:.025rem;font-size:var(--text-tag);white-space:nowrap;border-radius:.65rem;padding:.35rem .75rem;font-weight:600}}.hero{padding:2vw var(--text-padding);flex-direction:column;justify-content:center;align-items:center;min-height:max(60vh,9em);font-size:clamp(2.5rem,6vw,5.5rem);font-weight:600;line-height:1.05em;display:flex;& .conditional-break{display:none}@media (width<=600px){&{text-align:center;min-height:max(68vh,10em)}& .conditional-break{display:inline-block}}& .hero-text{font-size:inherit;position:relative;& .products-note{width:clamp(300px,45vw,600px);max-width:none;position:absolute;top:.1em;left:50%;transform:rotate(3deg)translate(-48%,-100%)}}& .no-break{white-space:nowrap}& .highlight{--highlight-spread-x:.2em;--highlight-spread-y:0em;position:relative;&:before{content:"";left:calc(var(--highlight-spread-x)*-1);right:calc(var(--highlight-spread-x)*-1);top:calc(var(--highlight-spread-y)*-1);bottom:calc(var(--highlight-spread-y)*-1);z-index:-1;background:#ffee9a;border-radius:3px;position:absolute;transform:skewY(-1deg)rotate(-1deg)translate(.05em,.05em)}}& .beautifully{position:relative;& .beautifully-note{width:clamp(300px,45vw,600px);max-width:none;position:absolute;top:1.5em;left:125%;transform:rotate(3deg)translate(-50%)}& .beautifully-note-small{width:250px;max-width:none;display:none;position:absolute;top:1.35em;right:10%;transform:rotate(-2deg)}@media (width<=600px){& .beautifully-note{display:none}& .beautifully-note-small{display:block}}}}.with-arrow{font-size:var(--text-large);white-space:nowrap;align-items:center;gap:.35em;font-family:Inter,sans-serif;font-weight:500;display:inline-flex;&:before{content:"";background:currentColor;flex:none;order:1;width:.9em;min-width:0;height:.7em;mask:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 24\"><path d=\"M1.66797 12H28.3346M28.3346 12L18.3346 2M28.3346 12L18.3346 22\" fill=\"none\" stroke=\"black\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>") 50%/contain no-repeat}}.about-me-short{margin:0 var(--text-padding);background:#fff;border-radius:clamp(16px,2vw,24px);padding:clamp(1rem,3vw,2.5rem) 0;@media (width<=750px){&{background:0 0}}& .columns{gap:calc(1.5*var(--text-padding));margin:0 var(--text-padding);flex-direction:row;display:flex;@media (width<=750px){&{margin:0}}& .column{min-width:0;font-size:var(--text-large);flex:1 1 0}}@media (width<=750px){& .columns{display:inline-block;& .column:not(:last-child){margin-bottom:1em}}}}.projects{padding:0;&>p{font-size:var(--text-large);padding:var(--text-padding)}@media (width>=750px){&{padding:1.25em var(--text-padding)}}}.projects{&>a{color:inherit;cursor:pointer;display:block;&:after,&:before{display:none}}& article{align-items:stretch;gap:calc(2*var(--text-padding));padding:clamp(3rem,4vw,4rem)0 clamp(2.5rem,5vw,5rem)var(--text-padding);cursor:pointer;flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden;box-shadow:inset 0 0 #0000001a;@media (width>=750px){&{background:#eee;border-radius:clamp(1rem,2vw,1.5rem);flex-direction:row;margin-bottom:max(1rem,2vw);padding-bottom:clamp(1rem,3vw,2.5rem)}& .description{margin-right:var(--text-padding)}}& .with-arrow{transition:transform .15s}&:hover{box-shadow:inset 0 0 0 1px #0000000d;& .with-arrow{transform:translate(5px)}}& .description{flex-direction:column;flex:100px;max-width:500px;display:flex;& hgroup{flex-direction:row;align-items:center;gap:clamp(1rem,2vw,1.5rem);margin-bottom:min(6vw,2rem);display:flex;& .icon{border-radius:clamp(10px,1.25vw,14px);width:clamp(40px,5vw,56px);height:clamp(40px,5vw,56px)}& h2{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1em}}& p{max-width:35ch;color:color-mix(in srgb,currentColor 75%,transparent)}& .tags{margin:clamp(1rem,1.5vw,1.5rem) 0}& .achievements{color:color-mix(in srgb,currentColor 50%,transparent);margin:clamp(.75rem,1.25vw,1.25rem) 0 0;font-size:clamp(1rem,1.75vw,1.1rem)}& .link-wrapper{color:color-mix(in srgb,currentColor 75%,transparent);justify-self:self-end;margin-top:auto;padding-top:.5em;line-height:1.25em;display:block;& a{color:inherit;display:inline-flex;&:after{right:calc(1.5*var(--highlight-offset-x));top:0;bottom:0}}}}& .visual{flex:100px;@media (width<=750px){&{flex-direction:column}}& img{object-fit:cover;object-position:left center;min-width:0;height:clamp(350px,40vw,530px);margin:0 0 0 auto;@media (width>=600px){&{object-position:center center;margin:0 auto}}@media (width>=750px){&{object-position:left center;margin:0 0 0 auto}}}}}& .older-work-link{margin-left:clamp(1rem,3vw,2rem)}}article.repper{color:#290965;background:#f1eef6;& .description{& hgroup{gap:clamp(.85rem,1.5vw,1.25rem)}& h2{font-family:Athletics,sans-serif;font-weight:600;font-size:clamp(2rem,3.5vw,2.75rem)!important}}& .visual img{border-radius:.75rem 0 0 .75rem;@media (width>=600px) and (width<=750px){&{border-radius:.75rem}}}}article.secret-signs{color:#e9eaea;background:#1d3143;& h2{text-transform:uppercase;letter-spacing:.02em;font-family:Rubik,sans-serif}}article.plinto{color:#1a1a1a;background:#fff;& h2{font-family:Inter,sans-serif;font-weight:600}& .requires-password{font-size:var(--text-very-small);color:var(--light-text-color);font-weight:400;line-height:1em;display:block}& .visual img{border:1px solid #00000014;border-radius:.75rem 0 0 .75rem;@media (width>=600px) and (width<=750px){&{border-radius:.75rem}}}}article.humani{color:#fff;background:#18145f;padding-bottom:0;& .link-wrapper{margin-bottom:clamp(1rem,3vw,2.5rem)}& h2 img{height:clamp(1.5rem,3vw,2.25rem)}& .visual img{object-position:left top}}article.finematter{color:#333;background:#f4f1ea;padding-bottom:0;& .description{& h2 img{height:clamp(1rem,2vw,1.4rem)}& .link-wrapper{margin-bottom:clamp(1rem,3vw,2.5rem)}}& .visual img{object-position:left top;border-top-left-radius:1.5vw}}.contact{width:100%;max-width:500px;padding:0 var(--text-padding);text-align:center;margin:clamp(3rem,4vw,6rem) auto;& p{font-size:var(--text-medium);margin:.5em 0 1.5em}& .email-address-link{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--border-color);-webkit-text-decoration-color:var(--border-color);text-decoration-color:var(--border-color);text-decoration-skip-ink:auto;&:hover{text-decoration-color:#0000}}& .contact-button{color:var(--default-text-color);font-size:var(--text-medium);border:1.5px solid var(--border-color);border-radius:.5em;padding:.5em 1em;display:inline-block;&:hover{border-color:#0000}}& ul{margin:clamp(1rem,2vw,3rem) 0 0;padding:0;& li{font-size:var(--text-small);opacity:.6;border-radius:.5em;padding:.5em;display:inline-block;&:hover{opacity:1}}}}.projects,.more-projects{margin-bottom:3rem;& .section-title{margin:1.5em 0}}@media (width<=750px){.projects{& .section-title{margin:1.5em var(--text-padding)1em}}.more-projects{margin:0 clamp(0rem,100% - 500px,1rem)}}.project-grid{columns:1;column-gap:min(var(--text-padding),2rem);@media screen and (width>=750px){&{columns:2}}&>*{break-inside:avoid;margin-bottom:min(var(--text-padding),2rem)}& .project-card{border-radius:clamp(.75rem,1.5vw,1.5rem);overflow:hidden;box-shadow:0 1rem 2rem #0000000d}& .project-info{background:#fff;padding:clamp(1rem,2vw,2rem);& h3{font-size:var(--text-large);line-height:1.5em}& a{text-underline-offset:.25em;text-decoration:underline;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--border-color);-webkit-text-decoration-color:var(--border-color);text-decoration-color:var(--border-color);&:hover{text-decoration-color:#0000}}& .project-description-short{font-size:var(--text-small);color:var(--light-text-color)}& .project-impact{font-size:var(--text-medium);color:var(--default-text-color);margin:.75rem 0;padding:0;list-style-type:none;& li{&:not(:last-child){margin-bottom:.25em}}}& .tags{margin:clamp(1rem,1.5vw,1.5rem) 0 0}}}.project-page{--project-bg:#1b2530;--project-hover-bg:#00000008;--project-text:var(--default-text-color);--project-accent:#2255e3;--project-card-bg:#233242;--project-border:color-mix(in srgb,var(--project-text)15%,transparent);--project-muted:color-mix(in srgb,var(--project-text)60%,transparent);--project-subtle:color-mix(in srgb,var(--project-text)45%,transparent);--project-heading-font:Inter,sans-serif;--project-body-font:Inter,sans-serif;background:var(--project-bg);color:var(--project-text);font-family:var(--project-body-font);& a{color:var(--project-text)}}body.project-page{& header{background-color:var(--project-bg)}& nav ul a{color:var(--project-subtle);&:hover{color:var(--project-text)}}& .text-body{font-size:var(--text-large);color:var(--project-text);font-weight:500}& .contact{color:var(--project-text);& .contact-button{color:var(--project-text);border-color:var(--project-border);transition:all .2s;&:hover{border-color:#0000}}& .email-address-link{-webkit-text-decoration-color:var(--project-border);-webkit-text-decoration-color:var(--project-border);text-decoration-color:var(--project-border)}& ul li{color:var(--project-text);opacity:1;& a{color:var(--project-muted);&:hover{color:var(--project-text)}}}}}.project-page.secret-signs{--project-bg:#1b2530;--project-text:#e9eaea;--project-accent:#f7c948;--project-heading-font:"Rubik",sans-serif;--project-body-font:"Barlow",Inter,sans-serif;font-weight:500}html:has(body.secret-signs){background-color:#1b2530}.project-page.repper{--project-bg:#f2f2f2;--project-text:#1a1a1a;--project-accent:#6b3df2;--project-card-bg:#fff;--project-heading-font:"Athletics","Karla",sans-serif;--project-body-font:"Karla",sans-serif;& .project-hero hgroup h1{text-transform:none;letter-spacing:0}}html:has(body.repper){background-color:#f2f2f2}.project-page.plinto{--project-bg:#f4f3f3;--project-text:#1a1a1a;--project-accent:#6b6b6b;--project-card-bg:#f5f5f5;--project-heading-font:"Inter",sans-serif;--project-body-font:"Inter",sans-serif;& .text-body{font-weight:400}& .project-hero hgroup h1{text-transform:none;letter-spacing:0}}html:has(body.plinto){background-color:#f4f3f3}.project-hero{padding:clamp(2.5rem,5vw,5rem)var(--text-padding);--hero-icon-size:clamp(48px,6vw,72px);--hero-icon-gap:clamp(1rem,2vw,1.5rem);--hero-indent:calc(var(--hero-icon-size) + var(--hero-icon-gap));& hgroup{align-items:center;gap:var(--hero-icon-gap);flex-direction:row;margin-bottom:.75rem;display:flex;& .icon{width:var(--hero-icon-size);height:var(--hero-icon-size);border-radius:clamp(12px,1.5vw,18px);flex-shrink:0}& h1{font-family:var(--project-heading-font);text-transform:uppercase;letter-spacing:.02em;white-space:normal;color:var(--project-text);font-size:clamp(2rem,2.5vw,3rem);font-weight:700;line-height:1em}}& .project-description,& .fact-grid{padding-left:var(--hero-indent);@media (width<=600px){&{padding-left:0}}}& .project-description{font-size:var(--text-large);color:var(--project-muted);max-width:75ch;margin-bottom:clamp(1.5rem,3vw,2.5rem);line-height:1.4em}& .project-link{font-size:var(--text-medium);color:var(--project-text);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--project-border);-webkit-text-decoration-color:var(--project-border);text-decoration-color:var(--project-border);margin-top:.5rem;display:inline-block;&:hover{text-decoration-color:#0000}&:after{inset:-.2rem -.6rem}}}.fact-grid{flex-flow:wrap;gap:clamp(.4rem,.75vw,.6rem) clamp(3rem,6vw,6rem);display:flex;@media (width<=600px){&{flex-direction:column}}}.fact-col{grid-template-columns:auto 1fr;align-content:start;align-items:baseline;gap:clamp(.4rem,.75vw,.6rem) clamp(.5rem,4vw,1.5rem);display:grid;& dt{font-size:var(--text-small);color:var(--project-subtle);white-space:nowrap;width:6em}& dd{font-size:var(--text-small);color:var(--project-text);max-width:45ch;line-height:1.4em}}.project-section{padding:clamp(2rem,2.5vw,3rem)var(--text-padding);flex-direction:column;gap:clamp(1rem,2vw,2rem);display:flex}.project-page.plinto .project-section--boxed{margin:0 var(--text-padding);background:#fff;border-radius:16px;margin-bottom:clamp(1.5rem,3vw,2.5rem);padding:clamp(1.5rem,3vw,2.5rem);&>*{max-width:900px;margin:0 auto}}.media-embed{aspect-ratio:16/9;background:var(--project-card-bg);border-radius:clamp(.75rem,1.5vw,1.5rem);width:100%;position:relative;overflow:hidden;& iframe,& video{object-fit:cover;border:none;width:100%;height:100%;position:absolute;inset:0}}.video-facade{cursor:pointer;background:var(--project-card-bg);border:none;width:100%;height:100%;padding:0;position:absolute;inset:0;& img{object-fit:cover;width:100%;height:100%;display:block}& .video-facade__play{backdrop-filter:blur(4px);background:#000000a6;border-radius:50%;width:clamp(4.5rem,8vw,6rem);height:clamp(4.5rem,8vw,6rem);transition:background .2s,transform .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);&:after{content:"";border:1em solid #0000;border-left:1.6em solid #fff;border-right-width:0;position:absolute;top:50%;left:54%;transform:translate(-50%,-50%)}}&:hover .video-facade__play{background:#000000e6;transform:translate(-50%,-50%)scale(1.06)}}.bento-grid{grid-template-columns:1fr;gap:clamp(1rem,2vw,2rem);display:grid;@media (width>=800px){&{grid-template-columns:3fr 2fr}}}.bento-cell{background:var(--project-card-bg);border-radius:clamp(1rem,2vw,1.5rem);padding:clamp(1.25rem,2.5vw,2.5rem);overflow:hidden}.bento-cell--no-pad{padding:0}.bento-cell--wide{@media (width>=600px){&{grid-column:span 2}}}.bento-grid--stats{grid-template:"cards""gotd""quote"/1fr;@media (width>=800px){&{grid-template:"cards gotd""cards quote"/1fr 1fr}}}.bento-cell--gotd{grid-area:gotd}.bento-cell--cards{grid-area:cards;position:relative}.bento-cell--quote{grid-area:quote;padding:2em;& p{line-height:135%}& footer{font-size:var(--text-medium);color:var(--project-muted);margin-top:.75rem;font-style:normal}}.bento-cell--gotd img{width:100%;height:auto;display:block}.bento-cell--cards img{object-fit:contain;width:100%;height:100%;inset:0;@media (width>=800px){&{position:absolute}}}.usecase-layout{grid-template-columns:1fr;gap:clamp(1rem,2vw,2rem);display:grid;@media (width>=800px){&{grid-template-columns:1fr 1fr;align-items:start}}}.usecase-intro{& p{font-size:var(--text-medium);color:var(--project-muted);line-height:1.6em}}.usecase-diagram{border-radius:clamp(.5rem,1vw,.75rem);width:100%;margin-top:clamp(1rem,2vw,1.5rem);padding:clamp(1.5rem,3vw,3rem)}.usecase-grid{flex-direction:row;gap:clamp(.75rem,1.5vw,1.5rem);display:flex}.usecase-col{flex-direction:column;flex:1 1 0;gap:clamp(.75rem,1.5vw,1.5rem);display:flex}.usecase-item{background:var(--project-card-bg);border-radius:clamp(.75rem,1.5vw,1.25rem);flex:auto;min-height:0;position:relative;overflow:hidden;& img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}}.star-rating-img{width:clamp(8rem,16vw,18rem);display:block}.star-rating{letter-spacing:.05em;color:var(--project-accent);font-size:clamp(1.25rem,2.5vw,1.75rem);line-height:1em}.stats-strip{flex-direction:column;gap:clamp(1rem,1.5vw,1.5rem);display:flex;@media (width>=600px){&{flex-direction:row}}}.stat-card{background:var(--project-card-bg);text-align:center;border-radius:clamp(.75rem,1.5vw,1.5rem);flex-direction:column;justify-content:center;align-items:center;gap:.4em;padding:clamp(1.25rem,2.5vw,2rem);display:flex;@media (width>=600px){&{flex:1 1 0}}}.stat-stars{width:clamp(7rem,12vw,10rem);margin-bottom:.25em;display:block}.stat-headline{font-family:var(--project-heading-font);font-size:var(--text-large);color:var(--project-text);white-space:normal;font-weight:500;line-height:1.2em}.stat-secondary{font-size:var(--text-medium);color:var(--project-muted);white-space:normal;line-height:1em}.stat-gotd-row{align-items:center;gap:clamp(.5rem,1vw,.75rem);display:flex}.stat-laurel{opacity:.5;flex-shrink:0;width:auto;height:clamp(2rem,4vw,3rem)}.stat-laurel--flip{transform:scaleX(-1)}.feature-steps-grid{grid-template-columns:repeat(2,1fr);gap:clamp(.75rem,1.5vw,1.5rem);display:grid;@media (width>=750px){&{grid-template-columns:repeat(4,1fr)}}}.feature-cell{background:var(--project-card-bg);border-radius:clamp(.5rem,1vw,1rem);overflow:hidden;& img{aspect-ratio:3/4;object-fit:cover;width:100%}& p{font-size:var(--text-small);color:var(--project-muted);white-space:normal;padding:clamp(.75rem,1.25vw,1rem);font-style:italic}}.reviews-grid{grid-template-columns:1fr;gap:clamp(.75rem,1.5vw,1.5rem);display:grid;@media (width>=600px){&{grid-template-columns:repeat(3,1fr)}}}.review-card{background:var(--project-card-bg);border-radius:clamp(.75rem,1.5vw,1.5rem);padding:clamp(1rem,2vw,1.75rem);& .star-rating{font-size:var(--text-medium);margin-bottom:clamp(.25rem,1vw,1.5rem)}& h3{font-family:var(--project-heading-font);font-size:var(--text-medium);color:var(--project-text);margin-bottom:clamp(.25rem,.25vw,.75rem);font-weight:500}& p{font-size:var(--text-medium);color:var(--project-muted)}}.reflections-section{color:var(--project-text);padding:clamp(1rem,2vw,2rem)var(--text-padding);&>h2{font-size:var(--text-very-large);color:var(--project-muted);margin-bottom:clamp(.75rem,1.5vw,1rem);margin-left:clamp(1.5rem,2.5vw,2rem);font-weight:600}}.reflections-heading{font-family:var(--project-heading-font);color:var(--project-subtle);padding:clamp(2rem,4vw,4rem)var(--text-padding)0;margin:0}.reflections-grid{flex-direction:column;gap:clamp(1rem,2vw,2rem);display:flex;@media (width>=750px){&{flex-direction:row;align-items:flex-start}}}.reflection-item{border-radius:clamp(1rem,2vw,1.5rem);padding:clamp(1.5rem,2.5vw,2.5rem);overflow:hidden;@media (width>=750px){&{flex:1 1 0}}& h3{font-family:var(--project-heading-font);font-size:var(--text-large);color:var(--project-text);white-space:normal;margin-bottom:.65em;font-weight:500;line-height:1.3em}& .reflection-subheading{font-style:italic;font-size:var(--text-medium);color:var(--project-muted);white-space:normal;margin-bottom:.9em}& p{font-size:var(--text-medium);color:var(--project-muted);white-space:normal;margin-bottom:.9em;line-height:1.6em;&:last-child{margin-bottom:0}}& ul{font-size:var(--text-medium);color:var(--project-muted);margin:.35em 0 .9em 1.25em;line-height:1.6em;& li{margin-bottom:.2em}}}.reflection-tabs{padding:clamp(2rem,3vw,3rem)var(--text-padding);grid-template-columns:1fr;grid-template-areas:"heading""lead""tabs""panel";align-items:start;gap:clamp(.75rem,1.5vw,1.25rem) clamp(1.5rem,3vw,3rem);display:grid;@media (width>=750px){&{grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);grid-template-areas:"heading tabs""lead panel"}}}.project-title,.reflection-tabs__heading{font-family:var(--project-heading-font);font-size:var(--text-large);color:var(--project-text);white-space:normal;font-weight:700;line-height:1.3em}.project-title{margin-bottom:.65em}.reflection-tabs__heading,.reflection-tabs__heading-group{grid-area:heading;align-self:center}.reflection-tabs__eyebrow{font-family:var(--project-heading-font);font-size:var(--text-tag);text-transform:uppercase;letter-spacing:.08em;color:var(--project-muted);margin-bottom:.4em;font-weight:600}.reflection-tabs__lead{font-size:var(--text-medium);color:var(--project-text);white-space:normal;grid-area:lead;margin-bottom:.75rem;line-height:1.6em;& p{font-size:inherit;margin:0;&+&{margin-top:.9em}}& .reflection-subtitle{margin-top:1.2em;margin-bottom:.4em;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:600}}.reflection-panel{grid-area:panel}.reflection-tabbar{flex-wrap:wrap;grid-area:tabs;align-self:center;gap:.5rem;display:flex}.reflection-tab{border:1.5px solid var(--project-border);color:var(--project-muted);font:inherit;font-size:var(--text-very-small);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:.2em .8em;font-weight:500;transition:color .2s,border-color .2s;&:hover{color:var(--project-text);background-color:var(--project-hover-bg)}&[aria-selected=true]{border-color:var(--project-text);color:var(--project-text)}}.reflection-panel__body{font-size:var(--text-small);color:var(--project-muted);white-space:normal;padding-bottom:clamp(.75rem,1.5vw,1.5rem);line-height:1.6em;& strong{color:var(--project-text);font-weight:600}& .reflection-panel__title{color:var(--project-text);font-weight:500}}.reflection-panel__media{border:1px solid var(--border-color-muted);border-radius:clamp(.35rem,1vw,1rem);overflow:hidden;& img,& video{width:100%;height:auto;display:block}}.about-me-section{padding:var(--text-padding);margin:0 var(--text-padding);background:#fff;border-radius:clamp(16px,2vw,24px);flex-flow:row;align-items:flex-start;gap:clamp(2rem,3vw,3rem);display:flex;@media (width<=750px){&{background:0 0;flex-flow:column wrap;margin:0}}& .writing{flex:1.5 100px;margin:clamp(.25rem,.75vw,.75rem) 0 0;& h2{font-size:var(--text-very-large);margin-bottom:.5rem}& p{font-size:var(--text-medium);max-width:55ch;margin-bottom:1rem}}& .description{margin-bottom:clamp(2rem,2vw,3rem)}& .roles-container{grid-template:"current-roles""previous-roles""education-roles"/1fr;gap:clamp(1.5rem,3vw,3rem);display:grid;@media (width>=1100px){&{grid-template:"current-roles previous-roles""education-roles previous-roles"1fr/1fr 1fr;align-items:start;gap:clamp(.5rem,1vw,1rem) clamp(1.5rem,3vw,3rem)}}}& #previous-roles{grid-area:previous-roles}& #current-roles{grid-area:current-roles}& #education-roles{grid-area:education-roles}& ul.roles-list{flex-flow:wrap;gap:clamp(.5rem,1vw,1rem);max-width:375px;margin:clamp(.5rem,1vw,1rem) 0;padding:0;display:flex;& li{width:100%;list-style-type:none;& .role{font-size:var(--text-medium);color:var(--default-text-color);margin-bottom:.25em;font-weight:400;line-height:1.25em}& .details{flex-flow:wrap;justify-content:flex-start;align-items:baseline;gap:0 .3em;line-height:1.35em;display:flex}& .period,& .org{font-size:var(--text-small);color:var(--light-text-color);font-variant-numeric:tabular-nums;flex:none;font-weight:400}& .period{font-size:1em;font-weight:500}& .org:after{content:","}& .role{flex:auto}}}& .portrait-container{aspect-ratio:2/3;flex:100px;width:100%;min-width:200px;max-width:400px;margin:clamp(0rem,2vw,2rem) auto;@media (width<=750px){&{aspect-ratio:1;width:100%;max-width:450px}}& .portrait-wrapper{background:#ddd;border-radius:clamp(10px,1.25vw,14px);height:100%;position:relative;& .portrait{object-fit:cover;object-position:center 10%;border-radius:clamp(10px,1.25vw,14px);width:100%;height:100%;transition:opacity .3s;position:relative}&:after{content:"";border-radius:inherit;border-radius:clamp(10px,1.25vw,14px);position:absolute;inset:0;box-shadow:inset 0 0 1.5px #00000040}}& .portrait-buttons{z-index:2;flex-flow:wrap;justify-content:center;align-items:center;gap:clamp(.5rem,.75vw,.65rem);display:flex;position:absolute;bottom:1rem;left:0;right:0}& .portrait-button{color:#ffffffa6;backdrop-filter:blur(40px);white-space:nowrap;cursor:pointer;z-index:2;background:#0000004d;border:none;border-radius:.75rem;padding:clamp(.5rem,.75vw,.65rem) clamp(1rem,1.5vw,1.25rem);font-size:clamp(.8rem,1.5vw,.9rem);box-shadow:inset 0 0 1px #ffffffbf;&:hover{color:#ffffffe6;background:#00000040}}}}.loading-spinner{z-index:2;border:3px solid #ffffff4d;border-top-color:#fffc;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}#plinto-gate{z-index:2000;padding:var(--text-padding);color:#1a1a1a;background:#fff;justify-content:center;align-items:center;font-family:Inter,sans-serif;display:flex;position:fixed;inset:0}.plinto-unlocked #plinto-gate{display:none}.plinto-gate__card{text-align:center;flex-direction:column;gap:1rem;width:100%;max-width:24rem;display:flex}.plinto-gate__card h2{margin:0;font-size:1.5rem;font-weight:600}.plinto-gate__card p{color:#6b6b6b;margin:0;font-size:.95rem;font-weight:400;line-height:1.5}.plinto-gate__card input{font:inherit;color:#1a1a1a;background:#fff;border:1.5px solid #d4d4d4;border-radius:.5em;padding:.65em .9em;font-size:1rem}.plinto-gate__card input:focus{border-color:#1a1a1a;outline:none}.plinto-gate__card button{font:inherit;color:#fff;cursor:pointer;background:#1a1a1a;border:1.5px solid #1a1a1a;border-radius:.5em;padding:.65em 1em;font-size:1rem;font-weight:500}.plinto-gate__card button:hover{background:#333;border-color:#333}.plinto-gate__error{color:#c0392b!important}
/*# sourceMappingURL=about.55494131.css.map */
