*{box-sizing:border-box}html{scroll-behavior:auto}body{background:#9abbdb;font-family:Inter,sans-serif;margin:0;min-width:20rem;overflow-x:hidden;--hero-padding-top:clamp(1.1rem,2vw,2rem);--hero-padding-inline:clamp(1.2rem,3.5vw,4rem);--hero-padding-bottom:clamp(1.3rem,2.5vw,2.5rem)}@media(max-width:48rem){body{--hero-padding-top:clamp(1rem,4vw,1.5rem)}}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid currentcolor;outline-offset:4px}.visually-hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background:#fff;font-weight:700;left:1rem;padding:.7rem 1rem;position:fixed;top:1rem;transform:translateY(-160%);z-index:100}.skip-link:focus{transform:translateY(0)}.circle{background:#f5f4f0;border-radius:50%;height:120vmax;transform:translate(30vw,calc(100svh/2 - 60vmax));width:120vmax;will-change:transform,width,height}.box,.circle{left:0;pointer-events:none;position:absolute;top:0;transform-origin:center;z-index:1}.box{--box-overlay-opacity:1;background:hsla(45,29%,97%,.961);overflow:hidden;visibility:hidden;will-change:transform,width,height,border-radius}.box:before{background:linear-gradient(122deg,hsla(0,0%,100%,.96),hsla(45,20%,96%,.91)),#f7f6f3;content:"";inset:0;opacity:var(--box-overlay-opacity);position:absolute}.has-scroll-animation .box{visibility:visible}.has-scroll-animation .about__portrait-card,.has-scroll-animation .contact__panel,.has-scroll-animation .hero__slide,.has-scroll-animation .projects__stack,.has-scroll-animation .skills__title-band{background:transparent;box-shadow:none}.has-scroll-animation .contact{background:transparent}.has-scroll-animation .contact:before{display:none}.presentation{height:100svh;isolation:isolate;overflow:hidden;position:relative}.presentation .section{height:100svh;inset:0;min-height:0;position:absolute;width:100%}html:not(.has-scroll-animation) .presentation{height:auto;overflow:visible}html:not(.has-scroll-animation) .section{color:#111318;height:auto;inset:auto;min-height:0;overflow:visible;overflow-wrap:anywhere;padding:4rem 6%;pointer-events:auto;position:relative}html:not(.has-scroll-animation) .box,html:not(.has-scroll-animation) .circle,html:not(.has-scroll-animation) .contact:before,html:not(.has-scroll-animation) .projects__detail-stage{display:none}html:not(.has-scroll-animation) .site-header{grid-template-rows:auto;height:auto;letter-spacing:0;padding:1.5rem 6%;position:relative}html:not(.has-scroll-animation) .hero{padding-top:1rem}html:not(.has-scroll-animation) .hero__screen{height:auto;padding:0}html:not(.has-scroll-animation) .hero__screen:before{display:none}html:not(.has-scroll-animation) .hero__slide{border-radius:0;height:auto;margin:0;min-height:65svh;padding:3rem 1rem}html:not(.has-scroll-animation) .hero__copy{max-width:55rem;width:100%}html:not(.has-scroll-animation) .hero h1{font-size:4rem;line-height:1}html:not(.has-scroll-animation) .hero__eyebrow,html:not(.has-scroll-animation) .hero__role{font-size:.875rem;letter-spacing:0}html:not(.has-scroll-animation) .about__content,html:not(.has-scroll-animation) .about__portrait-card,html:not(.has-scroll-animation) .projects__content,html:not(.has-scroll-animation) .projects__detail,html:not(.has-scroll-animation) .projects__image,html:not(.has-scroll-animation) .skills__grid,html:not(.has-scroll-animation) .skills__title-band{height:auto;inset:auto;margin:0;position:static;transform:none;visibility:visible;width:100%}html:not(.has-scroll-animation) .skills__title-band{box-shadow:none;margin-bottom:3rem;min-height:0;place-items:start}html:not(.has-scroll-animation) .about__title,html:not(.has-scroll-animation) .projects__title,html:not(.has-scroll-animation) .skills__title-band h2{color:#111318;filter:none;font-size:2.5rem;line-height:1.15}html:not(.has-scroll-animation) .skills-item:nth-child(2n){transform:none}html:not(.has-scroll-animation) .about__copy h3,html:not(.has-scroll-animation) .skills-item h3{font-size:1.25rem}html:not(.has-scroll-animation) .about__copy p,html:not(.has-scroll-animation) .skills-item p{font-size:1rem;line-height:1.6}html:not(.has-scroll-animation) .about{align-items:center;background:#e4e9ee;display:grid;gap:3rem;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}html:not(.has-scroll-animation) .about__portrait-card{aspect-ratio:4/5;max-width:26rem}html:not(.has-scroll-animation) .about__content{padding:0}html:not(.has-scroll-animation) .projects{align-items:center;background:#f8f8f7;display:grid;gap:3rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}html:not(.has-scroll-animation) .projects__content{grid-column:1/-1}html:not(.has-scroll-animation) .projects__copy{border-color:currentcolor}html:not(.has-scroll-animation) .projects__stack{display:contents}html:not(.has-scroll-animation) .projects__image{border-radius:8px;grid-column:1;max-width:28rem;padding:0}html:not(.has-scroll-animation) .projects__detail{grid-column:2;padding-block:1rem}html:not(.has-scroll-animation) .projects__detail h3{font-size:2rem}html:not(.has-scroll-animation) .projects__detail:first-of-type,html:not(.has-scroll-animation) .projects__image:first-child{grid-row:2}html:not(.has-scroll-animation) .projects__detail:nth-of-type(2),html:not(.has-scroll-animation) .projects__image:nth-child(2){grid-row:3}html:not(.has-scroll-animation) .projects__detail:nth-of-type(3),html:not(.has-scroll-animation) .projects__image:nth-child(3){grid-row:4}html:not(.has-scroll-animation) .projects__detail:nth-of-type(4),html:not(.has-scroll-animation) .projects__image:nth-child(4){grid-row:5}html:not(.has-scroll-animation) .contact__panel{max-height:none;min-height:0;overflow:visible;pointer-events:auto}@media(max-width:48rem){html:not(.has-scroll-animation) .hero h1{font-size:2.5rem}html:not(.has-scroll-animation) .about,html:not(.has-scroll-animation) .projects,html:not(.has-scroll-animation) .skills__grid{grid-template-columns:minmax(0,1fr)}html:not(.has-scroll-animation) .projects__detail{grid-column:1}html:not(.has-scroll-animation) .projects__image:first-child{grid-row:2}html:not(.has-scroll-animation) .projects__detail:first-of-type{grid-row:3}html:not(.has-scroll-animation) .projects__image:nth-child(2){grid-row:4}html:not(.has-scroll-animation) .projects__detail:nth-of-type(2){grid-row:5}html:not(.has-scroll-animation) .projects__image:nth-child(3){grid-row:6}html:not(.has-scroll-animation) .projects__detail:nth-of-type(3){grid-row:7}html:not(.has-scroll-animation) .projects__image:nth-child(4){grid-row:8}html:not(.has-scroll-animation) .projects__detail:nth-of-type(4){grid-row:9}}.site-header{align-items:center;color:rgba(13,22,31,.631);display:grid;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(.68rem,.7vw,.68rem);font-weight:700;grid-template-columns:1fr auto 1fr;grid-template-rows:8% 1fr;height:100svh;left:0;letter-spacing:.34em;padding:var(--hero-padding-top) var(--hero-padding-inline) var(--hero-padding-bottom);pointer-events:none;position:fixed;text-transform:uppercase;top:0;width:100%;z-index:10}@media(max-width:48rem){.site-header{grid-template-columns:1fr 1fr}}.site-header__logo{display:flex;justify-self:start}.site-header__logo svg{color:#191919;display:block;height:auto;width:100%}.site-header__logo-circle{color:#f5f4f0}.site-header__role{margin:0}@media(max-width:48rem){.site-header__role{display:none}}.site-header__contact{justify-self:end;letter-spacing:.08em;pointer-events:auto}.site-header__contact:hover{text-decoration:underline}.hero{min-height:100svh;overflow:hidden;position:relative}.hero__screen{height:100svh;padding:var(--hero-padding-top) var(--hero-padding-inline) var(--hero-padding-bottom);position:relative;width:100%;z-index:2}.hero__screen:before{content:"";display:block;height:8%}.hero__slide{background:linear-gradient(122deg,hsla(0,0%,100%,.96),hsla(45,20%,96%,.91)),#f7f6f3;border-radius:clamp(1.6rem,4vw,4.5rem) 0 0 clamp(1.6rem,4vw,4.5rem);box-shadow:inset 0 1px 0 #fff,0 1.8rem 3.2rem rgba(39,64,83,.2);display:grid;height:78%;margin-right:calc(clamp(1.2rem,3.5vw,4rem)*-1);margin-top:1.4%;overflow:hidden;place-items:center;position:relative}.hero__copy{position:relative;width:78%;z-index:2}@media(max-width:48rem){.hero__copy{width:76%}}.hero__eyebrow{color:#356f98;font-size:clamp(.5rem,.78vw,.72rem);letter-spacing:.28em;margin:0 0 clamp(.65rem,1.5vw,1.4rem)}.hero h1,.hero__eyebrow{font-weight:700;text-transform:uppercase}.hero h1{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(3rem,8.4vw,8.5rem);letter-spacing:0;line-height:.76;margin:0}@media(max-width:48rem){.hero h1{font-size:clamp(3rem,12.7vw,5rem)}}.hero__name-line{display:block}.hero__name-line--outline{margin-left:10%;-webkit-text-stroke:1px #111318;color:transparent}.hero__role{color:#6d7277;font-size:clamp(.63rem,1vw,.98rem);font-weight:600;letter-spacing:.28em;margin:clamp(1rem,2vw,1.8rem) 0 0 11%;text-transform:uppercase}@media(max-width:48rem){.hero__role{letter-spacing:.16em}}.skills{min-height:100svh;overflow:hidden;padding:clamp(1.4rem,2.5vw,2.5rem) clamp(1.25rem,5vw,5rem) 0;position:relative}@media(max-width:48rem){.skills{min-height:100svh;padding:1.4rem 1.2rem 0}}@media(max-width:48rem)and (max-height:40rem){.skills{padding-top:1rem}}.skills__grid{align-items:start;display:grid;gap:clamp(1rem,3vw,3.5rem);grid-template-columns:repeat(4,minmax(0,1fr));left:clamp(1.25rem,5vw,5rem);margin:0 auto;max-width:80rem;position:absolute;right:clamp(1.25rem,5vw,5rem);top:50%;transform:translateY(-50%);z-index:2}@media(max-width:48rem){.skills__grid{gap:3rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr));left:1.2rem;right:1.2rem}}@media(max-width:48rem)and (max-height:40rem){.skills__grid{gap:1.5rem .75rem}}.skills-item{text-align:center}.skills-item:nth-child(2n){transform:translateY(1.75rem)}@media(max-width:48rem){.skills-item:nth-child(2n){transform:none}}.skills-item__icon{aspect-ratio:1;background-color:hsla(0,0%,100%,.75);border:clamp(.3rem,.5vw,.5rem) solid hsla(0,0%,100%,.75);border-radius:50%;box-shadow:0 1.2rem 2.6rem rgba(47,76,98,.16);display:block;height:100%;margin:0 auto clamp(1rem,1.8vw,1.5rem);object-fit:cover;padding:20px;width:min(13.5vw,10rem)}@media(max-width:48rem){.skills-item__icon{width:min(35vw,9rem)}}@media(max-width:48rem)and (max-height:40rem){.skills-item__icon{border-width:.25rem;margin-bottom:.45rem;width:min(25vw,5.5rem)}}.skills-item__icon svg{color:#191919;display:block;height:auto;width:100%}.skills-item h3{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1rem,1.65vw,1.55rem);font-weight:700;letter-spacing:0;margin:0 0 .55rem}@media(max-width:48rem){.skills-item h3{font-size:clamp(.9rem,4vw,1.1rem)}}@media(max-width:48rem)and (max-height:40rem){.skills-item h3{font-size:.72rem;margin-bottom:.25rem}}.skills-item p{color:#696f73;font-size:clamp(.68rem,.9vw,.86rem);line-height:1.45;margin:0 auto;max-width:14rem}@media(max-width:48rem){.skills-item p{font-size:.68rem}}@media(max-width:48rem)and (max-height:40rem){.skills-item p{font-size:.55rem;line-height:1.25;max-width:8rem}}.skills__title-band{border-radius:30px;bottom:clamp(1rem,4vh,2.5rem);box-shadow:0 -1.5rem 3rem rgba(63,80,93,.12);display:grid;left:clamp(1rem,5vw,5rem);min-height:clamp(8rem,21vh,12rem);place-items:center;position:absolute;right:clamp(1rem,5vw,5rem);transform:rotate(1.1deg) scale(1.02);z-index:4}@media(max-width:48rem){.skills__title-band{bottom:1rem;left:1rem;margin:0;min-height:clamp(5.5rem,18vh,8rem);position:absolute;right:1rem;transform:rotate(1deg) scale(1.02);width:auto}}@media(max-width:48rem)and (max-height:40rem){.skills__title-band{min-height:4.75rem}}.skills__title-band h2{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(3.4rem,5vw,5.2rem);font-weight:700;letter-spacing:0;line-height:.9;margin:0;text-transform:uppercase}@media(max-width:48rem){.skills__title-band h2{font-size:clamp(3.2rem,5vw,4.8rem)}}@media(max-width:48rem)and (max-height:40rem){.skills__title-band h2{font-size:clamp(2.8rem,15vw,3.6rem)}}.about{--about-bottom-offset:25svh;color:#111318;min-height:100svh;overflow:hidden;position:relative}@media(max-width:48rem){.about{padding:1.25rem}}.about__portrait-card{aspect-ratio:4/5;border-radius:clamp(2rem,3.5vw,3.5rem);bottom:var(--about-bottom-offset);box-shadow:0 1.8rem 3.5rem rgba(47,76,98,.18);left:8.5%;padding:clamp(.5rem,1vw,1rem);position:absolute;width:min(29vw,26rem);z-index:4}@media(max-width:48rem){.about__portrait-card{border-radius:2rem;bottom:auto;left:calc(50% - min(27.5vw,7rem));padding:.75rem;top:8%;width:min(55vw,14rem)}}.about__portrait{border-radius:clamp(1.4rem,2.6vw,2.6rem);display:block;height:100%;object-fit:cover;object-position:center 35%;width:100%}@media(max-width:48rem){.about__portrait{border-radius:1.4rem}}.about__content{display:flex;flex-direction:column;height:100svh;justify-content:flex-end;margin-left:auto;padding:0 clamp(2rem,5vw,5rem) var(--about-bottom-offset) clamp(1.5rem,3vw,3rem);position:relative;width:60%;z-index:4}@media(max-width:48rem){.about__content{height:100svh;justify-content:flex-start;padding:55vh .2rem 2rem;width:100%}}.about__title{color:#fff;filter:drop-shadow(2px 4px 6px rgba(0,0,0,.2));font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(3.4rem,5vw,5.2rem);font-weight:700;letter-spacing:0;line-height:.9;margin:0 0 clamp(1rem,2vh,1.6rem);text-transform:uppercase}@media(max-width:48rem){.about__title{font-size:clamp(3.2rem,5vw,4.8rem);margin-bottom:.8rem;text-align:center}}@media(max-width:48rem)and (max-height:40rem){.about__title{font-size:clamp(2.8rem,15vw,3.6rem)}}.about__copy{max-width:35rem}@media(max-width:48rem){.about__copy{margin:0 auto;max-width:24rem;text-align:center}}.about__copy h3{font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.4rem,2vw,2rem);letter-spacing:0;margin:0 0 .65rem}@media(max-width:48rem){.about__copy h3{font-size:1.2rem}}.about__copy p{font-size:clamp(.86rem,1.1vw,1.05rem);line-height:1.55;margin:0}@media(max-width:48rem){.about__copy p{font-size:clamp(.72rem,3.4vw,.9rem);line-height:1.45}}.projects{color:#111318;pointer-events:none}.projects__content{bottom:22%;left:8.5%;position:absolute;width:42%;z-index:4}@media(max-width:48rem){.projects__content{bottom:auto;left:7%;top:18%;width:86%}}@media(max-height:42rem)and (max-width:48rem){.projects__content{top:16%}}.projects__title{color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:4.5rem;font-weight:800;letter-spacing:0;line-height:1.05;margin:0 0 1.5rem;text-transform:uppercase}@media(min-width:48.01rem)and (max-width:64rem){.projects__title{font-size:3.25rem}}@media(max-width:48rem){.projects__title{font-size:2.5rem;margin-bottom:1rem}}@media(max-height:42rem)and (max-width:48rem){.projects__title{font-size:2rem}}.projects__copy{border-top:1px solid #fff;max-width:28rem;padding-top:.85rem}.projects__copy h3{font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;margin:0 0 .65rem}.projects__copy p{font-size:1rem;line-height:1.55;margin:0}@media(max-height:42rem)and (max-width:48rem){.projects__copy p{font-size:.875rem}}.projects__stack{background:hsla(45,29%,97%,.961);border-radius:30px;box-shadow:0 1.8rem 3.5rem rgba(47,76,98,.18);height:58%;position:absolute;right:-9%;top:23%;width:30%;z-index:4}@media(max-width:48rem){.projects__stack{height:33%;top:54%;width:60%}}@media(max-height:42rem)and (max-width:48rem){.projects__stack{height:27%;top:59%}}.projects__image{background:#fff;border-radius:30px;box-shadow:0 .75rem 1.8rem rgba(17,19,24,.2);height:65%;object-fit:cover;padding:.5rem;position:absolute;width:76%}.projects__image:first-child{left:-9%;top:-4%;transform:rotate(-11deg)}.projects__image:nth-child(2){left:28%;top:7%;transform:rotate(9deg)}.projects__image:nth-child(3){left:-13%;top:30%;transform:rotate(-6deg)}.projects__image:nth-child(4){left:23%;top:43%;transform:rotate(12deg)}.projects__detail-stage{border-radius:30px;height:54%;left:16%;position:absolute;top:23%;width:26%}@media(max-width:48rem){.projects__detail-stage{height:34%;left:23%;top:14%;width:54%}}@media(max-height:42rem)and (max-width:48rem){.projects__detail-stage{height:30%;top:16%}}.projects__links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.25rem}.projects__link{align-items:center;color:inherit;display:inline-flex;font-weight:700;line-height:1.5;max-width:100%;min-height:44px;overflow-wrap:anywhere;pointer-events:auto;text-decoration:underline;text-underline-offset:.3em}.projects__link:hover{text-decoration-thickness:2px}.projects__link:focus-visible{outline:2px solid currentcolor;outline-offset:4px}.projects__detail{left:48%;position:absolute;top:50%;transform:translateY(-50%);visibility:hidden;width:44%;z-index:5}@media(max-height:42rem)and (max-width:48rem){.projects__detail{top:51%}}.projects__detail h3{font-family:Plus Jakarta Sans,sans-serif;font-size:2.5rem;font-weight:800;letter-spacing:0;line-height:1.15;margin:0 0 .8rem;text-transform:uppercase}.projects__detail p{font-size:1rem;line-height:1.6;margin:0;max-width:32rem}.projects__detail .projects__detail-category{font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem;font-weight:700;margin-bottom:.75rem}@media(max-width:48rem){.projects__detail{left:8%;top:54%;transform:none;width:84%}.projects__detail h3{font-size:2rem}.projects__detail p{font-size:.9rem}}.contact{align-items:center;color:#fff;display:grid;grid-template-columns:minmax(0,1fr);padding:14svh 6% 9svh;pointer-events:none;z-index:6}@media(min-width:48.01rem)and (max-width:64rem){.contact{padding-inline:5%}}@media(max-width:48rem){.contact{grid-template-rows:minmax(0,1fr);padding:13svh 6%}}.contact:before{background:#e4e9ee;clip-path:polygon(72% 0,100% 0,100% 100%,37% 100%,37% 43%);content:"";inset:0;position:absolute;z-index:-1}@media(max-width:48rem){.contact:before{clip-path:polygon(100% 24%,100% 100%,30% 100%,30% 70%)}}.contact__panel{align-content:center;background:#f8f8f7;border-radius:30px;box-shadow:0 1.25rem 3rem rgba(17,19,24,.12);color:#111318;display:grid;font-style:normal;gap:3.5rem 2.25rem;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:center;margin:0;max-width:64rem;min-height:58svh;padding:3.5rem 3rem;width:100%}@media(min-width:48.01rem)and (max-width:64rem){.contact__panel{gap:2.5rem 1.5rem;padding:2.5rem 1.5rem}}@media(max-width:48rem){.contact__panel{align-content:start;align-self:center;gap:1.25rem;grid-template-columns:minmax(0,1fr);max-height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.5rem}}.contact__panel:focus-visible{outline:2px solid #111318;outline-offset:5px}.contact__item{align-items:start;display:grid;gap:.85rem;grid-template-columns:2.75rem minmax(0,1fr)}.contact__icon{background:#111318;border-radius:50%;color:#fff;display:grid;height:2.75rem;place-items:center;width:2.75rem}.contact__icon svg{display:block;height:25px;width:25px}.contact__details{min-width:0}.contact__details h3{display:inline-block;font-family:Plus Jakarta Sans,sans-serif;font-size:1.25rem;font-weight:800;margin:.45rem 0 .8rem}@media(max-width:48rem){.contact__details h3{font-size:1.1rem;margin:.2rem 0 .35rem}}.contact__details h3:hover{text-decoration:underline}.contact__details p{color:#565c63;font-size:.875rem;line-height:1.6;margin:0 0 .85rem;max-width:17rem}@media(max-width:48rem){.contact__details p{font-size:.8rem;margin-bottom:.3rem}}
