@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;800&family=Poppins:wght@400;500&display=swap";@font-face{font-family:Ocean Trace;src:url(/fonts/ocean-trace.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f6f2;color:#202e32;font:400 14px/1.7 Poppins,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #597669;outline-offset:6px}header{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:32px 5%;min-height:100px}.brand{font:500 25px/1.4 Manrope,sans-serif;letter-spacing:-.8px;justify-self:start;white-space:nowrap}nav{grid-column:2;display:flex;justify-content:center;gap:34px}nav a{font-size:14px;color:#6a7373;position:relative}nav a[aria-current]{color:#203d32}nav a[aria-current]:after{content:"";position:absolute;width:4px;height:4px;border-radius:100%;background:#517360;left:calc(50% - 2px);bottom:-9px}nav a:hover{color:#203d32}main{width:90%;max-width:1320px;margin:auto}.intro{text-align:center;padding:39px 0 43px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:10px;color:#6c7a70;margin:0 0 12px}h1{font:500 clamp(38px,4.5vw,60px)/1.15 Manrope,sans-serif;letter-spacing:-2px;margin:0 0 18px}.intro>p:last-child{color:#677174;max-width:660px;margin:0 auto;font-size:14px;line-height:1.9}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 30px}.card{min-width:0;display:block}.photo{overflow:hidden;background:#dee1dc;aspect-ratio:1.85}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.card:hover img{transform:scale(1.025)}.caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0 0}.caption h2{font:500 clamp(21px,2.2vw,29px)/1.3 Manrope,sans-serif;letter-spacing:-.7px;margin:0 0 5px}.caption p{font-size:12px;color:#6d7776;margin:0}.arrow{font-size:23px;font-family:Manrope,sans-serif;color:#5a7164}.page-end{text-align:center;padding:55px 0 30px;font-size:12px;color:#7a827e}footer{display:flex;justify-content:center;gap:28px;padding:25px 5% 36px;color:#64736c;font-size:12px}@media(max-width:760px){header{display:flex;flex-wrap:wrap;gap:27px;padding:24px 5% 18px}.brand{font-size:23px}nav{width:100%;gap:25px}.intro{padding:35px 0}.intro>p:last-child{font-size:13px;max-width:480px}h1{letter-spacing:-1.3px}.grid{gap:30px 20px}.caption h2{font-size:21px}.caption p{font-size:10px}}@media(max-width:520px){.grid{grid-template-columns:1fr;gap:34px}.photo{aspect-ratio:1.65}.caption h2{font-size:25px}.caption p{font-size:12px}.intro{padding:32px 0}nav{gap:24px}nav a{font-size:13px}footer{flex-wrap:wrap;gap:15px}}nav a[aria-current]:after{display:none}.social-links{grid-column:3;justify-self:end;display:flex;align-items:center;gap:19px}.social-links a{display:flex}.social-links svg{width:21px;height:21px}.intro{padding:45px 0 54px}.intro h1{font-size:clamp(36px,4.5vw,60px);margin:0}@media(max-width:760px){header{position:relative}.social-links{position:absolute;right:5%;top:29px}.intro{padding:30px 0 38px}}header .brand{font-size:32px}.intro{display:flex;align-items:center;justify-content:space-between;max-width:950px;margin:auto;padding:28px 0 44px;text-align:left;gap:28px}.intro h1{font-size:clamp(28px,3.4vw,43px);letter-spacing:-1.3px;font-weight:400}.intro h1 strong{font-weight:600}.portrait{width:145px;height:145px;flex-shrink:0;border:1px solid #8a998e;border-radius:50%;padding:5px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%;border-radius:50%}.grid{display:flex;flex-direction:column;gap:24px;max-width:1000px;margin:auto}.card{display:grid;grid-template-columns:300px 1fr;align-items:center;gap:35px}.photo{height:155px;aspect-ratio:auto}.caption{padding:0}.caption h2{font-size:27px}.description{font-size:13px;color:#66716e;max-width:560px;margin:12px 0 0}.resume-page{background:#fff}.resume-main{max-width:900px;padding:20px 0 50px}.resume-image{display:block;width:100%;height:auto;filter:none;mix-blend-mode:normal;background:#fff}.download{display:block;text-align:center;margin:0 0 25px;font-size:13px}.about-main{max-width:1040px;padding:30px 0 60px}.about-main h1{text-align:center;font-size:43px;margin-bottom:35px}.about-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}.about-layout img{width:100%;height:300px;object-fit:cover}.about-layout p{margin:0 0 20px}.page-end{padding:35px 0 0}@media(max-width:650px){header .brand{font-size:28px}.intro{gap:15px;padding:25px 0 35px}.intro h1{font-size:26px}.portrait{width:100px;height:100px}.card{grid-template-columns:125px 1fr;gap:18px}.photo{height:120px}.caption h2{font-size:20px}.caption p{font-size:11px}.description{font-size:11px;margin-top:7px}.arrow{display:none}.about-layout{grid-template-columns:1fr}.about-layout img{height:260px}}main{width:92%;max-width:1500px}.intro{max-width:none;padding:20px 0 45px}.portrait{width:240px;height:240px;border:0;padding:0;overflow:hidden}.portrait img{transform:scale(1.8);object-position:center 35%}.grid{max-width:none;gap:32px}.card{grid-template-columns:minmax(340px,46%) minmax(0,1fr);gap:44px}.photo{height:225px}.caption h2{font-size:30px}.description{font-size:14px;max-width:650px}@media(max-width:760px){.portrait{width:180px;height:180px}.card{grid-template-columns:48% minmax(0,1fr);gap:24px}.photo{height:200px}.caption h2{font-size:23px}}@media(max-width:520px){.intro h1{font-size:24px}.portrait{width:140px;height:140px}.card{grid-template-columns:1fr;gap:15px}.photo{height:210px}.caption h2{font-size:25px}.description{font-size:13px}}main{width:88%;max-width:1120px}.portfolio-main{width:100%;max-width:none}.portfolio-main .intro{width:88%;max-width:1120px;padding:30px 0 56px}.portrait{width:310px;height:310px}.portrait img{transform:scale(2.2);transform-origin:49% 46%;object-position:49% 50%}.projects-section{background:#253551;color:#fff;padding:56px 0 64px}.projects-section .grid{width:88%;max-width:1120px;margin:auto;gap:38px}.projects-section .card{grid-template-columns:44% minmax(0,1fr);gap:38px}.projects-section .caption p,.projects-section .description,.projects-section .arrow{color:#d4dce8}.resume-page{background:#f7f6f2}.resume-main{max-width:900px}.resume-image{background:#fff}@media(max-width:760px){.portrait{width:230px;height:230px}.portfolio-main .intro,.projects-section .card{gap:24px}}@media(max-width:520px){.portfolio-main .intro{flex-direction:column;align-items:flex-start;padding:28px 0 38px;gap:28px}.portrait{align-self:center;width:260px;height:260px}.projects-section{padding:36px 0 44px}.projects-section .card{grid-template-columns:1fr;gap:15px}}.portrait{width:330px;height:330px}.portrait img{transform:translate(3%) scale(2.3)}.intro-copy{min-width:0;max-width:700px}.degree{font-size:16px;line-height:1.7;color:#647176;margin:20px 0 0;max-width:560px}.projects-section .card{background:#e4e9ec;color:#253551;border:1px solid #c8d2da;border-radius:20px;padding:18px;overflow:hidden;box-shadow:0 4px 16px #101f3412;transition:transform .22s,box-shadow .22s,background .22s}.projects-section .card:hover,.projects-section .card:focus-visible{background:#edf0f2;transform:translateY(-4px);box-shadow:0 12px 28px #101f342b}.projects-section .photo{border-radius:12px}.projects-section .caption{padding:12px 20px 12px 0}.projects-section .caption p{font-size:20px;line-height:1.5;color:#536878;margin-top:10px}.projects-section .arrow{display:block;flex-shrink:0;width:28px;height:28px;color:#536878;transition:transform .22s}.projects-section .card:hover .arrow{transform:translate(3px,-3px)}body>footer{position:relative;min-height:90px;padding-right:220px;padding-left:220px;align-items:center}body>footer .copyright{position:absolute;right:5%;bottom:36px;white-space:nowrap}@media(max-width:760px){.portrait{width:250px;height:250px}.degree{font-size:14px}.projects-section .caption p{font-size:17px}.projects-section .caption{padding-right:0}body>footer{padding:28px 6%;flex-wrap:wrap}body>footer .copyright{position:static;margin-left:auto}}@media(max-width:520px){.portrait{width:280px;height:280px}.projects-section .card{padding:14px}.projects-section .caption{padding:4px 8px 12px}.projects-section .caption p{font-size:18px}.projects-section .arrow{display:block}body>footer .copyright{width:100%;text-align:right}}@media(prefers-reduced-motion:reduce){.projects-section .card,.projects-section .arrow,.photo img{transition:none}}.projects-section .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:30px}.projects-section .card{display:flex;flex-direction:column;align-items:stretch;gap:0}.projects-section .photo{height:auto;aspect-ratio:1.75}.projects-section .caption{flex:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 10px 14px}.projects-section .caption h2{font-size:29px}.projects-section .caption p{font-size:20px}.projects-section .card:hover img{transform:none}.photo img{transition:none}.portrait img{transform:translate(1.5%) scale(2.15)}@media(max-width:760px){.projects-section .grid{gap:22px}.projects-section .caption{padding:18px 4px 10px}.projects-section .caption h2{font-size:24px}.projects-section .caption p{font-size:17px}}@media(max-width:600px){.projects-section .grid{grid-template-columns:1fr}.projects-section .caption h2{font-size:26px}.projects-section .caption p{font-size:18px}}.portrait img{transform:translate(1.5%) scale(1.85)}.degree{display:flex;align-items:center;gap:13px}.degree .cu-logo{width:34px;height:34px;flex-shrink:0;object-fit:contain}.portfolio-main .intro{padding-bottom:18px}.flatirons-horizon{width:88%;max-width:1120px;margin:0 auto;height:170px;display:flex;align-items:flex-end}.flatirons-horizon svg{display:block;width:min(620px,62%);height:100%;object-fit:fill}@media(max-width:760px){.flatirons-horizon{height:125px}.flatirons-horizon svg{width:75%}.degree .cu-logo{width:30px;height:30px}}@media(max-width:520px){.flatirons-horizon{height:100px}.flatirons-horizon svg{width:100%}.portfolio-main .intro{padding-bottom:24px}}.portrait{border-radius:22px}.portrait img{border-radius:0}.portfolio-main .intro{position:relative;padding-bottom:56px}.flatirons-horizon{display:none}.portfolio-main .intro{isolation:isolate}.portfolio-main .intro:before{content:"";position:absolute;z-index:-1;inset:0 calc((100% - 100vw)/2);background:#f7f6f2}.intro-copy,.portrait{position:relative;z-index:1}.flatirons-horizon{position:absolute;display:block;left:0;bottom:0;width:480px;max-width:52%;height:185px;margin:0;overflow:hidden;mix-blend-mode:multiply;pointer-events:none;opacity:.6;z-index:0}.flatirons-horizon svg{width:100%;height:215px;object-fit:cover;object-position:center 16%;filter:grayscale(1) contrast(1.4);clip-path:polygon(0 0,90% 0,90% 45%,100% 45%,100% 100%,0 100%);mask-image:linear-gradient(to bottom,transparent,#000 13%,#000 92%,transparent)}@media(min-width:521px)and (max-width:760px){.intro-copy{align-self:flex-start;padding-top:8px}.flatirons-horizon{height:145px;max-width:56%}.flatirons-horizon svg{height:180px}}@media(max-width:520px){.portfolio-main .intro{padding-bottom:112px}.flatirons-horizon{max-width:none;width:100%;height:100px}.flatirons-horizon svg{height:150px;object-position:center 12%}}.portfolio-main .intro{background:#f7f6f2}.portfolio-main .intro:before{display:none}.portrait{width:380px}.flatirons-horizon{width:540px;mask-image:linear-gradient(to right,transparent,#000 10%,#000 82%,transparent)}.flatirons-horizon svg{height:100%;mask-image:linear-gradient(to bottom,transparent,#000 13%,#000 92%,transparent)}.projects-section,.about-main,.resume-main{padding-bottom:28px}.resume-main .download{display:table;margin:0 auto 28px;padding:12px 26px;border-radius:999px;background:#253551;color:#f7f6f2;font-size:14px;line-height:1.6;transition:background .2s}.resume-main .download:hover{background:#354c6b}@media(max-width:760px){.portrait{width:285px}.projects-section{padding-bottom:24px}}@media(max-width:520px){.portrait{width:min(100%,325px)}.flatirons-horizon{width:100%}}.flatirons-horizon{mask-image:none;opacity:.6}.flatirons-horizon svg{height:100%;object-fit:fill;object-position:center;clip-path:none;mask-image:none;filter:grayscale(1) contrast(1.4)}.flatirons-horizon svg{height:110%}.flatirons-horizon{left:-39.18px;width:594.29px;max-width:none;height:185px;mask-image:none;opacity:.6;overflow:hidden}.flatirons-horizon svg{width:100%;height:100%;object-fit:fill;object-position:center;clip-path:none;mask-image:none;filter:grayscale(1) contrast(1.4)}@media(min-width:521px)and (max-width:760px){.flatirons-horizon{left:-30.74px;width:466.25px;height:145px;max-width:calc(100% + 30.74px)}}@media(max-width:520px){.flatirons-horizon{left:0;width:100%;height:100px;max-width:none}}.portrait{width:440px}.portrait img{position:absolute;max-width:none;width:185%;height:185%;left:-40.15%;top:-39.1%;transform:none}.flatirons-horizon{left:-144px;width:827px;height:185px;max-width:none}.flatirons-horizon svg{position:absolute;left:0;top:-69px;width:827px;height:auto;object-fit:contain;clip-path:polygon(0 0,94% 0,94% 23%,100% 23%,100% 100%,0 100%)}@media(min-width:521px)and (max-width:760px){.portrait{width:310px}.flatirons-horizon{left:-113px;width:648px;height:145px;max-width:none}.flatirons-horizon svg{width:648px;top:-54px}}@media(max-width:520px){.portrait{width:min(100%,350px)}.flatirons-horizon{left:-17.5%;width:135%;height:100px;max-width:none}.flatirons-horizon svg{width:100%;top:-39px}}.portfolio-main{overflow-x:clip}.portfolio-main .intro{isolation:auto}.flatirons-horizon svg{top:-62px}@media(min-width:521px)and (max-width:760px){.flatirons-horizon svg{top:-48.5px}}@media(max-width:520px){.flatirons-horizon svg{top:-35px}}.flatirons-horizon{background:#f7f6f2;isolation:isolate;mix-blend-mode:normal;opacity:1}.flatirons-horizon svg{display:block;mix-blend-mode:normal;filter:none;opacity:1}.projects-section .projects-title{width:88%;max-width:1120px;margin:0 auto 30px;font:500 clamp(30px,3.4vw,42px)/1.2 Manrope,sans-serif;letter-spacing:-1px;color:#f7f6f2}.about-main{max-width:1100px}.about-layout{align-items:start;border:1px solid #253551;border-radius:22px;padding:clamp(20px,3vw,36px)}.about-contact{margin-top:28px;padding:clamp(20px,3vw,36px);border:1px solid #253551;border-radius:22px}.about-contact h2{margin:0 0 24px;font:500 30px/1.3 Manrope,sans-serif;letter-spacing:-.8px}.about-contact form{display:grid;gap:20px;max-width:760px;margin:0 auto}.about-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.about-contact label{display:grid;gap:8px;font-size:15px}.about-contact input,.about-contact textarea{box-sizing:border-box;width:100%;min-width:0;padding:12px 14px;border:1px solid #25355155;border-radius:10px;background:transparent;color:#202e32;font:400 16px/1.6 Poppins,sans-serif}.about-contact textarea{resize:vertical;min-height:130px}.about-contact input:focus-visible,.about-contact textarea:focus-visible{outline:2px solid #536878;outline-offset:2px}.about-contact-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.about-contact button{padding:12px 30px;border:0;border-radius:999px;background:#253551;color:#f7f6f2;font:400 14px/1.6 Poppins,sans-serif;cursor:pointer;transition:background .2s}.about-contact button:hover{background:#354c6b}.about-contact button:disabled{opacity:.65;cursor:wait}.about-contact .contact-honeypot{display:none}.about-contact button:focus-visible{outline:2px solid #536878;outline-offset:4px}.about-contact-actions p{margin:0;color:#647176;font-size:12px}@media(max-width:520px){.about-contact-fields{grid-template-columns:1fr}}.about-copy{font-size:16px;line-height:1.8}.about-copy .about-greeting{margin:0 0 12px;color:#253551;font:400 clamp(29px,3.25vw,39px)/1.3 "Ocean Trace",cursive;letter-spacing:0}.about-photos{display:grid;gap:24px;min-width:0}.about-photos img{display:block;width:100%;height:auto;border-radius:18px}.about-photos img:first-child{aspect-ratio:6048/4011;object-fit:cover;object-position:center bottom}.about-main{padding-top:12px}.about-main .photo-name{width:min(100%,760px);margin:0 auto 46px;border-radius:22px;overflow:hidden;font:800 clamp(100px,16vw,190px)/1 Manrope,sans-serif;letter-spacing:-.055em}.photo-name-word{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.photo-name-letter{display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:2/3;background-size:cover;background-repeat:no-repeat;background-clip:border-box;color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 2px 18px #0005;box-shadow:inset 0 0 0 100vmax #00000018}.photo-name-letter{position:relative;isolation:isolate;overflow:hidden}.photo-name-character{position:relative;z-index:2}.photo-name-replacement{position:absolute;inset:0;z-index:1;background-size:cover;background-repeat:no-repeat;box-shadow:inset 0 0 0 100vmax #00000018}.certificate-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.certificate-link svg{display:inline-block;width:12px;height:12px;margin-left:4px;vertical-align:-1px}.certificate-link:hover{color:var(--teal,#536878)}@media(max-width:520px){.about-main .photo-name{font-size:clamp(64px,19vw,100px);border-radius:16px;margin-bottom:36px}}.projects-section{padding-top:28px}.projects-section .projects-title{text-align:center;margin-bottom:28px}.projects-section{padding-top:34px}.projects-section .projects-title{margin-bottom:34px}.intro-copy .greeting{margin:0 0 12px;font:400 clamp(18px,1.8vw,23px)/1.5 Manrope,sans-serif;letter-spacing:-.3px;color:#202e32}.intro-copy .degree{margin-top:20px;font-size:18px}@media(min-width:761px){.intro-copy{transform:translateY(-35px)}}@media(max-width:760px){.intro-copy .degree{font-size:16px}}@media(max-width:520px){.intro-copy .greeting{font-size:18px}.intro-copy .degree{margin-top:20px}}
