@font-face{font-family:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8dd8a3188b79fd8f-s.a45bde5b.woff2)format("woff2");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 Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c8f209abc35ee02-s.p.a4b9a15b.woff2)format("woff2");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:DM Serif Display Fallback;src:local(Times New Roman);ascent-override:94.37%;descent-override:30.51%;line-gap-override:0.0%;size-adjust:109.78%}.dm_serif_display_1cbced3d-module__4CvwZa__className{font-family:DM Serif Display,DM Serif Display Fallback;font-style:normal;font-weight:400}.dm_serif_display_1cbced3d-module__4CvwZa__variable{--font-serif:"DM Serif Display","DM Serif Display Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");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;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_ff0318e1-module__XbD-mq__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_ff0318e1-module__XbD-mq__variable{--font-sans:"DM Sans","DM Sans Fallback"}
@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-2%,-3%)}20%{transform:translate(3%,1%)}30%{transform:translate(-1%,2%)}40%{transform:translate(2%,-2%)}50%{transform:translate(-3%,3%)}60%{transform:translate(1%,-1%)}70%{transform:translate(-2%,2%)}80%{transform:translate(3%,-3%)}90%{transform:translate(-1%,1%)}}body:has(.home-root){background:#f8f3ec}.home-root{--home-cream:#f8f3ec;--home-warm:#efe8dd;--home-brown:#8b7355;--home-brown-light:#b09a7a;--home-charcoal:#2d2d2d;--home-charcoal-soft:#4a4a4a;--home-accent:#c4836e;--home-accent-soft:#d4a090;background:var(--home-cream);min-height:100vh;color:var(--home-charcoal);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);position:relative;overflow-x:hidden}.home-root:before{content:"";pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");width:200%;height:200%;animation:8s steps(10,end) infinite grain;position:fixed;inset:-50%}.home-header{animation:1s ease-out both fadeUp}.home-subtitle{animation:1s ease-out .2s both fadeUp}.home-divider{animation:1.2s ease-out .4s both fadeIn}.home-projects-heading{animation:1s ease-out .5s both fadeUp}.project-card{transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1);animation:.8s ease-out .7s both fadeUp;position:relative}.project-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px -15px #8b735533,0 8px 20px -8px #8b735526}.val-card-heart{animation:3s ease-in-out infinite gentlePulse}.val-card-pixel{image-rendering:pixelated}.project-card:nth-child(2){animation-delay:.9s}.project-card:nth-child(3){animation-delay:1.1s}.project-card:nth-child(4){animation-delay:1.3s}.home-footer{animation:1s ease-out 1s both fadeIn}.corner-flourish{animation:1.5s ease-out .6s both fadeIn}
