@import url(https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@200;300;400&display=swap);*{box-sizing:border-box}:root{--bg:#f4f4f6;--text:#2a2a2e;--nav-bg:#f4f4f699;--nav-text:#2a2a2e;--accent:#a0a8b8;--muted:#9a9aa8;--surface:#ffffff80;--border:#a0a8b833;--shadow:0 8px 40px #0000000f}body.dark{--bg:#18181c;--text:#e8e8f0;--nav-bg:#18181c99;--nav-text:#e8e8f0;--accent:#6b7a99;--muted:#5a5a6a;--surface:#28283280;--border:#646e8c2e;--shadow:0 8px 40px #0003}@keyframes drift-a{0%,to{transform:translate(0) scale(1)}50%{transform:translate(2%,3%) scale(1.06)}}@keyframes drift-b{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-3%,-2%) scale(1.04)}}@keyframes drift-c{0%,to{transform:translate(0) scale(1)}50%{transform:translate(1%,-3%) scale(1.07)}}body:after,body:before{content:"";inset:0;pointer-events:none;position:fixed;z-index:0}body:before{animation:drift-a 25s ease-in-out infinite;background:radial-gradient(ellipse at 15% 20%,#c8d2eb73 0,#0000 55%),radial-gradient(ellipse at 80% 75%,#b4c0dc59 0,#0000 50%)}body:after{animation:drift-b 32s ease-in-out infinite;background:radial-gradient(ellipse at 65% 10%,#d7dcf04d 0,#0000 50%),radial-gradient(ellipse at 30% 85%,#bec8e140 0,#0000 55%)}body.dark:before{background:radial-gradient(ellipse at 15% 20%,#3c486e59 0,#0000 55%),radial-gradient(ellipse at 80% 75%,#2d375a47 0,#0000 50%)}body.dark:after{background:radial-gradient(ellipse at 65% 10%,#46527840 0,#0000 50%),radial-gradient(ellipse at 30% 85%,#323c5f33 0,#0000 55%)}html{scroll-behavior:smooth}body{background-color:#f4f4f6;background-color:var(--bg);color:#2a2a2e;color:var(--text);font-family:DM Sans,sans-serif;font-weight:300;letter-spacing:.03em;margin:0;transition:background-color .4s ease,color .4s ease}footer,header,main,nav{position:relative;z-index:1}main{padding-top:80px}h1,h2,h3{font-family:"DM Serif Display",serif;font-weight:400;letter-spacing:.04em;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3.5vw,2.5rem)}h3{font-size:clamp(1.1rem,2vw,1.6rem)}a,li,p{font-family:DM Sans,sans-serif;font-weight:300;line-height:1.75}.section{font-size:1.3em;margin:0 8vw 6rem;min-height:100vh;padding:8rem 2rem}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-group>*{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal-group.visible>:first-child{opacity:1;transform:none;transition-delay:0s}.reveal-group.visible>:nth-child(2){opacity:1;transform:none;transition-delay:.1s}.reveal-group.visible>:nth-child(3){opacity:1;transform:none;transition-delay:.2s}.reveal-group.visible>:nth-child(4){opacity:1;transform:none;transition-delay:.3s}.reveal-group.visible>:nth-child(5){opacity:1;transform:none;transition-delay:.4s}.reveal-group.visible>:nth-child(6){opacity:1;transform:none;transition-delay:.5s}@media (max-width:900px){.section{margin:0;padding:5rem 1.5rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.navbar{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--nav-bg);color:var(--nav-text);display:flex;font-weight:700;justify-content:flex-end;opacity:.9;padding:1rem 2rem;position:fixed;top:0;width:100%;z-index:1000}.nav-links{display:flex;justify-content:space-evenly}.nav-links a{color:var(--nav-text);padding:0 1rem;position:relative;text-decoration:none;transition:all .2s ease-in-out}.nav-links a:hover{color:var(--accent)}.nav-links a:active{color:#fff}.nav-links a:after{background:#7f7f7f66}.hamburger{cursor:pointer;display:none;flex-direction:column}.hamburger span{background:var(--nav-text);height:3px;margin:4px 0;width:25px}.nav-actions{align-items:center;display:flex;gap:1rem}.theme-btn{background:none;border:1px solid var(--nav-text);border-radius:6px;color:var(--nav-text);cursor:pointer;padding:.4rem .6rem}.theme-btn:hover{background:var(--accent);color:#000}@media (max-width:768px){.hamburger{display:flex}.nav-links{align-items:center;background:var(--nav-bg);flex-direction:column;left:0;max-height:0;overflow:hidden;position:absolute;top:65px;transition:max-height .6s ease;width:100%}.nav-links.open{max-height:300px}.nav-links a{color:var(--nav-text);padding:1rem 0}.nav-links a:not(:last-child){border-right:none}}#intro{display:flex;flex-direction:column;font-size:1.5rem}#intro h1{font-size:5rem;margin-bottom:0;text-shadow:var(--text) 1px 0 10px}#intro-nav{display:flex;flex-direction:row;justify-content:flex-start;margin-top:1.5rem}#intro-btn-container{display:flex;gap:1rem;margin-top:2rem}#intro-btn-container a{border:1px solid var(--text);border-radius:6px;padding:.6rem 1.2rem;text-decoration:none;transition:all .2s ease}#intro-btn-container a:first-child{background:var(--text);border:1px solid var(--text);color:var(--bg)}#intro-btn-container a:last-child{background:#0000;border:1px solid var(--text);color:var(--text)}#intro-btn-container a:hover{box-shadow:5px 10px 30px var(--text);transform:translateY(-2px)}#intro-btn-container a:active{transform:translateY(4px)}.intro-container{align-items:center;display:flex;gap:4rem;justify-content:space-around}.intro-text{flex:1 1}.intro-image{flex:0,0 auto;text-align:center}.intro-image img{border-radius:50%;box-shadow:0 10px 25px #00000040;display:block;height:clamp(160px,20vw,480px);margin-left:auto;margin-right:auto;object-fit:cover;width:clamp(160px,20vw,480px)}.intro-title{min-height:1.5em;transition:opacity .4s ease,transform .4s ease}.fade-in{opacity:1;transform:translateY(0)}.fade-out{opacity:0;transform:translateY(8px)}.typewriter{font-size:1.1rem}.cursor{animation:blink 1.5s infinite;display:inline-block;margin-left:2px}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:0}}@media (max-width:768px){.intro-container{flex-direction:column}}.about-container{align-items:flex-start;display:flex;flex-direction:row;font-family:Old Standard TT,serif;gap:3rem;justify-content:space-evenly}.about-container p{flex:1 1;line-height:1.4;padding-left:2rem}#about-left-container img{height:50vh;width:50vw}#about-left-container figcaption{align-items:center;display:flex;justify-content:space-between}@media (max-width:900px){.about-container{flex-direction:column}#about-left-container img{height:100%;width:100%}}.skills-container{display:flex;flex-direction:row;gap:3rem;justify-content:space-evenly}.skills-container hr{border:2px solid var(--text);box-shadow:0 0 50px var(--text)}.skills-list{display:flex;flex-direction:column;gap:1.2rem;list-style:none;padding:0}.skills-list li{align-items:center;display:flex;gap:.6rem;transition:transform .2s,opacity .2s}.skills-list li:hover{opacity:.8;transform:scale(1.15)}.skills-list img{height:26px;width:26px}@media (max-width:900px){.skills-container{flex-direction:column}.skills-list{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));list-style:none;padding:0}hr{display:none}}.carousel{align-items:center;display:flex;gap:1.5rem;justify-content:center;width:100%}.carousel-track{flex:1 1;max-width:800px;overflow:hidden;position:relative}@keyframes slideInRight{0%{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}.carousel-track.slide-left .project-card{animation:slideInLeft .3s ease forwards}.carousel-track.slide-right .project-card{animation:slideInRight .3s ease forwards}.carousel-btn{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;font-size:2rem;opacity:.6;padding:.5rem 1rem;transition:opacity .2s}.carousel-btn:hover{opacity:1}.carousel-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.5rem}.carousel-dot{background:var(--text);border:none;border-radius:50%;cursor:pointer;height:8px;opacity:.3;padding:0;transition:opacity .2s;width:8px}.carousel-dot.active{opacity:1}.project-card{aspect-ratio:16/9;border-radius:14px;box-shadow:0 10px 25px #00000040;cursor:pointer;height:auto;overflow:hidden;position:relative;width:100%}.project-card img{height:100%;object-fit:cover;transition:.3s ease;width:100%}.project-overlay{background:#0000008c;color:#fff;display:flex;flex-direction:column;font-size:.7em;inset:0;justify-content:center;opacity:0;padding:1rem;position:absolute;text-transform:none;transition:.3s ease}.project-card:hover img{filter:blur(3px) brightness(.7)}.project-card:hover .project-overlay{opacity:1}.modal-backdrop{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed}.project-modal{background:var(--nav-bg);border-radius:16px;max-width:600px;padding:2rem;width:90%}.project-modal img{border-radius:12px;width:100%}.project-modal p{font-size:.7em;text-transform:none}.stack span{background:var(--nav-bg);border-radius:999px;box-shadow:0 5px 30px var(--accent);color:var(--text);display:inline-block;margin:.3rem;padding:.3rem .7rem}.modal-image-wrapper{position:relative}.modal-close{background:red;border:none;border-radius:50%;box-shadow:0 4px 12px #0006;color:#fff;cursor:pointer;font-size:18px;height:36px;position:absolute;right:-12px;top:-12px;transition:transform .2s ease,background .2s ease;width:36px}.modal-close:hover{background:#e74c3c;transform:scale(1.1)}.modal-actions{gap:1rem;margin-top:1.5rem}.live-btn,.modal-actions{align-items:center;display:flex}.live-btn{background:var(--text);border-radius:8px;box-shadow:0 6px 18px var(--text);color:var(--bg);font-weight:600;height:42px;justify-content:center;padding:0 1.2rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.live-btn:hover{transform:translateY(-2px)}.github-btn{align-items:center;border-radius:8px;box-shadow:0 6px 18px var(--text);display:flex;height:42px;justify-content:center;transition:transform .2s ease,background .2s ease;width:42px}.github-btn img{height:20px;width:20px}.github-btn:hover{transform:translateY(-2px)}.surface{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}@media (max-width:768px){.carousel{gap:.25rem}.carousel-btn{font-size:1.25rem;padding:.5rem}.project-modal{padding:1.25rem}}.business-card{aspect-ratio:7/4;background-color:#f2ebe3;box-shadow:0 10px 25px #000000b3;color:#111;font-family:EB Garamond,Garamond,serif;font-size:1rem;font-weight:600;height:min(0,85vh);margin:10em auto auto;opacity:0;padding:2rem;transform:translateY(-60px) scale(.95);transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1);width:min(700px,85vw)}.business-card.show{opacity:1;transform:translateY(0) rotate(-2deg)}.card-top{align-items:center;display:flex;justify-content:space-between}.card-top a{color:#111;font-family:EB Garamond,Garamond,serif;text-decoration:none;transition:transform .2s,opacity .2s}.card-top a:hover{opacity:.8;transform:scale(1.15)}.card-middle{margin:40px;padding:clamp(.5rem,2vw,1.5rem);text-align:center}.card-middle h1{font-family:EB Garamond,Garamond,serif;font-size:1.8rem;font-weight:600}.card-middle p{margin:0;opacity:.7}.phone{text-align:left}.email,.phone{font-size:.9rem}.email{text-align:right}.card-bottom{display:flex;font-size:.9rem;gap:1.5rem;justify-content:center;margin-top:2rem}.card-bottom img{height:32px;transition:transform .2s,opacity .2s;width:32px}.card-bottom img:hover{opacity:.8;transform:scale(1.15)}.card-bottom a{color:#111;text-decoration:none}#email-logo,#phone-logo{display:none}@media (max-width:768px){#email-text,#phone-text{display:none}#email-logo,#phone-logo{display:block}.card-middle{margin:0;padding:0}h1,h4{margin:0,5px,0,5px}}.loading-container{background-color:#000;box-sizing:border-box;inset:0;position:fixed;transition:opacity 1s ease;z-index:9999}.loading-container,.loading-main-block{align-items:flex-end;display:flex;flex-direction:column}.loading-main-block{gap:.5em;position:absolute;right:8vw;top:25%}.loading-line1{display:flex;flex-wrap:wrap;gap:.3em;justify-content:flex-end}.loading-word{color:#fff;font-family:rival-sans,sans-serif;font-size:clamp(2rem,6vw,5rem);letter-spacing:.15em;opacity:0}.bold{font-weight:800}.loading-word.visible{opacity:1}.loading-line2{color:#fff;font-size:clamp(1rem,2.5vw,2rem);font-weight:300;letter-spacing:.15em;opacity:0;text-align:right}.loading-line2.visible{opacity:1}.loading-line3{bottom:6vh;color:#555;font-size:clamp(.65rem,1.2vw,1rem);font-weight:300;letter-spacing:.2em;opacity:0;position:absolute;right:8vw;text-align:right}.loading-line3.visible{opacity:1}
/*# sourceMappingURL=main.fe00f971.css.map*/