body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace,Ubuntu}:root{--bg:#fafaf8;--bg-alt:#f3efe8;--dark:#1c1917;--text:#57534e;--text-light:#a8a29e;--coral:#c4546a;--teal:#2e80aa;--amber:#c87fa4;--purple:#3d5a80;--sage:#4a7c59;--border:#00000014;--shadow:0 4px 24px #00000012;--shadow-hover:0 16px 48px #0000001f;--radius:1.25rem;--radius-sm:0.75rem}*{box-sizing:border-box}body{background:#fafaf8;background:var(--bg);color:#1c1917;color:var(--dark);margin:0;padding:0}.App{background-color:#fafaf8;background-color:var(--bg);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;height:auto;width:100%}.section-container{margin:0 auto;max-width:72rem;padding:7rem 2rem;width:100%}.section-header{margin-bottom:2rem}.section-tag{color:#a8a29e;color:var(--text-light);display:inline-block;font-size:1rem;font-weight:600;letter-spacing:.15em;margin-bottom:.75rem;text-transform:uppercase}.section-title{color:#1c1917;color:var(--dark);font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.15;margin:0 0 1rem}.highlight{background:linear-gradient(135deg,#c4546a,#c87fa4);background:linear-gradient(135deg,var(--coral),var(--amber));-webkit-background-clip:text;background-clip:text}.highlight,.highlight-teal{-webkit-text-fill-color:#0000}.highlight-teal{background:linear-gradient(135deg,#2e80aa,#4a7c59);background:linear-gradient(135deg,var(--teal),var(--sage));-webkit-background-clip:text;background-clip:text}.highlight-purple{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3d5a80,#c4546a);background:linear-gradient(135deg,var(--purple),var(--coral));-webkit-background-clip:text;background-clip:text}.section-divider{background:linear-gradient(90deg,#c4546a,#c87fa4);background:linear-gradient(90deg,var(--coral),var(--amber));border-radius:2px;height:3px;width:3rem}.fade-up{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}.fade-up.visible{opacity:1;transform:translateY(0)}.fade-up-delay-1{transition-delay:.1s}.fade-up-delay-2{transition-delay:.2s}.fade-up-delay-3{transition-delay:.3s}.fade-up-delay-4{transition-delay:.4s}.fade-up-delay-5{transition-delay:.5s}.navbar{background:#0000;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;transition:background .3s ease,box-shadow .3s ease;width:100%;z-index:100}.navbar--scrolled{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#fafaf8d9;box-shadow:0 1px 24px #0000000f}.navbar-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:72rem}.navbar-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#c4546a,#3d5a80);-webkit-background-clip:text;background-clip:text;cursor:pointer;font-size:1.5rem;font-weight:700;letter-spacing:-.05em;text-decoration:none}.navbar-links{align-items:center;display:flex;gap:.25rem}.nav-link{border-radius:2rem;color:var(--text);cursor:pointer;font-size:.9rem;font-weight:500;padding:.4rem .9rem;text-decoration:none;transition:color .2s ease,background .2s ease}.nav-link.active,.nav-link:hover{background:#0000000f;color:var(--dark)}.navbar-hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px}.navbar-hamburger span{background:var(--dark);border-radius:2px;display:block;height:2px;transition:transform .3s ease,opacity .3s ease;width:22px}.navbar-hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.navbar-hamburger.open span:nth-child(2){opacity:0}.navbar-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:700px){.navbar-hamburger{display:flex}.navbar-links{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafaf8f7;box-shadow:0 8px 24px #00000014;display:none;flex-direction:column;gap:.25rem;left:0;padding:1rem 2rem 1.5rem;position:absolute;right:0;top:100%}.navbar-links--open{display:flex}.nav-link{font-size:1rem;padding:.6rem 1rem}}.hero{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 4rem);overflow:hidden;padding:4rem 2rem 6rem;position:relative}.blobs{inset:0;pointer-events:none;z-index:0}.blob,.blobs{position:absolute}.blob{border-radius:50%;filter:blur(72px);opacity:.45}.blob-1{animation:drift 14s ease-in-out infinite;background:radial-gradient(circle,#f0c8d4,#d4a0b0);height:520px;left:-120px;top:-160px;width:520px}.blob-2{animation:drift 18s ease-in-out infinite reverse;background:radial-gradient(circle,#b8d8f0,#80bad8);bottom:-80px;height:380px;right:5%;width:380px}.blob-3{animation:drift 22s ease-in-out infinite;animation-delay:-6s;background:radial-gradient(circle,#c4d0e0,#a0b4c8);height:280px;right:20%;top:40%;width:280px}.blob-4{animation:drift 16s ease-in-out infinite reverse;animation-delay:-10s;background:radial-gradient(circle,#f0e0a8,#d8c068);height:200px;left:35%;top:20%;width:200px}@keyframes drift{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-40px) scale(1.06)}50%{transform:translate(-20px,30px) scale(.94)}75%{transform:translate(40px,15px) scale(1.03)}}.hero-inner{align-items:center;display:flex;gap:4rem;justify-content:space-between;max-width:72rem;position:relative;width:100%;z-index:1}.hero-text{animation:fadeInUp .9s ease both;flex:1.2 1}.hero-location{align-items:center;display:inline-flex;font-size:1rem;gap:.5rem;letter-spacing:.04em;margin:0 0 3rem;opacity:.7}.hero-greeting,.hero-location{color:var(--text-light);font-weight:400}.hero-greeting{font-size:1.1rem;letter-spacing:.02em;margin:0 0 .25rem}.hero-name{color:var(--dark);font-size:clamp(2.8rem,6vw,4.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0 0 1rem}.hero-typewriter{align-items:center;display:flex;gap:2px;margin-bottom:1.5rem;min-height:2.2rem}.typewriter-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#c4546a,#c87fa4);-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:600}.typewriter-cursor{animation:blink 1s step-end infinite;background:#c4546a;border-radius:2px;display:inline-block;height:1.3rem;width:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-tagline{color:var(--text);font-size:1rem;font-weight:300;line-height:1.7;margin:0 0 2.5rem;max-width:38rem}.hero-socials{display:flex;flex-wrap:wrap;gap:.75rem}.social-btn{align-items:center;background:#0000000d;border-radius:50%;color:var(--text);display:inline-flex;font-size:1.15rem;height:2.6rem;justify-content:center;text-decoration:none;transition:color .2s ease,background .2s ease,transform .2s ease;width:2.6rem}.social-btn:hover{background:#0000001a;color:var(--dark);transform:translateY(-3px)}.hero-pic-wrap{animation:fadeInUp .9s ease .2s both;flex:0 0 auto}.pic-ring{animation:gradientSpin 6s linear infinite;background:linear-gradient(135deg,#c4546a,#c87fa4,#2e80aa,#3d5a80);background-size:300% 300%;border-radius:50%;height:300px;padding:4px;width:300px}@keyframes gradientSpin{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.hero-pic{background:var(--bg);border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.scroll-indicator{align-items:center;bottom:2rem;display:flex;flex-direction:column;gap:4px;left:50%;opacity:.4;position:absolute;transform:translateX(-50%);z-index:1}.scroll-goat{animation:scrollBounce 1.8s ease-in-out infinite;font-size:2rem}@keyframes scrollBounce{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.3;transform:translateY(10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.hero-inner{flex-direction:column-reverse;gap:2.5rem;text-align:center}.hero-socials{justify-content:center}.hero-tagline{margin-left:auto;margin-right:auto}.hero-typewriter{justify-content:center}.pic-ring{height:200px;width:200px}}.about-section{background:#fff}.about-layout{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:1.6fr 1fr}.about-text{color:var(--text);font-size:1.05rem;font-weight:300;line-height:1.85;text-align:justify}.about-text p{margin:0 0 1.25rem}.about-text p:last-child{margin-bottom:0}.about-link{border-bottom:1.5px solid #0000;color:var(--coral);cursor:pointer;font-weight:500;text-decoration:none;transition:border-color .2s ease}.about-link:hover{border-color:var(--coral)}.about-highlights{display:flex;flex-direction:column;gap:1rem;padding-top:.5rem}.about-highlight-card{background:var(--bg);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.3rem;padding:1.25rem 1.5rem;transition:transform .2s ease,box-shadow .2s ease}.about-highlight-card:hover{box-shadow:var(--shadow);transform:translateX(4px)}.highlight-label{color:var(--dark);font-size:.95rem;font-weight:600}.highlight-sub{color:var(--text-light);font-size:.8rem}@media (max-width:768px){.about-layout{gap:2.5rem;grid-template-columns:1fr}}.experience-section{background:var(--bg-alt)}.timeline{padding:1rem 0 2rem;position:relative}.timeline-line{background:linear-gradient(180deg,#c4546a,#3d5a80,#2e80aa,#c87fa4,#4a7c59);border-radius:2px;bottom:0;left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}.timeline-item{padding:0 3rem 3rem;position:relative;width:50%}.timeline-item--left{left:0;padding-right:3.5rem;text-align:right}.timeline-item--right{left:50%;padding-left:3.5rem;text-align:left}.timeline-dot{border:3px solid var(--bg-alt);border-radius:50%;box-shadow:0 0 0 2px currentColor;height:14px;position:absolute;top:1rem;width:14px;z-index:1}.timeline-item--left .timeline-dot{right:-7px}.timeline-item--right .timeline-dot{left:-7px}.timeline-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 1.75rem;transition:transform .25s ease,box-shadow .25s ease}.timeline-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.timeline-tag{border-radius:2rem;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:.6rem;padding:.2rem .6rem;text-transform:uppercase}.timeline-role{color:var(--dark);font-size:1rem;font-weight:700;margin:0 0 .2rem}.timeline-company{color:var(--text);font-size:.9rem;font-weight:500;margin:0 0 .2rem}.timeline-period{color:var(--text-light);font-size:.78rem;font-weight:400;margin:0 0 .75rem}.timeline-desc{color:var(--text);font-size:.88rem;font-weight:300;line-height:1.7;margin:0}@media (max-width:768px){.timeline-line{left:1rem}.timeline-item,.timeline-item--left,.timeline-item--right{left:0;padding:0 1rem 2.5rem 3.5rem;text-align:left;width:100%}.timeline-item--left .timeline-dot,.timeline-item--right .timeline-dot{left:calc(1rem - 7px);right:auto}}.portfolio-section{background:var(--bg)}.projects-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.project-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.project-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-6px)}.project-img-wrap{height:180px;overflow:hidden;position:relative}.project-img{display:block;height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.project-card:hover .project-img{transform:scale(1.06)}.project-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .25s ease;z-index:1}.project-card:hover .project-overlay{opacity:1}.project-body{display:flex;flex:1 1;flex-direction:column;gap:.5rem;padding:1.5rem}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem}.project-tag{border-radius:2rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.2rem .55rem;text-transform:uppercase}.project-title{color:var(--dark);font-size:1.05rem;font-weight:700;margin:.25rem 0 0}.project-desc{color:var(--text);flex:1 1;font-size:.88rem;font-weight:300;line-height:1.7;margin:0}.project-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.project-link{align-items:center;display:inline-flex;font-size:.82rem;font-weight:600;gap:.4rem;text-decoration:none;transition:opacity .2s ease}.project-link:hover{opacity:.7}.thegoods-section{background:var(--bg-alt)}.thegoods-subtitle{color:var(--text-light);font-size:1rem;font-weight:300;margin:1rem 0 0}.goods-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.goods-card{background:#fff;background:var(--card-bg,#fff);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem;padding:1.75rem;transition:transform .25s ease,box-shadow .25s ease}.goods-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-8px)}.goods-card-top{align-items:center;display:flex;gap:.75rem}.goods-emoji{font-size:2rem;line-height:1}.goods-title{font-size:1.1rem;font-weight:700;margin:0}.goods-blurb{color:var(--text);font-size:.88rem;font-weight:300;line-height:1.7;margin:0}.goods-items{display:flex;flex-direction:column;gap:.55rem;list-style:none;margin:0;padding:0}.goods-item{align-items:flex-start;color:var(--text);display:flex;font-size:.85rem;font-weight:400;gap:.6rem;line-height:1.5}.goods-link{border-bottom:1.5px solid #0000;cursor:pointer;font-weight:500;text-decoration:none;transition:border-color .2s ease}.goods-link:hover{border-bottom-color:initial}.goods-item-dot{border-radius:50%;flex-shrink:0;height:6px;margin-top:.45rem;width:6px}.contact-section{background:var(--dark);color:#fff;overflow:hidden;padding:6rem 2rem 3rem;position:relative}.contact-inner{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:72rem;position:relative;text-align:center;z-index:1}.contact-blob{border-radius:50%;filter:blur(80px);pointer-events:none;position:absolute;z-index:0}.contact-blob-1{background:radial-gradient(circle,#c4546a4d,#0000);height:400px;left:-100px;top:-100px;width:400px}.contact-blob-2{background:radial-gradient(circle,#3d5a8040,#0000);bottom:-50px;height:300px;right:5%;width:300px}.contact-icons{flex-wrap:wrap;gap:1.25rem;margin-top:1rem}.contact-icon-wrap,.contact-icons{display:flex;justify-content:center}.contact-icon-wrap{align-items:center;background:#ffffff14;border-radius:50%;color:#ffffffb3;font-size:1rem;height:2rem;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease;width:2rem}.contact-icon-wrap:hover{background:#ffffff2e;color:#fff;transform:translateY(-3px)}.contact-copy{color:#fff3;font-size:.78rem;margin-top:3rem}
/*# sourceMappingURL=main.25a03e5d.css.map*/