:root{--color-deep: #16423C;--color-sage: #6A9C89;--color-mist: #C4DAD2;--color-ivory: #E9EFEC;--color-panel: rgba(255, 255, 255, .55);--color-panel-strong: rgba(255, 255, 255, .74);--color-border: rgba(22, 66, 60, .12);--color-text-soft: rgba(22, 66, 60, .78);--shadow-soft: 0 18px 40px rgba(22, 66, 60, .1)}body{margin:0;padding:0;background:radial-gradient(circle at top left,rgba(196,218,210,.85),transparent 34%),radial-gradient(circle at top right,rgba(106,156,137,.16),transparent 28%),linear-gradient(180deg,#f7faf8 0%,var(--color-ivory) 42%,#ddebe5 100%);color:var(--color-deep);font-family:Poppins,Segoe UI,sans-serif;overflow-x:hidden}*{box-sizing:border-box}.hero-section{position:relative;min-height:100vh;display:flex;align-items:flex-start;padding:clamp(1.75rem,4vh,3rem) 2rem 4rem;overflow:hidden}.hero-container{width:100%;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center;position:relative;z-index:2}.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem;padding-top:clamp(2.75rem,5vw,4.5rem)}.hero-eyebrow{display:inline-flex;align-items:center;width:fit-content;padding:.45rem .9rem;border-radius:999px;background:#6a9c8924;color:var(--color-deep, #16423c);font-size:.85rem;font-weight:600;letter-spacing:.03em}.hero-title{margin:0;font-size:clamp(3rem,7vw,5.8rem);line-height:.95;font-weight:800;letter-spacing:-.06em;color:var(--color-deep, #16423c)}.hero-title span{color:var(--color-sage, #6a9c89)}.hero-description{margin:0;color:var(--color-text-soft, #6b7280);line-height:1.8;font-size:1rem;max-width:560px}.hero-stack{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.25rem}.hero-stack span{padding:.45rem .85rem;border-radius:999px;background:#ffffffa6;border:1px solid rgba(22,66,60,.1);color:var(--color-deep, #16423c);font-size:.82rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.hero-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.8rem 1.55rem;font-size:.95rem;font-family:Poppins,sans-serif;font-weight:600;border-radius:999px;cursor:pointer;text-decoration:none;transition:all .25s ease}.primary-btn{border:1px solid transparent;background:var(--color-deep, #16423c);color:var(--color-ivory, #f8f4ec);box-shadow:0 16px 30px #16423c2e}.primary-btn:hover{background:var(--color-sage, #6a9c89);color:#fff;box-shadow:0 20px 34px #6a9c8942;transform:translateY(-3px)}.secondary-btn{border:1px solid rgba(22,66,60,.18);background:#ffffff8c;color:var(--color-deep, #16423c)}.secondary-btn:hover{background:#fff;transform:translateY(-3px);box-shadow:0 14px 28px #16423c1f}.hero-btn:active{transform:translateY(0)}.hero-image{display:flex;align-items:center;justify-content:center}@media(max-width:900px){.hero-container{grid-template-columns:1fr;gap:2.5rem;text-align:center}.hero-text{align-items:center;padding-top:1.5rem}.hero-description{max-width:620px}.hero-stack,.hero-buttons{justify-content:center}.hero-image{order:-1}}@media(max-width:520px){.hero-section{padding-inline:1.2rem}.hero-title{font-size:clamp(2.6rem,15vw,4rem)}.hero-buttons,.hero-btn{width:100%}}._stage_13pbb_1{width:min(100%,372px);min-height:610px;display:flex;align-items:flex-start;justify-content:center;-webkit-user-select:none;user-select:none}._entry_13pbb_10{animation:_badgeEnter_13pbb_1 .85s cubic-bezier(.2,.85,.2,1) both}._assembly_13pbb_14{width:352px;display:flex;flex-direction:column;align-items:center;transform-origin:50% 0;transform:translateY(calc(var(--badge-lift, 0px) * -1)) rotate(var(--badge-rotate, 0deg)) scale(var(--badge-scale, 1));cursor:grab;touch-action:none;will-change:transform;transition:filter .18s ease}._dragging_13pbb_30{cursor:grabbing;filter:saturate(1.05)}._strap_13pbb_35{width:232px;height:198px;position:relative;display:flex;align-items:flex-end;justify-content:center}._ring_13pbb_44{position:absolute;left:50%;bottom:40px;width:56px;height:22px;transform:translate(-50%);border-radius:999px;border:3px solid #d7d7d7;background:linear-gradient(180deg,#eee,#c6c6c6);box-shadow:0 4px 8px #0f172a2e,inset 0 1px #fffffff2}._ring_13pbb_44:before{content:"";position:absolute;inset:2px 7px;border-radius:inherit;border:2px solid rgba(255,255,255,.4)}._connector_13pbb_67{position:absolute;left:50%;bottom:26px;width:20px;height:20px;transform:translate(-50%);border-radius:10px 10px 7px 7px;background:linear-gradient(180deg,#f3f3f3,#cbcbcb);box-shadow:0 3px 5px #0f172a1f,inset 0 1px #fffffff2}._clip_13pbb_81{position:absolute;left:50%;bottom:-3px;width:32px;height:60px;transform:translate(-50%);border-radius:18px;background:linear-gradient(180deg,#f1f1f1,#d4d4d4 52%,#bfbfbf);box-shadow:0 6px 10px #0f172a2e,inset 0 1px #fffffff2}._clip_13pbb_81:before{content:"";position:absolute;top:8px;left:7px;right:7px;height:31px;border-radius:18px;border:4px solid rgba(255,255,255,.82);border-right-color:#b6b6b6ad;border-bottom-color:#969696d1;transform:rotate(8deg)}._clip_13pbb_81:after{content:"";position:absolute;top:17px;left:11px;width:10px;height:18px;border-radius:10px;background:linear-gradient(180deg,#f8f8f8,#d2d2d2)}._badge_13pbb_120{width:100%;position:relative;border-radius:13px;padding:15px 15px 16px;background:linear-gradient(180deg,#d9dadf,#cfd1d8);border:1px solid rgba(255,255,255,.82);box-shadow:var(--badge-shadow-x, 0px) 22px var(--badge-shadow-blur, 24px) #1f293733,inset 0 3px 4px #ffffff7a,inset 0 -3px 5px #0f172a0f}._badge_13pbb_120:before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #f4f5f799;pointer-events:none}._badgeTop_13pbb_145{height:20px;display:flex;align-items:center;justify-content:center;gap:102px;margin-bottom:13px}._slot_13pbb_154{width:38px;height:8px;border-radius:999px;box-shadow:inset 0 1px 1px #ffffff5c}._badgeBody_13pbb_161{min-height:230px;position:relative;overflow:hidden;border-radius:14px 14px 8px 8px;background:linear-gradient(180deg,#fff,#fafafa);box-shadow:inset 0 1px #fffffff5,inset 0 0 0 1px #e0e3e8e6}._badgeBody_13pbb_161:before{content:"";position:absolute;left:0;right:0;top:0;height:12px;background:linear-gradient(180deg,rgba(214,217,223,.55),transparent)}._cardContent_13pbb_182{min-height:230px;display:flex;flex-direction:column;gap:15px;justify-content:flex-start;padding:24px 22px 20px;pointer-events:none;position:relative;z-index:1}._identityRow_13pbb_194{display:flex;align-items:center;gap:16px}._avatarWrap_13pbb_200{width:104px;height:126px;border-radius:16px;overflow:hidden;flex-shrink:0;box-shadow:0 10px 16px #0f172a14}._avatarImage_13pbb_209,._placeholderAvatar_13pbb_210{width:100%;height:100%}._avatarImage_13pbb_209{object-fit:cover;object-position:center top;transform:scale(1.08);transform-origin:center top}._placeholderAvatar_13pbb_210{display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;font-family:Poppins,sans-serif}._textBlock_13pbb_232{min-width:0;flex:1;display:flex;flex-direction:column;gap:8px}._nameBlock_13pbb_240{display:flex;flex-direction:column;gap:2px}._nameLine_13pbb_246{font-size:1.06rem;line-height:1.02;font-weight:800;color:#222831;letter-spacing:-.03em;font-family:Poppins,sans-serif}._title_13pbb_255{margin:0;color:#697584;font-size:.66rem;line-height:1.2;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-family:Poppins,sans-serif}._iconRow_13pbb_266{margin-top:auto;display:flex;align-items:center;justify-content:flex-start;gap:10px;pointer-events:auto}._iconLink_13pbb_275{width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7dde6;background:linear-gradient(180deg,#fff,#eef2f6);color:#2c3948;font-size:.94rem;text-decoration:none;box-shadow:0 10px 16px #0f172a14;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease}._iconLink_13pbb_275:hover{transform:translateY(-2px);border-color:#5866786b;background:#fff;color:#1f2937;box-shadow:0 12px 18px #0f172a1f}._iconLink_13pbb_275:focus-visible{outline:2px solid rgba(88,102,120,.7);outline-offset:3px}._tagline_13pbb_309{margin:0;color:#495567;font-size:.79rem;line-height:1.45;font-weight:500;font-family:Poppins,sans-serif}@keyframes _badgeEnter_13pbb_1{0%{opacity:0;transform:translateY(-20px) scale(.96) rotate(-2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@media(max-width:768px){._stage_13pbb_1{width:min(100%,330px);min-height:548px}._assembly_13pbb_14{width:312px}._strap_13pbb_35{width:206px;height:176px}._strapBandLeft_13pbb_345,._strapBandRight_13pbb_346{top:-48px;width:35px;height:156px}._strapBandLeft_13pbb_345{left:calc(50% - 58px)}._strapBandRight_13pbb_346{right:calc(50% - 58px)}._badgeTop_13pbb_145{gap:88px}._badgeBody_13pbb_161,._cardContent_13pbb_182{min-height:206px}._cardContent_13pbb_182{padding:20px 18px 16px}._avatarWrap_13pbb_200{width:92px;height:112px}._nameLine_13pbb_246{font-size:.96rem}._title_13pbb_255{font-size:.62rem}._iconLink_13pbb_275{width:34px;height:34px;font-size:.88rem}._tagline_13pbb_309{font-size:.74rem}}@media(max-width:420px){._stage_13pbb_1{width:min(100%,300px);min-height:512px}._assembly_13pbb_14{width:282px}._strap_13pbb_35{width:184px;height:162px}._strapBandLeft_13pbb_345,._strapBandRight_13pbb_346{top:-44px;width:31px;height:142px}._strapBandLeft_13pbb_345{left:calc(50% - 52px)}._strapBandRight_13pbb_346{right:calc(50% - 52px)}._badge_13pbb_120{padding:13px 13px 14px}._badgeTop_13pbb_145{gap:76px;margin-bottom:10px}._slot_13pbb_154{width:32px}._badgeBody_13pbb_161,._cardContent_13pbb_182{min-height:190px}._cardContent_13pbb_182{padding:18px 15px 14px;gap:12px}._identityRow_13pbb_194{gap:12px}._avatarWrap_13pbb_200{width:78px;height:96px}._nameLine_13pbb_246{font-size:.88rem}._title_13pbb_255{font-size:.58rem}._iconRow_13pbb_266{gap:8px}._iconLink_13pbb_275{width:31px;height:31px;font-size:.82rem}._tagline_13pbb_309{font-size:.7rem}}@media(prefers-reduced-motion:reduce){._entry_13pbb_10{animation:none}._assembly_13pbb_14,._iconLink_13pbb_275{transition:none}}.projects{position:relative;min-height:100vh;padding:5rem 1.5rem}.projects-container{max-width:80rem;margin:0 auto}.projects-header{margin-bottom:3rem;max-width:900px}.projects-header h2{font-size:2.25rem;font-weight:700;color:var(--color-deep);font-family:"monospace",monospace;margin-bottom:.75rem}@media(min-width:768px){.projects-header h2{font-size:3rem}}.projects-header p{color:var(--color-text-soft);font-size:1.125rem;margin:0}.projects-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.project-card{position:relative;overflow:hidden;border-radius:1.1rem;border:1px solid rgba(22,66,60,.1);background:var(--color-panel-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}.project-card:hover{border-color:#6a9c8966;background:#ffffffdb;transform:translateY(-6px);box-shadow:var(--shadow-soft)}.project-image{position:relative;height:clamp(17rem,30vw,21rem);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#c4dad2b8,#f3f7f5fa)}.project-image img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;transition:transform .4s ease}.project-card:hover .project-image img{transform:scale(1.02)}.project-content{padding:1.5rem;display:flex;flex-direction:column;gap:.9rem}.project-title{font-size:1.25rem;font-weight:700;color:var(--color-deep);font-family:Courier New,monospace;transition:color .25s ease;margin:0}.project-description{color:var(--color-text-soft);font-size:.9rem;line-height:1.7;margin:0;white-space:pre-line}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.25rem}.project-actions{display:flex;gap:.5rem}.tag{padding:.25rem .75rem;font-size:.75rem;font-family:Courier New,monospace;background:#c4dad257;border:1px solid rgba(106,156,137,.24);color:var(--color-deep);border-radius:.35rem;transition:all .2s ease}.tag:hover{background:#c4dad28f;border-color:#6a9c8970}.project-links{display:flex;gap:.75rem;margin-top:.25rem;flex-wrap:wrap}.project-btn{font-size:.85rem;font-family:Courier New,monospace;padding:.45rem .9rem;border-radius:.4rem;text-decoration:none;color:var(--color-ivory);border:1px solid transparent;background:var(--color-deep);transition:all .2s ease}.project-btn:hover{background:var(--color-sage);color:#fff;box-shadow:0 14px 26px #6a9c8938;transform:translateY(-2px)}.project-btn.secondary{color:var(--color-deep);border-color:#16423c24;background:#fff9}.project-btn.secondary:hover{background:var(--color-mist);color:var(--color-deep);box-shadow:none}.project-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.project-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-deep);font-family:Courier New,monospace;transition:color .25s ease}.project-card:hover .project-title{color:var(--color-sage)}.github-btn{display:inline-flex;align-items:center;padding:.4rem .8rem;font-size:.8rem;font-family:Courier New,monospace;border-radius:999px;border:1px solid rgba(22,66,60,.12);background:#ffffff9e;color:var(--color-deep);text-decoration:none;transition:all .2s ease}.github-btn:hover{color:var(--color-deep);border-color:#6a9c8966;background:#c4dad261}.github-btn:hover{transform:translateY(-2px);border-color:#6a9c8973;background:#c4dad280;color:var(--color-deep)}.demo-btn{display:inline-flex;align-items:center;padding:.4rem .8rem;font-size:.8rem;font-family:Courier New,monospace;border-radius:999px;border:1px solid rgba(22,66,60,.1);background:var(--color-deep);color:var(--color-ivory);text-decoration:none;transition:all .2s ease}.demo-btn:hover{background:var(--color-sage);color:#fff}@media(max-width:520px){.project-image{height:15.5rem;padding:.8rem}.project-top{flex-direction:column;align-items:flex-start}}.about{position:relative;min-height:60vh;padding:5rem 1.5rem}.about-container{max-width:80rem;margin:0 auto}.about-title{font-size:2.25rem;font-weight:700;color:var(--color-deep);font-family:monospace;margin:0 0 1.5rem}@media(min-width:768px){.about-title{font-size:3rem}}.about-content{display:flex;flex-direction:column;align-items:stretch;gap:2rem}@media(min-width:768px){.about-content{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:3rem}}.about-text-wrap{flex:1;display:flex;flex-direction:column;gap:1.25rem;width:100%}.about-headline{margin:0;color:var(--color-deep);font-size:2rem;line-height:1.25;max-width:44rem;font-family:Poppins,sans-serif;font-weight:700}@media(max-width:767px){.about-headline{font-size:1.6rem}}.about-paragraph{margin:0;font-size:1.125rem;color:var(--color-text-soft);line-height:1.65;max-width:50rem;font-family:Poppins,sans-serif}.about-signature{margin:.6rem 0 0;max-width:42rem;padding:1rem 1.2rem;border-radius:.65rem;border:1px solid rgba(22,66,60,.08);background:var(--color-panel);color:var(--color-deep);font-family:monospace;font-size:1.08rem}.about-side{width:100%;max-width:390px;display:flex;flex-direction:column;gap:.9rem}.about-image-wrap{width:100%;border-radius:14px;overflow:hidden;border:1px solid rgba(22,66,60,.1);box-shadow:var(--shadow-soft)}.about-image{width:100%;height:auto;object-fit:cover;display:block}.resume-button{display:inline-flex;width:100%;justify-content:center;align-items:center;padding:.7rem 1rem;color:var(--color-ivory);text-decoration:none;font-family:Poppins,sans-serif;border-radius:14px;font-weight:600;border:1px solid transparent;background:var(--color-deep);transition:all .2s ease}.resume-button:hover{background:var(--color-sage);transform:translateY(-2px)}.skills-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:2.5rem}@media(min-width:640px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.skills-grid{grid-template-columns:repeat(4,1fr)}}.skill-category{padding:1.5rem;border:1px solid rgba(22,66,60,.1);border-radius:1rem;background:var(--color-panel-strong);box-shadow:0 14px 28px #16423c14;transition:all .3s ease}.skill-category:hover{border-color:#6a9c8980;background:#ffffffd1;transform:translateY(-4px)}.skill-category h4{font-size:1.125rem;font-weight:700;color:var(--color-sage);font-family:monospace;margin-bottom:1rem}.skill-category ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.skill-category li{display:flex;align-items:center;gap:10px;color:var(--color-text-soft);font-size:.9rem}.skill-category svg{font-size:18px}.contact{min-height:100vh;display:flex;justify-content:center;align-items:center}.contact-card{border:1px solid rgba(22,66,60,.1);border-radius:24px;padding:3rem 2.5rem;text-align:center;max-width:600px;width:90%;background:#ffffffb8;box-shadow:var(--shadow-soft)}.contact-card h2{color:var(--color-deep);font-size:2rem;margin-bottom:1rem}.contact-card p{color:var(--color-text-soft);margin-bottom:2rem;line-height:1.6}.contact-form{display:grid;gap:1rem;margin-bottom:2rem}.contact-form label{display:grid;gap:.5rem;text-align:left;font-weight:600;color:var(--color-deep)}.contact-form input,.contact-form textarea{width:100%;border-radius:16px;border:1px solid rgba(22,66,60,.15);background:#ffffffeb;padding:1rem;font-size:1rem;color:var(--color-text);resize:vertical}.contact-form textarea{min-height:140px}.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.4rem;font-size:1rem;border:none;border-radius:999px;background:var(--color-deep);color:#fff;cursor:pointer;transition:transform .2s ease,background .2s ease}.submit-btn:hover:not(:disabled){transform:translateY(-1px);background:#30564f}.submit-btn:disabled{opacity:.72;cursor:not-allowed}.status-message{margin-top:.5rem;color:var(--color-sage);font-weight:600}.socials{display:flex;justify-content:center;gap:1.2rem}.socials a{width:44px;height:44px;border:1px solid rgba(22,66,60,.12);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-deep);font-size:1.1rem;text-decoration:none;transition:background .2s ease,color .2s ease;background:#ffffffad}.socials a:hover{background:var(--color-sage);color:#fff}.footer{padding:2rem 1rem;border-top:1px solid rgba(22,66,60,.1);text-align:center;color:var(--color-text-soft);display:flex;flex-direction:column;align-items:center}.footer p{display:flex;align-items:center;gap:6px}.exp{padding:5rem 1.5rem}.exp-container{max-width:80rem;margin:0 auto}.exp-title{font-size:2.5rem;color:var(--color-deep);font-family:monospace;margin:0 0 2rem}.exp-grid{display:grid;grid-template-columns:1fr;gap:1.6rem}@media(min-width:900px){.exp-grid{grid-template-columns:1fr 1fr;gap:2rem}}.exp-card{position:relative;border-radius:14px;padding:1.35rem 1.35rem 1.35rem 1.25rem;background:var(--color-panel-strong);border:1px solid rgba(22,66,60,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;transition:transform .25s ease,border-color .25s ease,background .25s ease;box-shadow:0 14px 28px #16423c14}.exp-card:hover{transform:translateY(-6px);border-color:#6a9c8961;background:#ffffffd6}.exp-head{display:flex;gap:1rem;align-items:flex-start}.exp-logo{width:44px;height:44px;border-radius:10px;background:#ffffffa6;border:1px solid;display:grid;place-items:center;flex-shrink:0;margin-left:10px}.exp-logo img{width:26px;height:26px;object-fit:contain;filter:saturate(1.05)}.exp-meta{display:flex;flex-direction:column;gap:.25rem}.exp-company{margin:0;color:var(--color-deep);font-weight:700;font-size:1.05rem}.exp-role{margin:0;color:var(--color-text-soft);font-size:.95rem}.exp-period{margin:.15rem 0 0;font-family:monospace;font-size:.9rem;color:#16423c99}.exp-period.is-present{color:#6a9c89}.exp-desc{margin:.9rem 0 0;color:var(--color-text-soft);line-height:1.65;font-size:.95rem;max-width:65ch;padding-left:54px}
