@font-face{font-family:melodrama;src:url(../media/Melodrama_Variable-s.p.0ilx84ldlpp6-.woff2)format("woff2");font-display:swap;font-weight:300 700}@font-face{font-family:melodrama Fallback;src:local(Arial);ascent-override:105.37%;descent-override:30.11%;line-gap-override:9.68%;size-adjust:93.01%}.melodrama_232a4326-module__Q23fwG__className{font-family:melodrama,melodrama Fallback,Georgia,Times New Roman,serif}.melodrama_232a4326-module__Q23fwG__variable{--font-melodrama:"melodrama", "melodrama Fallback", Georgia, Times New Roman, serif}
@font-face{font-family:Archivo;font-style:italic;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/ede9723bef64b582-s.32qwji8typ-o6.woff2)format("woff2");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:Archivo;font-style:italic;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/7e314ccfd4e06172-s.p.1w76bu4vqxqqv.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:Archivo;font-style:italic;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/30fd09fbaafebc17-s.p.3go__d1fwqfu8.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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.0z23a3hpu8ttr.woff2)format("woff2");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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.p.02aqyp7acl16b.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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.14a9xpaqsbppk.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:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}.archivo_ce0fe67b-module__NsBtka__className{font-family:Archivo,Archivo Fallback}.archivo_ce0fe67b-module__NsBtka__variable{--font-archivo:"Archivo", "Archivo Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.p.200l3jur7oygh.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_3959bb52-module__Awyzaq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_3959bb52-module__Awyzaq__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--font-display:var(--font-melodrama), Georgia, serif;--font-body:var(--font-archivo), "Archivo", system-ui, sans-serif;--font-label:var(--font-mono), ui-monospace, "SFMono-Regular", monospace;--width-body:87%;--display-style:normal}h1,h2,h3{letter-spacing:-.005em;font-weight:700}p{font-stretch:var(--width-body)}
:root{--bg:#edf1e8;--bg2:#d7dbd2;--fg:#141414;--accent1:#ed6a5a;--accent2:#f4f1bb;--accent3:#9bc1bc;--accent4:#5d576b}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--fg);overflow-x:clip}body::-webkit-scrollbar{width:0}img{object-fit:cover;width:100%;height:100%}h1,h2,h3{text-transform:uppercase;font-family:var(--font-display);font-style:var(--display-style);line-height:.95}h1{font-size:5rem}h2{font-size:4rem}h3{font-size:2rem}a{color:var(--fg);text-decoration:none}p,p.ss{font-family:var(--font-body);font-size:1.25rem;font-weight:600;line-height:1.125}p.mn{text-transform:uppercase;font-family:var(--font-label);font-size:.875rem;font-weight:500;line-height:1.125}.contact-cta{justify-content:center;align-items:center;width:100vw;min-height:58svh;padding:6vh 2em;display:flex;position:relative}.contact-cta .contact-button{background:linear-gradient(45deg, var(--accent1), var(--accent2), var(--accent3), var(--accent4));cursor:pointer;background-size:400% 400%;border:.75em solid #000;border-radius:20em;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:60%;height:300px;transition:transform .2s;animation:10s ease-in-out infinite gradientMove;display:flex;position:relative;overflow:hidden;box-shadow:10px 10px 0 5px #000}.contact-cta .contact-button:before{content:"";background:repeating-linear-gradient(45deg,#00000020 0 15px,#0000 15px 30px);width:200%;height:100%;animation:30s linear infinite stripeMove;position:absolute;top:0;left:0}.contact-cta .contact-text-small{z-index:1;position:relative}.contact-cta .contact-text-large{z-index:1;font-family:var(--font-display);font-style:var(--display-style);text-transform:uppercase;font-size:7rem;font-weight:700;line-height:.95;position:relative}@keyframes gradientMove{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes stripeMove{0%{transform:translate(-50%)}to{transform:translate(0%)}}@media (max-width:1000px){h1{font-size:2.5rem}.contact-cta{height:max-content;padding:8em 2em}.contact-cta .contact-button{border-width:.4em;border-radius:2em;gap:1em;width:100%;height:220px;box-shadow:5px 5px #000}.contact-cta .contact-text-small{text-align:center;width:75%}.contact-cta .contact-text-large{font-size:3rem}}
.transition{z-index:100000;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.transition-overlay{transform-origin:top;will-change:transform;width:100%;height:100%;position:absolute;top:0;left:0;transform:scaleY(1)}.transition-overlay.overlay-1{background-color:var(--fg)}.transition-overlay.overlay-2{background-color:var(--accent1)}.transition-overlay.overlay-3{background-color:var(--accent2)}.transition-overlay.overlay-4{background-color:var(--accent3)}.transition-overlay.overlay-5{background-color:var(--accent4)}
nav{z-index:100;justify-content:space-between;align-items:center;width:100vw;padding:2em;display:flex;position:fixed;top:0;left:0;overflow-x:hidden}nav .logo{background-color:var(--fg);padding:.5em .65em}nav .logo a{color:var(--bg);-webkit-user-select:none;user-select:none}nav .menu-toggle-btn{background-color:var(--bg2);color:var(--fg);padding:.6em .65em .65em}nav .menu-toggle-btn.menu-open{background-color:var(--fg);color:var(--bg)}nav .menu-toggle-btn p{-webkit-user-select:none;user-select:none}nav .logo,nav .menu-toggle-btn{cursor:pointer;border-radius:.4em}nav .menu-toggle-btn-wrapper{clip-path:polygon(0 0,100% 0,100% 100%,0% 100%);flex-direction:column;align-items:center;height:.875rem;display:flex;position:relative}.nav-overlay{background-color:var(--bg2);pointer-events:none;opacity:0;z-index:10;width:100vw;height:100svh;position:fixed;top:0;left:0;overflow:hidden}.nav-overlay .nav-items{flex-direction:column;align-items:center;gap:1em;display:flex;position:absolute;top:47.5%;left:50%;transform:translate(-50%,-50%)}.nav-overlay .nav-items .nav-item{will-change:transform;opacity:0;background-color:var(--bg);border-radius:.5em;position:relative;transform:translateY(100%)}.nav-overlay .nav-items .nav-item p{-webkit-user-select:none;user-select:none;font-size:2rem}.nav-overlay .nav-items .nav-item.active{background-color:var(--fg)}.nav-overlay .nav-items .nav-item.active p a{color:var(--bg)}.nav-overlay .nav-items .nav-item p a{padding:.5em .5em .3em;display:block}.nav-overlay .nav-footer{text-align:center;justify-content:space-between;align-items:flex-end;gap:1.5em;width:100%;padding:2em;display:flex;position:absolute;bottom:0;left:0}.nav-overlay .nav-footer .nav-footer-item{flex-direction:column;gap:.5em;display:flex}.nav-overlay .nav-footer .nav-footer-item p{-webkit-user-select:none;user-select:none;font-size:.75rem}.nav-overlay .nav-footer .nav-footer-item .nav-footer-item-header{opacity:0;justify-content:center;gap:.75em;display:flex;position:relative;transform:translateY(100%)}.nav-overlay .nav-footer .nav-footer-item .nav-footer-item-header p{background-color:var(--bg);color:var(--fg);text-align:center;border-radius:.4em;padding:.5em .65em}.nav-overlay .nav-footer .nav-footer-item .nav-footer-item-copy{opacity:0;justify-content:center;gap:.75em;display:flex;position:relative;transform:translateY(100%)}.nav-overlay .nav-footer-item:first-child .nav-footer-item-header{justify-content:flex-start}.nav-overlay .nav-footer-item:nth-child(3) .nav-footer-item-header{justify-content:flex-end}.nav-overlay .nav-footer .nav-footer-item:last-child{margin-top:1em}@media (max-width:1000px){.nav-overlay .nav-items .nav-item p{font-size:1.5rem}.nav-overlay .nav-footer{flex-direction:column;justify-content:center;align-items:center}.nav-overlay .nav-footer-item:first-child .nav-footer-item-header{justify-content:center}.nav-overlay .nav-footer-item:nth-child(2){display:none}.nav-overlay .nav-footer-item:nth-child(3) .nav-footer-item-header{justify-content:center}}.locale-switcher{gap:.4em;margin:0;padding:0;list-style:none;display:flex}.locale-switcher a{font-family:var(--font-label);letter-spacing:.08em;border:1px solid var(--fg);opacity:.45;border-radius:.4em;padding:.45em .7em;font-size:.75rem;font-weight:500;line-height:1;transition:opacity .2s,background-color .2s,color .2s;display:inline-block}.locale-switcher a:hover,.locale-switcher a:focus-visible{opacity:1}.locale-switcher a.is-active{opacity:1;background-color:var(--fg);color:var(--bg)}
.hero{flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100svh;padding:2em;display:flex;position:relative;overflow-x:hidden}.hero .hero-header h1{font-size:18vw;line-height:.9}.hero .hero-header.hero-header-1{z-index:-1;position:relative;transform:translate(-2%)}.hero .hero-header.hero-header-2{z-index:2;position:relative;transform:translate(10%)}.hero .hero-footer{justify-content:space-between;width:100%;padding:2em;display:flex;position:absolute;bottom:0}.hero .hero-footer .hero-footer-scroll-down{position:absolute;left:50%;transform:translate(-50%)}.hero .hero-footer .hero-footer-symbols{height:1rem}.hero-img-holder{width:100vw;height:100svh;padding:2em;position:relative}.hero-img-holder .hero-img{border:.3em solid var(--fg);border-radius:2em;width:100%;height:100%;position:relative;overflow:hidden;transform:translateY(-110%)scale(.25)rotate(-15deg)}.featured-work{width:100vw;height:100svh;position:relative;overflow:hidden}.featured-work .featured-titles{will-change:transform;width:500vw;height:100vh;display:flex;position:relative}.featured-work .featured-title-wrapper{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.featured-title-img{border:.2em solid var(--fg);border-radius:1em;width:calc(100% - 4em);height:150px;display:none;position:relative;top:0;overflow:hidden}.featured-work .featured-title-wrapper h1{text-align:center;transform:translateY(-.5em)}.featured-work .featured-images{width:200vw;height:200vh;transform-style:preserve-3d;perspective:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.featured-work .featured-img-card{border-radius:2em;width:300px;height:300px;position:absolute;overflow:hidden}.featured-work .featured-work-indicator{background-color:var(--fg);width:2rem;height:max-content;color:var(--bg);z-index:10;border-radius:40px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1.25rem .65rem;display:flex;position:absolute;top:50%;right:2em;transform:translateY(-50%)}.featured-work .featured-work-indicator .indicator{background-color:var(--bg);opacity:.2;width:100%;height:1.5px}.featured-work .featured-work-footer{z-index:2;justify-content:space-between;align-items:center;width:100%;padding:2em;display:flex;position:absolute;bottom:0}.services-header{text-align:center;justify-content:center;align-items:center;width:100vw;height:100vh;padding:2em;display:flex;position:relative}.services-header .services-profile-icon{outline:.25rem solid var(--accent3);border:.25rem solid var(--fg);border-radius:1em;width:100px;height:100px;margin-bottom:2em;position:relative;overflow:hidden}.services-header .services-header-content{flex-direction:column;justify-content:center;align-items:center;gap:1em;display:flex}.services-header .services-header-title{margin-bottom:.4em}.services-header .services-header-lead{opacity:.8;max-width:54ch;margin-bottom:4em;font-weight:400}.services{padding:4vh 0 0;display:flow-root}.services .service-card{top:calc(12vh + var(--i) * 26px);margin-bottom:58vh;position:sticky}.services .service-card:last-of-type{margin-bottom:0}.services .services-tail{height:45vh}.services .service-card-inner{will-change:transform;border:.35em solid var(--fg);width:min(1080px,100vw - 3em);height:100%;box-shadow:10px 10px 0px 0px var(--fg);border-radius:2em;justify-content:center;align-items:center;min-height:380px;margin:0 auto;padding:3em 2.5em;display:flex;position:relative}.services .service-card-content{text-align:center;flex-direction:column;align-items:center;gap:.9em;max-width:62ch;display:flex}.services .service-step{opacity:.65;letter-spacing:.14em}.services .service-card-content h2{text-wrap:balance;font-size:3.25rem}.services .service-body{text-wrap:pretty;font-size:1.2rem;font-weight:400;line-height:1.5}.services #service-card-1 .service-card-inner{background-color:var(--accent1)}.services #service-card-2 .service-card-inner{background-color:var(--accent2)}.services #service-card-3 .service-card-inner{background-color:var(--accent3)}.services #service-card-4 .service-card-inner{background-color:var(--fg);color:var(--bg)}@media (max-width:1000px){.hero .hero-footer .hero-footer-symbols{display:none}.hero .hero-footer{flex-direction:column;align-items:flex-start;gap:.75em;display:flex}.hero .hero-footer .hero-footer-scroll-down{position:static;transform:none}.featured-work{padding:4em 0}.featured-work,.featured-work .featured-titles{height:max-content}.featured-work .featured-title-wrapper{gap:1em}.featured-work .featured-title-wrapper:first-child{margin-bottom:2em}.featured-work .featured-title-wrapper h1{width:75%;transform:translateY(0)}.featured-work .featured-work-footer{justify-content:center;margin-top:4em;position:relative}.featured-work .featured-work-footer p:first-child,.featured-work .featured-work-footer p:nth-child(2),.featured-work .featured-work-indicator,.featured-work .featured-images{display:none}.featured-title-img{display:block}.featured-work .featured-titles{flex-direction:column;gap:2em;width:100vw}.services-header{height:max-content}.services{flex-direction:column;gap:2em;display:flex}.services .service-card-inner{text-align:center;border:.2em solid var(--fg);border-radius:1em;flex-direction:column;justify-content:center;gap:1em;min-height:0}.services .service-card-img{aspect-ratio:5/3;border:.2em solid var(--fg);border-radius:1em}.services .service-card-inner{width:calc(100vw - 2em);min-height:300px;box-shadow:6px 6px 0px 0px var(--fg);padding:2.25em 1.5em}.services .service-card-content h2{font-size:2rem}.services .service-body{font-size:1.05rem}.services-header .services-header-lead{margin-bottom:2.5em}}.hero-scroll-btn{font:inherit;color:inherit;cursor:pointer;letter-spacing:inherit;text-transform:inherit;background:0 0;border:none;border-bottom:2px solid;padding:0}.hero-scroll-btn:focus-visible{outline:2px solid var(--accent1);outline-offset:4px}
.about-hero{background-color:var(--bg);width:100vw;min-height:100svh;color:var(--fg);flex-direction:column;justify-content:center;align-items:center;gap:2.5em;padding:8em 2em 6em;display:flex;position:relative;overflow-x:clip}.about-hero .about-hero-header{text-align:center}.about-hero .about-hero-header h1{font-size:7.5rem}.about-hero .about-hero-bio{text-align:center;width:min(62ch,100%)}.about-hero .about-hero-portrait{aspect-ratio:5/7;border:.25em solid var(--accent3);outline:.25em solid var(--accent1);border-radius:1em;flex-shrink:0;width:min(210px,34vw);position:relative;overflow:hidden;rotate:4deg}.about-hero .about-hero-bio{flex-direction:column;gap:2em;display:flex}.about-copy{width:100vw;height:100%;padding:8em 2em;position:relative}.about-copy .about-copy-content{text-align:center;background-color:var(--accent1);border:.25em solid var(--fg);border-radius:1em;flex-direction:column;gap:2em;width:50%;margin:0 auto;padding:3em 2em;display:flex}.about-copy .about-copy-content h3{font-weight:400}.about-copy .about-copy-content h3 span{font-weight:900}.about-copy .tag{background-color:var(--fg);border-radius:.5em;width:max-content;position:absolute}.about-copy .tag p{text-transform:uppercase;color:var(--bg);padding:.75em .5em .5em;font-size:1rem}.about-copy #tag-1{top:50%;left:25%;transform:translate(-50%,-50%)rotate(20deg)}.about-copy #tag-2{top:65%;left:10%;transform:translate(-50%,-50%)rotate(-45deg)}.about-copy #tag-3{top:50%;left:75%;transform:translate(-50%,-50%)rotate(5deg)}.about-copy #tag-4{top:75%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.about-copy #tag-5{top:100%;left:80%;transform:translate(-50%,-50%)rotate(-60deg)}.skills{width:100%;height:100%;padding:4em 2em;position:relative}.skills .skills-copy{text-align:center;border:.2em dashed var(--fg);border-radius:1em;width:max-content;margin:0 auto;padding:2em}.stats{flex-direction:column;gap:2em;padding:8em 2em;display:flex}.stats .stats-row{gap:2em;display:flex}.stats .stats-header{flex:1}.stats .stats-item-1{background-color:var(--accent1);flex:1}.stats .stats-item-2{background-color:var(--accent3);flex:3}.stats .stats-item-3{background-color:var(--fg);color:var(--bg);flex:2}.stats .stats-item-1,.stats .stats-item-2,.stats .stats-item-3{aspect-ratio:16/7;border-radius:1em;padding:2em}.stats .stats-col{flex-direction:column;justify-content:space-between;display:flex}@media (max-width:1000px){.about-hero{padding:8em 2em 4em}.about-hero .about-hero-header h1{font-size:4rem}.about-hero .about-hero-bio{width:100%}.about-hero .about-hero-portrait{width:min(170px,42vw)}.about-hero .about-hero-portrait img{height:110%;position:absolute}.about-copy .about-copy-content{width:100%}.about-copy .about-copy-content h3{font-size:1.5rem}.about-copy .tag{display:none}.skills .skills-copy{text-align:center;border:none;border-radius:0;width:100%;padding:0}.stats .stats-row{flex-direction:column}.stats .stats-col{text-align:center;gap:4em;width:100%}.stats .stats-header{gap:2em;margin-bottom:2em}}.about-stats{border-top:2px solid var(--fg);flex-wrap:wrap;justify-content:center;gap:1.5em 3.5em;width:min(900px,100%);padding-top:1.5em;display:flex}.about-stats>div{text-align:center;flex-direction:column;align-items:center;gap:.2em;min-width:9ch;display:flex}.about-stats-flags{filter:grayscale()contrast(1.15);gap:.15em;font-size:2.1rem;line-height:1.4;display:flex}.about-stats dt{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:3rem;font-weight:700;line-height:1}.about-stats dd{font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;opacity:.7;white-space:nowrap;margin:0;font-size:.72rem;line-height:1.5}@media (max-width:1000px){.about-stats{gap:1.25em 2em}.about-stats dt{font-size:2.25rem}}
footer{width:100vw;height:71svh;color:var(--bg);flex-direction:column;justify-content:space-between;align-items:center;padding:2em;display:flex;position:relative;overflow:hidden}footer .footer-container{background-color:var(--fg);border-radius:2em;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:2em;display:flex;position:relative;overflow:hidden}footer .footer-header{text-align:center;position:relative}footer .footer-row{gap:2em;display:flex}footer .footer-col{flex-direction:column;flex:1;align-items:center;gap:1em;display:flex}footer .footer-col a,footer .copyright-info a{color:var(--bg)}footer .footer-col p:not(:first-child){opacity:.35}footer .copyright-info{justify-content:center;gap:2em;width:100%;display:flex;position:relative}footer .footer-symbols{justify-content:space-between;width:100%;padding:2em;display:flex;position:absolute;left:0}footer .footer-symbols img{width:auto;height:1rem}footer .footer-symbols-1{top:0}footer .footer-symbols-2{bottom:0}footer .explosion-container{pointer-events:none;width:100%;height:200%;position:absolute;bottom:0;left:0;overflow:hidden}footer .explosion-particle-img{object-fit:cover;will-change:transform;border-radius:1rem;width:150px;height:auto;position:absolute;bottom:-200px;left:50%;transform:translate(-50%)}@media (max-width:1000px){footer{height:100svh}footer .copyright-info{text-align:center;flex-direction:column;gap:.5em}footer .copyright-info p:nth-child(2){display:none}footer .footer-row{flex-direction:column;margin-bottom:2em}footer .footer-row .footer-col:nth-child(2),footer .footer-row .footer-col:nth-child(4){display:none}footer .footer-header{margin-top:2.25em}footer .explosion-particle-img{width:90px}}footer .marquee{opacity:0;width:100%;margin:1.5em 0;transition:opacity .6s,transform .6s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden;transform:translateY(18px);-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}footer .marquee-track{width:max-content;animation:38s linear infinite paused marqueeDesplazar;display:flex}footer .marquee.is-visible .marquee-track{animation-play-state:running}footer .marquee-group{align-items:center;margin:0;padding:0;list-style:none;display:flex}footer .marquee-group li{font-family:var(--font-display);text-transform:uppercase;color:var(--bg);white-space:nowrap;align-items:center;gap:.32em;padding-right:.32em;font-size:clamp(2.25rem,5vw,4rem);font-weight:700;line-height:1.1;display:flex}footer .marquee-sep{opacity:.45;font-size:.4em;transform:translateY(-.15em)}footer .marquee.is-visible{opacity:1;transform:translateY(0)}@keyframes marqueeDesplazar{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){footer .marquee{transition:none;transform:none}footer .marquee-track{animation:none}}
.contact{background-color:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:2.5em;width:100vw;min-height:100svh;padding:7em 1.5em 4em;display:flex;position:relative;overflow:hidden}.contact .trail-img{object-fit:cover;transform-origin:50%;pointer-events:none;will-change:transform;border:2px solid var(--fg);width:120px;height:120px;box-shadow:4px 4px 0px var(--fg);border-radius:.75em;position:absolute}.contact-left{text-align:center;z-index:2;flex-direction:column;align-items:center;gap:1.25em;max-width:58ch;display:flex}.contact-card-header-main{flex-direction:column;gap:1em;display:flex}.contact-card-header-main h1{text-transform:uppercase;font-family:var(--font-display);color:var(--fg);font-size:clamp(2.5rem,6vw,4rem);font-style:italic;line-height:.95}.contact-card-header-main p{font-family:var(--font-body);color:var(--fg);max-width:90%;font-size:1rem;font-weight:600;line-height:1.125}.contact-info{flex-direction:column;gap:1em;margin-top:1.5em;display:flex}.contact-info-item{flex-direction:column;gap:.5em;display:flex}.contact-info-item .label{text-transform:uppercase;font-family:var(--font-label);background-color:var(--fg);width:max-content;color:var(--bg);border-radius:.2em;padding:.2em .4em;font-size:.75rem;font-weight:500;line-height:1.125}.contact-info-item a{font-family:var(--font-label);text-transform:uppercase;color:var(--fg);font-size:.75rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block;position:relative}.contact-info-item a:hover{color:var(--accent1);transform:translate(8px)}.contact-form-container{background-color:var(--bg2);border:2px solid var(--fg);z-index:2;box-shadow:6px 6px 0px var(--fg);border-radius:1.5em;width:min(620px,100%);margin-inline:auto;padding:2em;position:relative;overflow:hidden}.contact-form-container:before{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#0000 0 8px,#14141405 8px 16px);position:absolute;inset:0}.contact-form{z-index:1;flex-direction:column;gap:1.5em;display:flex;position:relative}.form-header{text-align:center;margin-bottom:.75em}.form-header h2{text-transform:uppercase;font-family:var(--font-display);color:var(--fg);margin-bottom:.4em;font-size:3rem;font-style:italic;line-height:.95}.form-header p{font-family:var(--font-body);color:var(--fg);opacity:.8;font-size:1rem;font-weight:600;line-height:1.125}.form-row{grid-template-columns:1fr 1fr;gap:1em;display:grid}.form-group{flex-direction:column;gap:.5em;display:flex;position:relative}.form-group.full-width{grid-column:1/-1}.form-group label{text-transform:uppercase;font-family:var(--font-label);color:var(--fg);font-size:.75rem;font-weight:500;line-height:1.125;transition:all .3s}.form-group input,.form-group textarea,.form-group select{background-color:var(--bg);border:2px solid var(--fg);color:var(--fg);font-family:var(--font-body);border-radius:.75em;padding:1em 1.25em;font-size:1rem;font-weight:500;transition:all .4s cubic-bezier(.4,0,.2,1)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent1);background-color:var(--bg);box-shadow:3px 3px 0px var(--accent1);outline:none;transform:translateY(-2px)}.form-group input:focus+label,.form-group textarea:focus+label,.form-group select:focus+label{color:var(--accent1);transform:translateY(-2px)}.form-group textarea{resize:vertical;min-height:100px;font-family:var(--font-body)}.form-group select{cursor:pointer}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--fg);opacity:.5}.submit-btn{background:linear-gradient(45deg, var(--accent1), var(--accent2), var(--accent3), var(--accent4));color:var(--fg);border:2px solid var(--fg);font-family:var(--font-label);text-transform:uppercase;cursor:pointer;box-shadow:4px 4px 0px var(--fg);background-size:400% 400%;border-radius:1.5em;margin-top:.75em;padding:1em 2.5em;font-size:.75rem;font-weight:500;transition:all .4s cubic-bezier(.4,0,.2,1);animation:6s ease-in-out infinite gradientMove;position:relative;overflow:hidden}.submit-btn:before{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#0000000d 0 8px,#0000 8px 16px);width:200%;height:100%;animation:20s linear infinite stripeMove;position:absolute;top:0;left:0}.submit-btn:hover{box-shadow:6px 6px 0px var(--fg);transform:translateY(-2px)}.submit-btn:active{box-shadow:2px 2px 0px var(--fg);transform:translateY(-1px)}.success-message{background-color:var(--accent3);border:2px solid var(--fg);color:var(--fg);text-align:center;font-family:var(--font-body);opacity:0;box-shadow:3px 3px 0px var(--fg);border-radius:.75em;margin-top:.75em;padding:.75em 1.25em;font-weight:600;transition:all .4s;transform:translateY(15px)}.success-message.show{opacity:1;transform:translateY(0)}.floating-elements{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.floating-element{background-color:var(--accent1);opacity:.4;border-radius:50%;width:5px;height:5px;animation:12s linear infinite float;position:absolute}.floating-element:nth-child(2n){background-color:var(--accent3)}.floating-element:nth-child(3n){background-color:var(--accent2)}@keyframes float{0%{opacity:0;transform:translateY(100vh)rotate(0)}10%{opacity:.4}90%{opacity:.4}to{opacity:0;transform:translateY(-100px)rotate(360deg)}}@keyframes gradientMove{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes stripeMove{0%{transform:translate(-50%)}to{transform:translate(0%)}}@media (max-width:1200px){.contact{grid-template-columns:1fr;gap:2em;padding:1.5em 1em}.contact-card-header-main p{max-width:100%}}@media (max-width:1000px){.contact-card-header-main h1{font-size:clamp(2rem,5vw,3rem)}.form-header h2{font-size:2rem}}@media (max-width:768px){.contact{gap:1.5em;padding:1em}.contact-form-container{border-radius:1em;max-width:100%;padding:1.5em}.form-row{grid-template-columns:1fr;gap:.75em}.contact-card-header-main h1{font-size:clamp(1.75rem,8vw,2rem)}.form-header h2{font-size:clamp(1.25rem,6vw,1.5rem)}}
.projects{max-width:1600px;margin:0 auto;padding:10em 2em 6em}.projects-header{flex-direction:column;gap:.75em;margin-bottom:4em;display:flex}.projects-header .ss{max-width:55ch}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:2.5em;list-style:none;display:grid}.project-card{border:.35em solid var(--fg);background:var(--bg2);box-shadow:8px 8px 0px 0px var(--fg);border-radius:2em;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.project-card:hover,.project-card:focus-within{box-shadow:12px 12px 0px 0px var(--fg);transform:translate(-3px,-3px)}.project-card-img{aspect-ratio:16/10;border-bottom:.35em solid var(--fg);overflow:hidden}.project-card-body{flex-direction:column;flex:1;gap:.85em;padding:1.5em 1.5em 1.75em;display:flex}.project-card-body h2{font-size:2rem}.project-card-body p{font-size:1rem;line-height:1.45}.project-tags{flex-wrap:wrap;gap:.5em;margin-top:auto;padding-top:.5em;list-style:none;display:flex}.project-tags li{border:1px solid var(--fg);border-radius:2em;padding:.3em .85em;font-size:.7rem}.project-link{border-bottom:2px solid var(--fg);align-self:flex-start;padding-bottom:2px}.project-link-off{opacity:.5;border-bottom-style:dashed}@media (max-width:1000px){.projects{padding:8em 1.25em 4em}.projects-grid{grid-template-columns:1fr;gap:2em}.project-card-body h2{font-size:1.5rem}}.project-card-noimg{background:repeating-linear-gradient(45deg, var(--bg) 0 12px, var(--bg2) 12px 24px);place-items:center;width:100%;height:100%;display:grid}.project-card-noimg span{font-family:var(--font-display);text-transform:uppercase;opacity:.35;text-align:center;padding:0 1em;font-size:2rem}
.contact-dialog{border:.35em solid var(--fg);background:var(--bg);color:var(--fg);width:min(680px,100vw - 2.5em);max-height:min(88vh,900px);box-shadow:12px 12px 0px 0px var(--fg);border-radius:1.5em;margin:auto;padding:0;position:fixed;inset:0}.contact-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1414148c}.contact-dialog-inner{max-height:inherit;padding:1.75em;overflow-y:auto}.contact-dialog-header{justify-content:space-between;align-items:baseline;gap:1em;margin-bottom:.4em;display:flex}.contact-dialog-header h2{font-size:2.5rem}.contact-dialog-close{cursor:pointer;color:var(--fg);font:inherit;border:none;border-bottom:2px solid var(--fg);white-space:nowrap;background:0 0;padding:.35em 0}.contact-dialog-intro{opacity:.75;margin-bottom:1.5em;font-size:1rem}.contact-cta button.contact-button{font:inherit;color:var(--fg);text-align:center}@media (prefers-reduced-motion:no-preference){.contact-dialog[open]{animation:.25s ease-out dialogIn}@keyframes dialogIn{0%{opacity:0;transform:translateY(12px)scale(.98)}}}@media (max-width:1000px){.contact-dialog-header h2{font-size:1.75rem}.contact-dialog-inner{padding:1.25em}}.contact-fab{opacity:0;pointer-events:none;visibility:hidden;z-index:40;width:60px;height:60px;font:inherit;cursor:pointer;color:var(--bg);background:var(--fg);border:.18em solid var(--fg);box-shadow:5px 5px 0px 0px var(--accent1);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .35s,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .18s,visibility 0s linear .35s;display:inline-flex;position:fixed;bottom:1.5em;right:1.5em;transform:translateY(16px)scale(.94)}.contact-fab.is-visible{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:translateY(0)scale(1)}html.menu-open .contact-fab.is-visible{opacity:0;pointer-events:none;visibility:hidden;transition-delay:0s,0s,0s,.35s;transform:translateY(16px)scale(.94)}.contact-fab.is-visible:hover,.contact-fab.is-visible:focus-visible{box-shadow:8px 8px 0px 0px var(--accent1);transform:translate(-2px,-2px)}.contact-fab:focus-visible{outline:3px solid var(--accent1);outline-offset:3px}@media (max-width:1000px){.contact-fab{width:54px;height:54px;bottom:1em;right:1em}}@media (prefers-reduced-motion:reduce){.contact-fab{transition:none;transform:none}.contact-fab.is-visible{transform:none}}
