:root{--bg:#edf3f0;--bg-deep:#dce8e3;--surface:#ffffff8c;--ink:#12221f;--ink-soft:#3d534d;--brand:#0b3d3a;--accent:#1a8f7a;--accent-bright:#2bb89a;--line:#0b3d3a24;--shadow:0 18px 50px #0b3d3a14;--radius:18px;--max:1120px;--font-display:"Syne", sans-serif;--font-body:"Outfit", sans-serif;--font-mono:"IBM Plex Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%, #2bb89a2e, transparent 60%), radial-gradient(900px 500px at 100% 0%, #0b3d3a1f, transparent 55%), linear-gradient(180deg, #f4f8f6 0%, var(--bg) 40%, #e7efeb 100%);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}body:before{content:"";pointer-events:none;z-index:-1;opacity:.35;background-image:linear-gradient(#0b3d3a0a 1px,#0000 1px),linear-gradient(90deg,#0b3d3a0a 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 85%);mask-image:radial-gradient(circle,#000 30%,#0000 85%)}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:0}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}.app{min-height:100vh;overflow-x:hidden}main{display:block}.section{width:min(100% - 2rem, var(--max));margin-inline:auto;padding:4.5rem 0}.section__head{max-width:36rem;margin-bottom:2.25rem}.section__head h2{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand);font-size:clamp(1.85rem,4vw,2.75rem);line-height:1.1}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.78rem}.btn{border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-height:2.9rem;padding:.7rem 1.25rem;font-size:.95rem;font-weight:600;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--brand);color:#f4faf8}.btn--primary:hover{background:#0f4f4b}.btn--ghost{border:1px solid var(--line);color:var(--brand);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff73}.btn--ghost:hover{background:#ffffffbf;border-color:#0b3d3a59}.nav{z-index:50;transition:background .25s,box-shadow .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s;position:fixed;top:0;left:0;right:0}.nav--scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line);background:#edf3f0db}.nav__inner{width:min(100% - 2rem, var(--max));justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;margin-inline:auto;display:flex}.nav__brand{color:#eef7f4;align-items:center;transition:color .25s,transform .2s;display:inline-flex}.nav__brand:hover{transform:translateY(-1px)}.nav__logo{width:2.35rem;height:2.35rem}.nav--scrolled .nav__brand{color:var(--brand)}.nav__links{align-items:center;gap:1.35rem;display:flex}.nav__links a{color:#eef7f4d1;font-size:.92rem;font-weight:500;transition:color .2s}.nav__links a:hover{color:#fff}.nav--scrolled .nav__links a{color:var(--ink-soft)}.nav--scrolled .nav__links a:hover{color:var(--brand)}.nav__cta{border-radius:999px;padding:.45rem .95rem;color:var(--brand)!important;background:#eef7f4!important}.nav__cta:hover{color:var(--brand)!important;background:#fff!important}.nav--scrolled .nav__cta{background:var(--brand)!important;color:#f4faf8!important}.nav--scrolled .nav__cta:hover{color:#f4faf8!important;background:#0f4f4b!important}.nav__toggle{flex-direction:column;place-items:center;gap:5px;width:2.5rem;height:2.5rem;display:none}.nav__toggle span{background:#eef7f4;border-radius:2px;width:1.25rem;height:2px;transition:transform .25s,opacity .25s,background .25s;display:block}.nav--scrolled .nav__toggle span{background:var(--brand)}.nav__toggle--open span:first-child{transform:translateY(7px)rotate(45deg)}.nav__toggle--open span:nth-child(2){opacity:0}.nav__toggle--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{align-items:center;min-height:100dvh;padding:6.5rem 0 4rem;display:grid;position:relative;overflow:hidden}.hero__bg{z-index:0;background:linear-gradient(160deg,#0b3d3aeb 0%,#124e48e0 42%,#1a6e62bf 100%),radial-gradient(circle at 70% 30%,#2bb89a59,#0000 45%);position:absolute;inset:0}.hero__grid{opacity:.22;background-image:linear-gradient(#e8f2ef2e 1px,#0000 1px),linear-gradient(90deg,#e8f2ef2e 1px,#0000 1px);background-size:56px 56px;animation:28s linear infinite gridDrift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 20%,#0000 95%);mask-image:linear-gradient(#000 20%,#0000 95%)}.hero__orb{filter:blur(2px);opacity:.55;border-radius:50%;position:absolute}.hero__orb--one{background:radial-gradient(circle,#2bb89a8c,#0000 68%);width:min(42vw,380px);height:min(42vw,380px);animation:9s ease-in-out infinite floatY;top:8%;right:4%}.hero__orb--two{background:radial-gradient(circle,#f4faf838,#0000 70%);width:min(34vw,280px);height:min(34vw,280px);animation:11s ease-in-out infinite reverse floatY;bottom:12%;left:6%}.hero__chain{background:linear-gradient(90deg,#0000,#e8f2ef59,#0000);height:1px;position:absolute;inset:auto 0 18%}.hero__chain:before,.hero__chain:after{content:"";border:1.5px solid #e8f2ef8c;border-radius:2px;width:10px;height:10px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.hero__chain:before{left:18%}.hero__chain:after{right:22%}.hero__content{z-index:1;width:min(100% - 2rem, var(--max));color:#eef7f4;margin-inline:auto;padding-bottom:.5rem;position:relative}.hero__role{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#e8f2efd9;margin-bottom:1rem;font-size:clamp(.78rem,1.8vw,.9rem)}.hero__name{font-family:var(--font-display);letter-spacing:-.05em;text-shadow:0 8px 40px #0000002e;max-width:12ch;margin-bottom:1.1rem;font-size:clamp(2.6rem,8.5vw,5.75rem);font-weight:800;line-height:.96}.hero__tagline{color:#eef7f4e6;max-width:34rem;margin-bottom:1.75rem;font-size:clamp(1.05rem,2.2vw,1.25rem)}.hero__actions{flex-wrap:wrap;gap:.75rem;display:flex}.hero .btn--primary{color:var(--brand);background:#eef7f4}.hero .btn--primary:hover{background:#fff}.hero .btn--ghost{color:#eef7f4;background:#ffffff0f;border-color:#eef7f459}.hero .btn--ghost:hover{background:#ffffff24;border-color:#eef7f48c}.reveal{animation:.75s cubic-bezier(.22,1,.36,1) both riseIn}.reveal--delay-1{animation-delay:.1s}.reveal--delay-2{animation-delay:.2s}.reveal--delay-3{animation-delay:.3s}@keyframes riseIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes gridDrift{0%{background-position:0 0}to{background-position:56px 56px}}.about__grid{gap:1.75rem 3rem;display:grid}.about__lead{font-family:var(--font-display);letter-spacing:-.02em;color:var(--brand);font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.25}.about__copy{color:var(--ink-soft);gap:1rem;font-size:1.05rem;display:grid}.skills__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1rem;display:grid}.skill-block{border-top:2px solid var(--brand);background:linear-gradient(#ffffffb3,#ffffff47);padding:1.25rem 1.2rem 1.35rem;transition:transform .25s,box-shadow .25s}.skill-block:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.skill-block h3{font-family:var(--font-display);color:var(--brand);margin-bottom:.9rem;font-size:1.1rem}.skill-block ul{flex-wrap:wrap;gap:.45rem;display:flex}.skill-block li{font-family:var(--font-mono);border:1px solid var(--line);color:var(--ink-soft);background:#ffffff8c;padding:.35rem .55rem;font-size:.75rem}.timeline{gap:1.5rem;display:grid}.timeline__item{border-bottom:1px solid var(--line);gap:1rem;padding:1.5rem 0;display:grid}.timeline__item:first-child{border-top:1px solid var(--line)}.timeline__period{font-family:var(--font-mono);color:var(--accent);margin-bottom:.55rem;font-size:.78rem;display:block}.timeline__meta h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--brand);font-size:clamp(1.15rem,2.4vw,1.45rem);line-height:1.2}.timeline__company{color:var(--ink-soft);margin-top:.35rem;font-weight:500}.timeline__points{color:var(--ink-soft);gap:.65rem;display:grid}.timeline__points li{padding-left:1rem;position:relative}.timeline__points li:before{content:"";background:var(--accent-bright);border-radius:1px;width:.4rem;height:.4rem;position:absolute;top:.65em;left:0;transform:rotate(45deg)}.work__list{gap:0;display:grid}.project{border-top:1px solid var(--line);gap:1rem;padding:1.75rem 0;transition:background .25s;display:grid}.project:last-child{border-bottom:1px solid var(--line)}.project:hover{background:linear-gradient(90deg,#2bb89a14,#0000 70%)}.project__index{font-family:var(--font-mono);color:var(--accent);font-size:.85rem}.project__top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem 1.25rem;margin-bottom:.75rem;display:flex}.project__top h3{font-family:var(--font-display);letter-spacing:-.03em;color:var(--brand);font-size:clamp(1.4rem,3vw,1.9rem)}.project__link{font-family:var(--font-mono);color:var(--accent);border-bottom:1px solid #0000;align-items:center;gap:.35rem;font-size:.82rem;transition:border-color .2s,color .2s;display:inline-flex}.project__link:hover{color:var(--brand);border-color:currentColor}.project__body>p{color:var(--ink-soft);max-width:62ch;margin-bottom:1rem}.project__tech{flex-wrap:wrap;gap:.45rem;display:flex}.project__tech li{font-family:var(--font-mono);letter-spacing:.02em;color:var(--brand);background:#0b3d3a12;padding:.3rem .55rem;font-size:.72rem}.edu-list{gap:1rem;display:grid}.edu-item{border-bottom:1px solid var(--line);gap:.5rem;padding:1.25rem 0;display:grid}.edu-item:first-child{border-top:1px solid var(--line)}.edu-item__period{font-family:var(--font-mono);color:var(--accent);font-size:.78rem}.edu-item h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--brand);margin-bottom:.25rem;font-size:1.2rem}.edu-item p{color:var(--ink-soft)}.contact{padding-bottom:3rem}.contact__panel{color:#eef7f4;box-shadow:var(--shadow);background:linear-gradient(145deg,#0b3d3af2,#125a52e6),radial-gradient(circle at 90% 10%,#2bb89a59,#0000 40%);padding:clamp(1.75rem,5vw,3rem)}.contact__panel .eyebrow{color:#2bb89af2}.contact__panel h2{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:.85rem;font-size:clamp(1.85rem,4vw,2.75rem);line-height:1.1}.contact__copy{color:#eef7f4d1;max-width:36rem;margin-bottom:1.75rem}.contact__actions{flex-wrap:wrap;gap:.75rem;display:flex}.contact .btn--primary{color:var(--brand);background:#eef7f4}.contact .btn--ghost{color:#eef7f4;background:0 0;border-color:#eef7f44d}.contact .btn--ghost:hover{background:#ffffff1a}.footer{width:min(100% - 2rem, var(--max));border-top:1px solid var(--line);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:0 auto 2rem;padding-top:1.25rem;font-size:.92rem;display:flex}.footer a{color:var(--brand);font-weight:500}.footer a:hover{text-decoration:underline}@media (width>=720px){.about__grid{grid-template-columns:1fr 1.15fr;align-items:start}.timeline__item{grid-template-columns:minmax(240px,.9fr) 1.2fr;gap:2rem}.project{grid-template-columns:4rem 1fr;align-items:start;gap:1.5rem}.edu-item{grid-template-columns:9.5rem 1fr;align-items:baseline;gap:1.5rem}}@media (width<=860px){.nav__toggle{display:flex}.nav__links{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;background:#edf3f0f7;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:1rem 1.25rem 2rem;transition:transform .3s,opacity .3s;position:fixed;inset:4.25rem 0 0;transform:translate(100%)}.nav__links--open{opacity:1;pointer-events:auto;transform:translate(0)}.nav__links a,.nav--scrolled .nav__links a{border-bottom:1px solid var(--line);color:var(--ink-soft);padding:1rem .25rem;font-size:1.05rem}.nav__links a:hover,.nav--scrolled .nav__links a:hover{color:var(--brand)}.nav__cta,.nav--scrolled .nav__cta{text-align:center;margin-top:1rem;background:var(--brand)!important;color:#f4faf8!important;border-bottom:0!important}}@media (width<=560px){.section{padding:3.5rem 0}.hero{align-items:end;padding-top:5.5rem;padding-bottom:3rem}.hero__name{max-width:none}.hero__actions,.contact__actions,.hero__actions .btn,.contact__actions .btn{width:100%}.contact__panel{border-radius:0;width:100vw;margin-inline:calc(50% - 50vw)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero__orb,.hero__grid,.skill-block,.btn{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
