svg.svelte-te0qic{top:var(--top);left:max(var(--left), -40vw);scale:var(--scale);opacity:var(--opacity);anchor-name:--logo;max-width:100%;display:block;position:absolute;overflow:visible}@media (width<=768px){svg.svelte-te0qic{top:var(--mobile-top);left:max(var(--mobile-left), -30vw);scale:var(--mobile-scale)}}@media (width<=500px){svg.svelte-te0qic{opacity:var(--mobile-opacity);top:calc(var(--mobile-top) + 7vh);left:25vw}svg.svelte-te0qic g:where(.svelte-te0qic){stroke-width:10px}}.background-wrapper.svelte-1h65m0o{z-index:0;width:100%;height:100%;position:absolute;inset:0}.background-wrapper.svelte-1h65m0o .gradient-bg:where(.svelte-1h65m0o){background:var(--clr-hero-gradient);opacity:.85;width:100%;height:100%;animation:50s ease-out infinite gradientShift;position:absolute;inset:0}.background-wrapper.svelte-1h65m0o .particle:where(.svelte-1h65m0o){background:var(--clr-gray-500);pointer-events:none;border-radius:50%;animation:linear infinite float;position:absolute}.background-wrapper.svelte-1h65m0o .shape:where(.svelte-1h65m0o){opacity:.2;border-radius:30%;animation:20s ease-out infinite shapeFloat;position:absolute}@media (width<=500px){.background-wrapper.svelte-1h65m0o .shape:where(.svelte-1h65m0o){opacity:.3}}.background-wrapper.svelte-1h65m0o .shape:where(.svelte-1h65m0o).circle{width:10vw;height:10vw;stroke:var(--clr-light-500);animation:5s ease-in-out infinite blink;top:7.5%;left:10%}@media (width<=768px){.background-wrapper.svelte-1h65m0o .shape:where(.svelte-1h65m0o).circle{stroke-width:8px;opacity:.4;width:20vw;height:20vw;top:8%;left:7%}}.background-wrapper.svelte-1h65m0o .shape:where(.svelte-1h65m0o).star{width:30vw;height:30vw;stroke:var(--clr-light-500);animation-delay:2s;top:15%;right:5%;transform:rotate(35deg)}.background-wrapper.svelte-1h65m0o .shape:where(.svelte-1h65m0o).big-circle{background:linear-gradient(90deg, var(--clr-blue-500) 40%, transparent 60%);border-radius:50%;width:50vw;height:50vw;animation-delay:0s;top:70%;right:2%}@media (width<=768px){.background-wrapper.svelte-1h65m0o .shape:where(.svelte-1h65m0o).big-circle{background:linear-gradient(45deg, transparent 40%, var(--clr-blue-500) 60%);top:18%;left:5%}}@media (prefers-reduced-motion:reduce){.background-wrapper.svelte-1h65m0o{object-fit:cover;z-index:0;opacity:.8;background-image:url(https://cdn.jsdelivr.net/gh/gabeatwell/portfolio-assets@main/images/tunnel.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;block-size:100vh;inline-size:100%;position:absolute;inset:0}.background-wrapper.svelte-1h65m0o .gradient-bg:where(.svelte-1h65m0o){animation:none}.background-wrapper.svelte-1h65m0o .particle:where(.svelte-1h65m0o){opacity:0;animation:none}.background-wrapper.svelte-1h65m0o .shape:where(.svelte-1h65m0o){animation:none}}@media (width>=300px){a.svelte-gxulz4{font-family:var(--serif);font-size:clamp(var(--h5), 2vw, var(--h3));background-color:var(--clr-warning-500-light);color:var(--blackest);border:1px solid var(--blackest);outline:3px solid var(--blackest);cursor:pointer;letter-spacing:1px;border-radius:var(--button-radius);outline-offset:-7px;width:fit-content;padding:var(--padding-button);margin-inline:auto;-webkit-user-select:none;user-select:none;margin-bottom:2%;font-weight:900;text-decoration:none;transition:outline-offset .3s ease-out,opacity .3s ease-out,scale .15s ease-out;display:inline-block}a.svelte-gxulz4:not(:hover){opacity:.85}a.svelte-gxulz4:focus-visible{outline:1px solid var(--clr-light-500);background:0 0}a.svelte-gxulz4:hover{outline-offset:0px}a.svelte-gxulz4:active{scale:.95}}@keyframes svelte-gxulz4-right{0%{transform:translate(0)}50%{transform:translate(10px)}to{transform:translate(0)}}.projects-grid.svelte-1y7bm26{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.2rem .1rem;display:grid}@media (width<=500px){.projects-grid.svelte-1y7bm26{gap:.1rem;margin-bottom:3em}}@media (width>=1100px){.projects-grid.svelte-1y7bm26{grid-template-columns:repeat(4,1fr)}.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26):nth-child(5){grid-column:2}.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26):nth-child(6){grid-column:3}}.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26){display:block;position:relative;overflow:clip}.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26) img:where(.svelte-1y7bm26){object-fit:cover;border:1px solid var(--clr-light-500);width:100%;height:100%;transition:filter .3s,scale .3s;display:block}.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26) .overlay:where(.svelte-1y7bm26){opacity:0;background:#000c;justify-content:center;align-items:center;padding:1rem;transition:transform .4s,opacity .4s;display:flex;position:absolute;inset:0;overflow:clip;transform:translate(-100%)}.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26) .overlay:where(.svelte-1y7bm26) p:where(.svelte-1y7bm26){color:var(--clr-blue-500-fade);font-family:var(--bronova);font-size:clamp(var(--h6), 1.1vw, var(--h4));text-align:center;margin-top:1.5em;font-weight:700;line-height:1.1}.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26):hover .overlay:where(.svelte-1y7bm26),.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26):focus .overlay:where(.svelte-1y7bm26){opacity:1;transform:translate(0)}.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26):hover img:where(.svelte-1y7bm26),.projects-grid.svelte-1y7bm26 .project-card:where(.svelte-1y7bm26):focus img:where(.svelte-1y7bm26){filter:blur(2px);scale:1.05}.underline.svelte-1x62o7i{--angle:180deg;width:100%;height:auto;transform:rotateY(var(--angle));margin-top:-.3em;display:block;overflow:visible}.underline-path.svelte-1x62o7i{stroke-dasharray:900;stroke-dashoffset:600px;animation:4s ease-out 1.5s forwards svelte-1x62o7i-dash}@keyframes svelte-1x62o7i-dash{to{stroke-dashoffset:0}}.hero-content.svelte-hjk31t{z-index:1;width:100%;max-inline-size:1200px;padding:calc(var(--space-md) + .8rem);flex-direction:column;justify-content:flex-start;align-items:center;min-height:80vh;display:flex;position:relative}@media (height<=700px){.hero-content.svelte-hjk31t{min-height:auto}}@media (width<=768px){.hero-content.svelte-hjk31t{padding:calc(var(--space-md) - .2rem)}}.hero-content.svelte-hjk31t .title-container:where(.svelte-hjk31t){margin-bottom:2rem}@media (height<=700px){.hero-content.svelte-hjk31t .title-container:where(.svelte-hjk31t){margin-bottom:1rem}}.hero-content.svelte-hjk31t .title-container:where(.svelte-hjk31t) .hero-title:where(.svelte-hjk31t){font-family:var(--ultra);font-size:clamp(var(--h3), 7vw, var(--xxl));color:var(--clr-dark-500);filter:drop-shadow(0 0 5px var(--clr-light-500));word-wrap:normal;overflow-wrap:break-word;-webkit-hyphens:none;hyphens:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;margin:0 0 .2em;font-weight:900;line-height:1;display:flex}@media (height<=768px){.hero-content.svelte-hjk31t .title-container:where(.svelte-hjk31t) .hero-title:where(.svelte-hjk31t){margin-bottom:1em;line-height:1.1}}.hero-content.svelte-hjk31t .title-container:where(.svelte-hjk31t) .hero-title:where(.svelte-hjk31t) .word:where(.svelte-hjk31t):first-child{font-family:var(--thunder);font-size:clamp(var(--h2), 7vw, var(--xxl));color:var(--clr-dark-500);filter:drop-shadow(0 0 5px var(--clr-light-500));text-transform:uppercase;letter-spacing:-.0195em;font-weight:700;display:inline-block;transform:scaleX(1.7)scaleY(2)}@media (width<=768px){.hero-content.svelte-hjk31t .title-container:where(.svelte-hjk31t) .hero-title:where(.svelte-hjk31t) .word:where(.svelte-hjk31t):first-child{transform:scaleX(1.3)scaleY(1.4)}}.hero-content.svelte-hjk31t .title-container:where(.svelte-hjk31t) .hero-title:where(.svelte-hjk31t) .underline-wrapper:where(.svelte-hjk31t){flex-direction:column;justify-content:center;align-items:center;margin-top:-.9em;margin-left:.75em;display:flex;transform:scaleX(1.4)}.hero-content.svelte-hjk31t .title-container:where(.svelte-hjk31t) .hero-title:where(.svelte-hjk31t) .word:where(.svelte-hjk31t){display:block}.hero-content.svelte-hjk31t .title-container:where(.svelte-hjk31t) .hero-title:where(.svelte-hjk31t) .char:where(.svelte-hjk31t){display:inline-block}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t){opacity:0;transition:all .15s ease-out;transform:translateY(30px)}@media (prefers-reduced-motion:reduce){.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t){transition:opacity .3s ease-out;transform:none}}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t).show{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t).show{transform:none}}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .summary:where(.svelte-hjk31t){font-family:var(--bronova);font-size:clamp(var(--sm), 1.25vw, var(--h3));text-align:start;letter-spacing:1px;color:var(--clr-light-500);-webkit-user-select:none;user-select:none;background:#000000b5;background:var(--clr-dark-500);inline-size:clamp(300px,65vw,1300px);padding:var(--padding-button);border:1px solid var(--clr-gray-500-fade);border-radius:var(--radius);margin:0 auto 3rem;font-weight:300;line-height:1.6}@media (width>=990px){.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .summary:where(.svelte-hjk31t){letter-spacing:2px}}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .summary:where(.svelte-hjk31t).tunnel{color:var(--fg)}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .summary:where(.svelte-hjk31t).ribbon{background:#000000b5;background:var(--clr-dark-500);padding:var(--padding-button-lg);border:1px solid var(--clr-gray-500-fade);border-radius:var(--radius);color:var(--clr-light-500)}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .button-container:where(.svelte-hjk31t){flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:3rem;display:flex}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t){margin-top:2rem}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t){flex-wrap:wrap;justify-content:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t){padding:calc(var(--space-md) - .2rem);background:var(--clr-dark-500-fade);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--clr-gray-500-fade);border-radius:12px;flex-direction:column;align-items:center;transition:all .3s;display:flex}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t).a{opacity:0;transform:translate(-50px)}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t).b{opacity:0;transform:scale(1.5)}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t).c{opacity:0;transform:translate(50px)}@media (prefers-reduced-motion:reduce){.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t){transition:none}}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t):hover,.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t):focus-within{background:var(--clr-dark-500);transform:translateY(-5px);box-shadow:0 10px 30px #0000004d}@media (prefers-reduced-motion:reduce){.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t):hover,.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t):focus-within{transform:none}}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t) .stat-number:where(.svelte-hjk31t){font-family:var(--ultra);font-size:clamp(var(--h6), 3vw, var(--h2));color:var(--clr-dark-500);text-shadow:0 0 3px var(--clr-light-500), 0 0 4px var(--clr-light-500), 0 0 5px var(--clr-light-500);flex-direction:column;align-items:center;margin:0;display:flex}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t) .stat-label:where(.svelte-hjk31t){font-family:var(--bronova);font-size:clamp(var(--sm), 2.75vw, var(--h3));color:var(--clr-light-500);text-shadow:0 0 3px var(--clr-dark-500), 0 0 4px var(--clr-dark-500), 0 0 5px var(--clr-dark-500);text-transform:uppercase;letter-spacing:1px;margin-top:.5rem;margin-bottom:0;font-weight:600}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t) .stat-label:where(.svelte-hjk31t).tunnel,.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-section:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t) .stat-label:where(.svelte-hjk31t).ribbon{color:var(--clr-light-500)}@media (width<=768px){.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t){gap:1.5rem}.hero-content.svelte-hjk31t .content-wrapper:where(.svelte-hjk31t) .stats-container:where(.svelte-hjk31t) .stat-item:where(.svelte-hjk31t){padding:calc(var(--space-md) - .45rem)}}html:not(.js) .content-wrapper.svelte-hjk31t,html:not(.js) .stat-item.a.svelte-hjk31t,html:not(.js) .stat-item.b.svelte-hjk31t,html:not(.js) .stat-item.c.svelte-hjk31t{opacity:1;transform:none}article.svelte-foahh4{min-block-size:100svh;text-align:center;height:auto;font-size:clamp(var(--h6), 4vw, var(--h1));box-shadow:none;background-color:#0000;justify-content:center;align-items:center;margin-top:1.75em;padding:5rem 0 0;display:flex;position:relative;overflow:clip}@media (height<=768px){article.svelte-foahh4{height:auto;min-height:auto;margin-top:3.5em;padding:1em 0 0}}@keyframes svelte-foahh4-gradientShift{0%{background:linear-gradient(135deg,#17262cf2 0%,#1e3c50e6 30%,#2d5578d9 60%,#14283cf2 100%)}25%{background:linear-gradient(135deg,#1a2c36f2 0%,#23415ae6 30%,#285073d9 60%,#192d41f2 100%)}50%{background:linear-gradient(135deg,#1e3246f2 0%,#284664e6 30%,#192d41d9 60%,#23374bf2 100%)}75%{background:linear-gradient(135deg,#1b2c39f2 0%,#23415ae6 30%,#23415fd9 60%,#1c3044f2 100%)}to{background:linear-gradient(135deg,#17262cf2 0%,#1e3c50e6 30%,#2d5578d9 60%,#14283cf2 100%)}}@keyframes svelte-foahh4-float{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh)rotate(180deg)}}@keyframes svelte-foahh4-shapeFloat{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-20px)rotate(120deg)}66%{transform:translateY(10px)rotate(240deg)}}@keyframes svelte-foahh4-blink{0%,50%{opacity:.1}51%,to{opacity:0}}
