@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Sora:wght@300;400;500;600&display=swap";:root{--bg: #14161f;--bg-elevated: #1c1f2b;--ink: #e8e6e1;--muted: #9a968c;--accent: #e8a87c;--accent-strong: #d97757;--line: #2a2e3a;--glow: rgba(232, 168, 124, .12);--font-display: "Fraunces", Georgia, serif;--font-body: "Sora", "Segoe UI", sans-serif;--nav-height: 4rem;--content-width: min(1100px, 92vw)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0;min-height:100%;background:radial-gradient(1200px 600px at 80% -10%,var(--glow),transparent 55%),radial-gradient(900px 500px at 10% 20%,rgba(120,140,180,.08),transparent 50%),var(--bg);background-attachment:fixed;color:var(--ink);font-family:var(--font-body);font-size:16px;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}#tsparticles{position:fixed!important;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}a:hover{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4,h5{margin:0;font-weight:500;line-height:1.15}.App{position:relative;z-index:1;text-align:left}.navigation{position:fixed;top:0;z-index:1000;width:100%;height:var(--nav-height);display:flex;justify-content:center;align-items:center;gap:.25rem;padding:0 1rem;background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.navigation button{position:relative;background:transparent;color:var(--muted);border:0;padding:.7rem 1rem;cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:400;letter-spacing:.02em;transition:color .18s ease}.navigation button:after{content:"";position:absolute;left:1rem;right:1rem;bottom:.35rem;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.navigation button:hover,.navigation button.active{color:var(--ink)}.navigation button.active:after{transform:scaleX(1)}.section{position:relative;z-index:1;min-height:100vh;width:100%;padding:calc(var(--nav-height) + 2rem) 1.25rem 3rem;display:flex;flex-direction:column;justify-content:center;align-items:center}.tabbed-content{width:var(--content-width);margin:0 auto;padding:0}.highlight-text{color:var(--accent)}.grey-text{color:var(--ink)}.code{margin:0;font-family:var(--font-body);font-size:.85rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.7}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center;min-height:calc(100vh - var(--nav-height) - 4rem);width:100%;animation:rise-in .7s ease both}.hero__copy{max-width:38rem}.hero__eyebrow{margin:0 0 1.25rem;color:var(--muted);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase}.hero__name{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(3.2rem,8vw,5.8rem);font-weight:600;line-height:.95;letter-spacing:-.02em;color:var(--ink)}.hero__name span{color:var(--accent)}.hero__line{margin:0;max-width:28rem;color:var(--muted);font-size:clamp(1.05rem,2vw,1.35rem);font-weight:300;line-height:1.5}.hero__visual{position:relative;min-height:420px;border-radius:0;overflow:hidden;isolation:isolate;animation:fade-soft .9s ease .12s both;background:linear-gradient(160deg,#2a2430,#1a1d28)}.hero__visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,var(--bg) 0%,transparent 42%),linear-gradient(to top,var(--bg) 0%,transparent 28%);z-index:1}.hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center 15%;opacity:.82;filter:saturate(.95) contrast(1.08) brightness(1.08);transform:scale(1.02)}.section-heading{margin:0 0 1.75rem;font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:600;color:var(--ink)}.section-heading span{color:var(--accent)}.work-experience{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,4rem);width:100%;animation:rise-in .65s ease both}.where-am-i-from p{margin:0 0 1.1rem;color:var(--muted);font-size:1.05rem;line-height:1.7;max-width:36rem}.timeline{position:relative;display:flex;flex-direction:column;gap:1.25rem;padding-left:1.25rem;border-left:1px solid var(--line)}.timeline .timeline__item{position:relative;padding-left:.25rem;color:var(--ink);font-size:1rem;line-height:1.65}.timeline .timeline__item:before{content:"";position:absolute;left:calc(-1.25rem - 3.5px);top:.55rem;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent)}.timeline .timeline__year{display:block;margin-bottom:.2rem;color:var(--accent);font-size:.82rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.skills-panel{width:100%;animation:rise-in .65s ease both}.skills-panel__heading{text-align:left;margin-bottom:2rem}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}.skill-tile{padding:1.25rem 1.15rem;border:1px solid var(--line);background:color-mix(in srgb,var(--bg-elevated) 70%,transparent);transition:border-color .18s ease,transform .18s ease,background .18s ease}.skill-tile:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);transform:translateY(-3px)}.skill-tile .icon{color:var(--accent);font-size:1.6rem;margin-bottom:.75rem}.skill-tile h3{margin:0 0 .5rem;color:var(--ink);font-family:var(--font-body);font-size:1.05rem;font-weight:500}.skill-tile p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-soft{0%{opacity:0}to{opacity:1}}@media(max-width:900px){.hero{grid-template-columns:1fr;align-items:start;min-height:auto;gap:1.75rem;padding-top:1rem}.hero__visual{min-height:240px;order:-1}.work-experience{grid-template-columns:1fr}}@media(max-width:600px){.navigation{gap:0;overflow-x:auto;justify-content:flex-start}.navigation button{flex:0 0 auto;padding:.7rem .85rem;font-size:.82rem}.section{padding-top:calc(var(--nav-height) + 1.25rem);justify-content:flex-start}}
