@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-ext-wght-normal-DiMfzA-V.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-cyrillic-wght-normal-D5lnP6kL.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-ext-wght-normal-Byk3UhVp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/caveat-latin-wght-normal-C1hSzPvX.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#20334a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#20334a;--blue:#245b80;--sky:#dcecf4;--pink:#ffd8e8;--rose:#ec7eab;--yellow:#ffdf85;--paper:#fffcf8;--muted:#5c6975;scroll-behavior:smooth;background:#fffcf8;font-family:DM Sans Variable,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:inherit}a:focus-visible{outline-offset:4px;outline:3px solid #e569a1}::selection{background:var(--pink);color:var(--ink)}.spin-star{transform-origin:50%;animation:20s linear infinite spin-star;display:inline-block}@keyframes spin-star{to{rotate:360deg}}@media (hover:hover) and (pointer:fine){.spin-star:hover,.project-visuals:hover .carousel-spark{animation-play-state:paused}}.interactive-card{transform:perspective(1200px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg));transition:transform .22s ease-out,box-shadow .22s ease-out}@media (hover:hover) and (pointer:fine){.interactive-card:hover{transform:perspective(1200px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg)) translateY(-4px)}}.site-header{z-index:10;justify-content:space-between;align-items:center;gap:24px;max-width:1480px;margin:0 auto;padding:20px clamp(24px,5vw,70px);display:flex;position:relative}.brand{letter-spacing:-.1em;align-items:flex-start;font-family:Fraunces Variable,Georgia,serif;font-size:1.8rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.brand span{color:var(--rose);letter-spacing:0;margin-left:3px;font-family:DM Sans Variable,sans-serif;font-size:.9rem}.site-header nav{align-items:center;gap:clamp(18px,3vw,44px);display:flex}.site-header nav a{font-size:.83rem;font-weight:700;text-decoration:none;transition:color .2s}.site-header nav a:hover{color:#ca4f87}.header-cta{border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:18px;padding:10px 17px;font-family:inherit;font-size:.8rem;font-weight:800;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.header-cta:hover{color:#fff;background:var(--ink);transform:translateY(-2px)}.hero{background:var(--sky);isolation:isolate;border-radius:34px;grid-template-columns:1.05fr .95fr;align-items:center;gap:20px;max-width:1440px;min-height:715px;margin:0 auto;padding:60px clamp(30px,5vw,75px) 70px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;border:1px dashed #245b8033;border-radius:50%;width:570px;height:570px;position:absolute;top:-155px;left:-140px}.hero-copy{z-index:3;max-width:700px;position:relative}.hero-kicker{letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:9px;margin:0 0 28px;font-size:.72rem;font-weight:800;display:inline-flex}.hero-kicker span{color:var(--rose);font-size:1.4rem;line-height:0}.hero-hello{transform-origin:0;margin:0 0 4px;font-family:Caveat Variable,cursive;font-size:clamp(2rem,3vw,3rem);font-weight:600;transform:rotate(-3deg)}.hero h1{letter-spacing:-.095em;max-width:710px;margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:clamp(4.6rem,7.5vw,8.4rem);font-weight:780;line-height:.96}.hero-role{background:var(--pink);border-radius:999px;max-width:570px;margin:23px 0 26px;padding:9px 18px;font-size:.88rem;font-weight:800;display:inline-block}.hero-about{max-width:510px}.hero-about p{color:#445767;margin:0;font-size:.98rem;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.button{border:1.5px solid var(--ink);min-height:47px;color:var(--ink);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:24px;padding:11px 19px;font-family:inherit;font-size:.82rem;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover{box-shadow:4px 4px 0 var(--rose);transform:translateY(-3px)}.button-dark{color:#fff;background:var(--ink)}.button-outline{background:#ffffffa6}.hero-location{color:#506575;margin:25px 0 0;font-size:.8rem;font-weight:600}.hero-location span{vertical-align:-.08em;margin-right:3px;font-size:1.3rem}.hero-collage{min-width:0;height:575px;position:relative}.collage-halo{aspect-ratio:1;background:#a9cede;border-radius:44% 56% 58% 42%/40% 46% 54% 60%;width:92%;position:absolute;top:8%;right:0;transform:rotate(-16deg)}.collage-halo:after{content:"";border-radius:inherit;border:2px dashed #ffffffbf;position:absolute;inset:24px}.collage-card{background:#fff;border:1px solid #20334a2e;padding:9px 9px 28px;transition:transform .25s ease-out;position:absolute;box-shadow:10px 12px 24px #16375033}.collage-card:before{content:"";z-index:2;background:#ffdc7eb8;width:76px;height:25px;position:absolute;top:-12px;left:37%;transform:rotate(-8deg)}.collage-card img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.collage-card-one{width:42%;height:62%;top:1%;left:13%;transform:rotate(-12deg)}.collage-card-two{width:40%;height:58%;top:6%;right:7%;transform:rotate(11deg)}.collage-card-three{width:38%;height:51%;bottom:3%;right:25%;transform:rotate(-2deg)}.collage-card-three:before{background:#ffbeddcc}@media (hover:hover) and (pointer:fine){.collage-card-one:hover{transform:rotate(-10deg)translateY(-5px)}.collage-card-two:hover{transform:rotate(9deg)translateY(-5px)}.collage-card-three:hover{transform:rotate(0)translateY(-5px)}}.collage-doodle{z-index:3;color:var(--yellow);line-height:1;position:absolute}.collage-doodle-one{font-size:7rem;top:-5%;right:0;transform:rotate(-13deg)}.collage-doodle-two{color:#f6a8ce;font-size:5rem;bottom:16%;left:1%}.collage-sticker{z-index:4;border:2px solid var(--ink);background:var(--pink);box-shadow:5px 6px 0 var(--ink);border-radius:18px;align-items:center;gap:18px;padding:12px 22px;font-family:Caveat Variable,cursive;font-size:2rem;font-weight:700;display:flex;position:absolute;bottom:2%;left:0;transform:rotate(-9deg)}.collage-sticker span{font-family:DM Sans Variable,sans-serif;font-size:1.4rem}.collage-squiggle{color:var(--blue);letter-spacing:-.2em;font-family:Caveat Variable,cursive;font-size:3rem;position:absolute;bottom:-2%;right:0;transform:rotate(-10deg)}.ribbon{white-space:nowrap;max-width:1440px;color:var(--blue);justify-content:center;align-items:center;gap:clamp(18px,3vw,48px);margin:0 auto;padding:21px;font-family:Caveat Variable,cursive;font-size:1.75rem;font-weight:650;display:flex;overflow:hidden}.ribbon b{color:var(--rose);font-family:DM Sans Variable,sans-serif;font-size:1.1rem;font-weight:400}.content-section{max-width:1440px;margin:0 auto;padding:82px clamp(24px,5vw,72px)}.section-title{align-items:baseline;gap:15px;margin-bottom:42px;scroll-margin-top:40px;display:flex}.section-index{color:#ca588d;letter-spacing:.1em;flex:none;font-size:.78rem;font-weight:800}.section-title h2{letter-spacing:-.075em;margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:clamp(2.5rem,4.5vw,4.8rem);font-weight:720;line-height:1.05}.title-star{color:var(--rose);margin-left:auto;font-size:clamp(2rem,3vw,3.5rem);line-height:.7;transform:rotate(-14deg)}.projects-section{padding-top:75px}.project-list{gap:28px;display:grid}.project-card{border:1.5px solid var(--ink);background:#fff;border-radius:16px;grid-template-columns:1.06fr .94fr;min-height:510px;display:grid;overflow:hidden;box-shadow:7px 8px #20334a1f}.project-card:nth-child(2n) .project-visuals{order:2}.project-card:nth-child(2n) .project-copy{order:1}.project-visuals{background:#e7f2f7;flex-direction:column;align-items:center;min-height:500px;padding:24px 28px 18px;display:flex;position:relative;overflow:hidden}.project-card:nth-child(2) .project-visuals{background:#d9e2f3}.project-card:nth-child(3) .project-visuals{background:#f8e7ed}.project-visuals:after{content:"";pointer-events:none;border:1px dashed #20334a40;border-radius:50%;position:absolute;inset:9%}.carousel-spark{z-index:1;color:#f69ac1;pointer-events:none;font-size:3.8rem;line-height:1;position:absolute;top:3%;right:6%;transform:rotate(13deg)}.carousel-image{z-index:2;cursor:zoom-in;touch-action:pan-y;background:0 0;border:0;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:0;display:flex;position:relative}.carousel-image img{object-fit:contain;border:8px solid #fff;width:auto;max-width:100%;height:auto;max-height:405px;transition:transform .2s;display:block;box-shadow:9px 12px 24px #12253733}.carousel-image:hover img{transform:translateY(-5px)rotate(-1deg)}.carousel-zoom{border:1px solid var(--ink);background:#fff;border-radius:999px;padding:7px 12px;font-size:.72rem;font-weight:800;position:absolute;bottom:12px;right:4px}.carousel-bottom{z-index:3;flex-direction:column;align-items:center;gap:13px;width:100%;padding-top:10px;display:flex;position:relative}.carousel-controls{justify-content:space-between;align-items:center;gap:12px;width:min(100%,250px);display:flex}.carousel-controls button{border:1.5px solid var(--ink);width:34px;height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;padding:0;font-size:1.2rem;transition:background .2s,transform .2s;display:grid}.carousel-controls button:not(:disabled):hover{background:var(--pink);transform:translateY(-2px)}.carousel-controls button:disabled{opacity:.4;cursor:default}.carousel-controls span{text-align:center;letter-spacing:.1em;min-width:72px;font-size:.8rem;font-weight:850}.carousel-dots{flex-wrap:wrap;justify-content:center;gap:6px;max-width:100%;display:flex}.carousel-dots button{cursor:pointer;background:#20334a45;border:0;border-radius:50%;width:8px;height:8px;padding:0}.carousel-dots button.active{background:var(--blue);border-radius:999px;width:21px}.carousel-dots button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.project-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(30px,5vw,74px);display:flex}.project-number{color:#be5488;letter-spacing:.15em;margin-bottom:25px;font-size:.75rem;font-weight:800}.project-copy h3{letter-spacing:-.075em;margin:0 0 21px;font-family:Fraunces Variable,Georgia,serif;font-size:clamp(2.3rem,3.5vw,4.1rem);line-height:1.04}.project-copy p{max-width:420px;color:var(--muted);margin:0;font-size:.96rem;line-height:1.8}.project-link{border-bottom:1px solid var(--ink);margin-top:32px;padding-bottom:5px;font-size:.8rem;font-weight:800;display:inline-block}.project-link span{margin-left:16px}.image-modal{border:1.5px solid var(--ink);background:var(--paper);width:min(1160px,100vw - 24px);max-width:none;max-height:calc(100dvh - 24px);color:var(--ink);border-radius:16px;margin:auto;padding:0;overflow:hidden;box-shadow:12px 16px #0a192a40}.image-modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#08192adb}.modal-shell{flex-direction:column;height:min(850px,100dvh - 24px);display:flex}.modal-top{border-bottom:1px solid #d8dadd;justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;font-size:.85rem;font-weight:800;display:flex}.modal-top span span{color:var(--rose);margin:0 8px}.modal-close{border:1px solid var(--ink);width:34px;height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}.modal-close:hover,.modal-arrow:hover{background:var(--pink)}.modal-stage{touch-action:pan-y;flex:1;justify-content:center;align-items:center;gap:12px;min-height:0;padding:12px 20px;display:flex}.modal-stage img{object-fit:contain;width:auto;max-width:calc(100% - 110px);height:auto;max-height:100%;display:block;box-shadow:0 8px 22px #12253729}.modal-stage img:only-child{max-width:100%}.modal-arrow{border:1px solid var(--ink);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.5rem;display:grid}.modal-caption{color:var(--muted);text-align:center;border-top:1px solid #d8dadd;margin:0;padding:12px 20px 18px;font-size:.8rem}.contact-dialog-backdrop{z-index:100;background:0 0;border:0;place-items:center;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.contact-dialog-backdrop::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:0 0;animation:.35s both contact-backdrop-in}.contact-dialog{isolation:isolate;background:var(--paper);width:min(100%,560px);max-height:calc(100dvh - 48px);color:var(--ink);border:0;border-radius:24px;margin:auto;animation:.44s cubic-bezier(.2,.85,.3,1) both contact-dialog-in;position:relative;overflow-y:auto;box-shadow:0 18px 48px #11273a2b}@keyframes contact-backdrop-in{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes contact-dialog-in{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.contact-dialog-top{background:var(--sky);padding:32px 44px 24px;position:relative;overflow:hidden}.contact-dialog-top:before{content:"";pointer-events:none;border:1.5px dashed #245b804d;border-radius:50%;width:270px;height:270px;position:absolute;bottom:-106px;right:-68px}.contact-dialog-close{z-index:3;width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;padding:0;font-family:inherit;font-size:1.45rem;line-height:1;transition:transform .2s,background .2s;display:grid;position:absolute;top:18px;right:18px;box-shadow:0 3px 10px #20334a1a}.contact-dialog-close:hover{background:var(--pink);transform:rotate(8deg)}.contact-dialog-close:focus-visible,.contact-dialog-option:focus-visible{outline-offset:4px;outline:3px solid #d34d8a}.contact-dialog-eyebrow{z-index:1;color:var(--blue);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:8px;margin:0 0 17px;font-size:.72rem;font-weight:800;display:inline-flex;position:relative}.contact-dialog-content{padding:30px 44px 42px}.contact-dialog-title{z-index:1;letter-spacing:-.075em;max-width:440px;margin:0 0 16px;font-family:Fraunces Variable,Georgia,serif;font-size:clamp(2.7rem,6vw,4.2rem);font-weight:740;line-height:1.08;position:relative}.contact-dialog-copy{z-index:1;color:#476175;max-width:390px;margin:0;font-size:.92rem;line-height:1.65;position:relative}.contact-dialog-decoration{z-index:1;color:var(--rose);pointer-events:none;font-size:2rem;line-height:1;animation:20s linear infinite spin-star;position:absolute;top:26px;right:67px}.contact-dialog-options{gap:13px;margin-top:27px;display:grid}.contact-dialog-option{min-height:92px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;border-radius:14px;align-items:center;gap:17px;padding:16px 19px;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:flex;box-shadow:0 5px 18px #20334a17}.contact-dialog-option:nth-child(2){background:#fff2d7}.contact-dialog-option:after{content:"↗";flex:none;margin-left:auto;font-size:1.4rem;line-height:1;transition:transform .2s}.contact-dialog-option:hover{transform:translateY(-3px);box-shadow:0 10px 22px #20334a26}.contact-dialog-option:hover:after{transform:translate(2px,-2px)}.contact-dialog-option-icon{background:var(--pink);width:48px;height:48px;color:var(--ink);border:0;border-radius:50%;flex:none;place-items:center;font-size:1.35rem;line-height:1;display:grid}.contact-dialog-option:nth-child(2) .contact-dialog-option-icon{background:#d8ecf4}.contact-dialog-option-label{letter-spacing:-.04em;font-family:Fraunces Variable,Georgia,serif;font-size:1.35rem;font-weight:700;line-height:1.2;display:block}.contact-dialog-option-detail{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:.76rem;line-height:1.45;display:block}@media (hover:hover) and (pointer:fine){.contact-dialog:hover .contact-dialog-decoration{animation-play-state:paused}}.experience-section{background:#f7f4ee;max-width:none}.experience-section>*{max-width:1296px;margin-left:auto;margin-right:auto}.experience-columns{grid-template-columns:1fr 1fr;gap:34px;display:grid}.experience-column{background:#fff;border:1px solid #d3d5d5;border-radius:14px;padding:32px 38px 14px}.experience-column:hover{box-shadow:5px 7px #20334a1a}.freelance-column{background:#fff2f8}.column-heading{letter-spacing:-.05em;margin:0 0 31px;font-family:Fraunces Variable,Georgia,serif;font-size:1.5rem}.experience-item{grid-template-columns:14px 1fr;gap:18px;padding:0 0 34px;display:grid;position:relative}.experience-item:not(:last-child):before{content:"";background:#c1d2d9;width:1px;position:absolute;top:14px;bottom:0;left:6px}.experience-marker{z-index:1;background:#fff;border:3px solid #2e708d;border-radius:50%;width:13px;height:13px;margin-top:6px;position:relative}.freelance-column .experience-marker{border-color:#d46092}.experience-item h3{letter-spacing:-.035em;margin:0 0 7px;font-family:Fraunces Variable,Georgia,serif;font-size:1.27rem;line-height:1.25}.experience-item p{color:#587082;margin:0 0 11px;font-size:.74rem;line-height:1.5}.experience-item ul{color:#536472;margin:0;padding-left:1.1em;font-size:.82rem;line-height:1.55}.experience-item li+li{margin-top:5px}.experience-item li::marker{color:#cb6c9a}.skills-section{background:#dcecf4;max-width:none}.skills-section>*{max-width:1296px;margin-left:auto;margin-right:auto}.skills-content ul{counter-reset:skill;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.skills-content li{border:1.5px solid var(--ink);color:#596875;counter-increment:skill;background:#fff;border-radius:8px;min-height:210px;padding:32px 29px;font-size:.88rem;line-height:1.7;position:relative}.skills-content li:hover{box-shadow:4px 6px #20334a24}.skills-content li:nth-child(3n+2){background:#fff3c9}.skills-content li:nth-child(3n){background:#ffe2ef}.skills-content li:before{content:"0" counter(skill);color:#c75287;letter-spacing:.1em;margin-bottom:18px;font-size:.7rem;font-weight:800;display:block}.skills-content strong{color:var(--ink);letter-spacing:-.04em;margin-bottom:8px;font-family:Fraunces Variable,Georgia,serif;font-size:1.27rem;font-weight:700;line-height:1.2;display:block}.tools-block{margin-top:57px}.tools-block h3{letter-spacing:-.04em;margin:0 0 20px;font-family:Fraunces Variable,Georgia,serif;font-size:1.5rem}.tools-block ul{flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none;display:flex}.tools-block li{border:1px solid var(--ink);background:#fffc;border-radius:999px;padding:9px 16px;font-size:.8rem;font-weight:750;transition:transform .2s,background .2s}.tools-block li:hover{background:var(--pink);transform:translateY(-2px)}.education-section{background:#fff2d7;max-width:none}.education-section>*{max-width:1296px;margin-left:auto;margin-right:auto}.education-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.education-card{border:1.5px solid var(--ink);background:#fffefa;border-radius:14px;min-height:320px;padding:clamp(28px,3.5vw,48px);box-shadow:7px 8px #20334a21}.education-card:nth-child(2){background:#ffe4ef}.education-card-number{color:#bf5688;letter-spacing:.14em;justify-content:space-between;align-items:center;margin-bottom:48px;font-size:.75rem;font-weight:800;display:flex}.education-card-number span{font-size:2rem;font-weight:400;line-height:.6}.education-card h3{letter-spacing:-.06em;max-width:480px;margin:0 0 20px;font-family:Fraunces Variable,Georgia,serif;font-size:clamp(1.9rem,2.7vw,3rem);font-weight:720;line-height:1.12}.education-card p{max-width:470px;color:var(--muted);margin:0;font-size:.9rem;line-height:1.75}.education-card p+p{margin-top:17px}.education-card p strong{border:1px solid var(--ink);background:var(--yellow);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:.72rem;font-weight:800;line-height:1.2;display:inline-block}.education-card:nth-child(2) p strong{background:#fff}.about-section{padding-bottom:110px}.personal-frame{border:1.5px solid var(--ink);box-shadow:7px 8px 0 var(--pink);background:#fff;border-radius:12px;padding:12px;overflow:hidden}.personal-frame a{display:block}.personal-frame img{width:100%;height:auto;transform:translate3d(var(--image-x,0px), var(--image-y,0px), 0);will-change:transform;transition:transform .22s ease-out;display:block}footer{color:#fff;background:var(--blue)}.footer-main,.footer-bottom{max-width:1440px;margin:0 auto;padding-left:clamp(24px,5vw,72px);padding-right:clamp(24px,5vw,72px)}.footer-main{padding-top:92px;padding-bottom:68px}.footer-main>p{color:var(--pink);margin:0 0 4px;font-family:Caveat Variable,cursive;font-size:clamp(1.9rem,3vw,2.7rem)}.footer-email{letter-spacing:-.08em;align-items:baseline;gap:22px;margin-bottom:53px;font-family:Fraunces Variable,Georgia,serif;font-size:clamp(3.3rem,7.5vw,8.5rem);font-weight:740;line-height:1.1;text-decoration:none;display:inline-flex}.footer-email span{color:var(--pink);font-family:DM Sans Variable,sans-serif;font-size:.6em;font-weight:400;transition:transform .2s}.footer-email:hover span{transform:translate(5px,-5px)}.footer-contacts{color:#deedf6;flex-wrap:wrap;gap:20px 36px;font-size:.88rem;display:flex}.footer-contacts a{text-underline-offset:5px}.footer-bottom{color:#c0d5e1;border-top:1px solid #ffffff40;justify-content:space-between;gap:20px;padding-top:17px;padding-bottom:20px;font-size:.72rem;display:flex}@media (width<=1080px){.hero{grid-template-columns:1fr .82fr;min-height:670px}.hero h1{font-size:clamp(4.1rem,7vw,6.8rem)}.hero-collage{height:490px}.experience-columns{gap:18px}.experience-column{padding:28px 25px 5px}.project-card{min-height:470px}.project-visuals{min-height:460px}}@media (width<=780px){.site-header{flex-wrap:wrap}.site-header nav{border-top:1px solid #e4e4e1;order:3;justify-content:space-between;width:100%;padding-top:12px}.header-cta{margin-left:auto}.hero{flex-direction:column;align-items:stretch;min-height:0;margin:0 12px;padding:60px 30px 50px;display:flex}.hero-copy{max-width:620px}.hero h1{font-size:clamp(4.6rem,12vw,7rem)}.hero-collage{width:min(100%,550px);height:490px;margin:20px auto 0}.project-card{grid-template-columns:1fr}.project-card:nth-child(2n) .project-visuals,.project-card:nth-child(2n) .project-copy{order:initial}.project-visuals{min-height:450px}.project-copy{padding:35px}.experience-columns{grid-template-columns:1fr}.skills-content ul{grid-template-columns:repeat(2,minmax(0,1fr))}.education-cards{gap:14px}.ribbon{gap:20px}}@media (width<=540px){.contact-dialog-backdrop{padding:15px}.contact-dialog{border-radius:19px;max-height:calc(100dvh - 30px)}.contact-dialog-top{padding:30px 25px 22px}.contact-dialog-content{padding:27px 25px 30px}.contact-dialog-close{width:34px;height:34px;top:14px;right:14px}.contact-dialog-decoration{font-size:1.65rem;top:54px;right:25px}.contact-dialog-title{padding-right:18px;font-size:clamp(2.25rem,9vw,3.2rem)}.contact-dialog-options{margin-top:23px}.contact-dialog-option{gap:14px;min-height:82px;padding:14px}.contact-dialog-option-icon{width:42px;height:42px;font-size:1.2rem}.site-header{padding:20px 20px 16px}.site-header nav a{font-size:.72rem}.header-cta{padding:8px 12px;font-size:.72rem}.hero{border-radius:22px;padding:45px 23px 36px}.hero h1{font-size:clamp(3.65rem,15vw,5.4rem)}.hero-role{border-radius:15px;font-size:.75rem;line-height:1.4}.hero-about p{font-size:.89rem}.button{gap:12px;padding:10px 15px;font-size:.76rem}.hero-collage{height:360px}.collage-card{padding:5px 5px 16px}.collage-sticker{padding:5px 13px;font-size:1.5rem}.collage-doodle-one{font-size:4rem}.collage-doodle-two{font-size:3rem}.content-section{padding:65px 22px}.section-title{margin-bottom:28px}.section-title h2{font-size:2.35rem}.project-visuals{min-height:340px;padding:20px 18px 14px}.carousel-image img{max-height:280px}.modal-stage{padding:8px;position:relative}.modal-stage img{max-width:100%}.modal-arrow{z-index:2;background:#fffffff0;width:34px;height:34px;font-size:1.2rem;position:absolute;top:50%;transform:translateY(-50%)}.modal-arrow:first-child{left:3px}.modal-arrow:last-child{right:3px}.modal-top{padding:10px 12px;font-size:.72rem}.project-copy{padding:27px}.project-copy h3{font-size:2.35rem}.experience-column{padding:26px 19px 0}.skills-content ul,.education-cards{grid-template-columns:1fr}.skills-content li,.education-card{min-height:0}.education-card-number{margin-bottom:28px}.personal-frame{border-radius:6px;padding:7px}.footer-main{padding-top:65px;padding-bottom:55px}.footer-email{font-size:3.5rem}.footer-bottom{flex-direction:column;gap:4px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}.spin-star,.contact-dialog,.contact-dialog-backdrop::backdrop,.contact-dialog-decoration{animation:none!important}.interactive-card,.interactive-card:hover,.personal-frame img{transform:none!important}}@media print{:root{color:#000;background:#fff}.site-header,.hero-collage,.hero-actions,.hero-kicker,.ribbon,.projects-section,.personal-frame,.title-star,.section-index,footer{display:none!important}.hero,.content-section,.experience-section,.skills-section{background:#fff;border:0;max-width:none;min-height:0;margin:0;padding:0 0 1rem;display:block}.hero:before{display:none}.hero h1{font-size:2.1rem}.hero-hello{display:none}.hero-role{background:0 0;margin:.3rem 0;padding:0}.hero-about p{color:#000;font-size:.8rem}.hero-location{margin:.3rem 0}.section-title{margin:1rem 0 .4rem}.section-title h2{font-size:1.25rem}.experience-columns,.skills-content ul,.education-cards{display:block}.experience-column{background:#fff;border:0;margin:0;padding:0}.experience-item{break-inside:avoid;padding-bottom:.55rem}.experience-item h3{font-size:.94rem}.experience-item ul{font-size:.72rem}.experience-item li+li{margin-top:.1rem}.skills-content li{border:0;min-height:0;margin:0 0 .3rem;padding:0;font-size:.75rem;background:#fff!important}.skills-content li:before{display:none}.skills-content strong{font-family:inherit;font-size:inherit;display:inline}.tools-block{margin-top:.7rem}.tools-block li{padding:.2rem .5rem;font-size:.68rem}.education-card{min-height:0;box-shadow:none;break-inside:avoid;border:0;margin-bottom:.5rem;padding:.3rem 0;background:#fff!important}.education-card-number{display:none}.education-card h3{margin:0 0 .2rem;font-size:1rem}.education-card p{font-size:.75rem}.education-card p strong{font-size:inherit;border:0;padding:0;background:0 0!important}.about-section{display:none}}
