:root{--bg: #f1e3e4;--bg-soft: #e6dce0;--card: #e9dde2;--border: #d0c2ca;--fg: #1c1d21;--muted: #7a6f7c;--accent: #a288a6;--accent-2: #bb9bb0;--accent-dark: #8c6a8b;--chip-bg: #e6dce0;--chip-border: #d0c2ca;--gradient-start: #ece0e6;--gradient-end: #d8ccd3;--shadow: 0 8px 20px rgba(162, 136, 166, .12)}.icon{width:56px;height:56px}.icon-invert{filter:brightness(0) invert(1) sepia(1) saturate(5) hue-rotate(140deg)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--fg)}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes heroSweep{0%{transform:translate(-20%,-10%) scale(1);opacity:.35}50%{transform:translate(12%,4%) scale(1.12);opacity:.55}to{transform:translate(34%,-6%) scale(1.18);opacity:.35}}@keyframes neonPulse{0%,to{opacity:.45}50%{opacity:.95}}.type-caret{display:inline-block;width:1px;height:1em;background:currentColor;margin-left:2px;animation:caret-blink 1s step-end infinite;transform:translateY(.15em)}.typewriter{position:relative;display:inline-block;padding-bottom:.45rem;text-shadow:0 0 12px rgba(162,136,166,.65),0 0 18px rgba(187,155,176,.55)}.typewriter:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:neonPulse 2.8s ease-in-out infinite;box-shadow:0 0 14px #bb9bb073}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-decoration-color:var(--accent)}.container{max-width:1100px;margin:0 auto;padding:0 1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:before,.card:after{content:"";position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.card:before{background:linear-gradient(135deg,#a288a638,#bb9bb02e)}.card:after{inset:12% 8% auto auto;width:55%;height:55%;background:radial-gradient(circle at center,rgba(187,155,176,.42),transparent 65%);transform:translate(6%,-10%) scale(.88)}.card:hover{transform:translateY(-6px) scale(1.01);border-color:#bb9bb0bf;box-shadow:0 16px 40px #1c1d212e}.card:hover:before{opacity:1}.card:hover:after{opacity:.85;transform:translate(-6%,-18%) scale(1.08)}.btn{display:inline-block;padding:.6rem .9rem;border-radius:10px;font-weight:700;letter-spacing:.2px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease;position:relative;overflow:hidden}.btn-primary{background:var(--accent);color:#1c1d21;box-shadow:0 6px 20px #a288a647}.btn-primary:after{content:"";position:absolute;inset:-120%;background:radial-gradient(circle at center,rgba(187,155,176,.4),transparent 60%);transform:scale(0);transition:transform .22s ease}.btn-primary:hover{transform:translateY(-2px) scale(1.02);background:var(--accent-dark);box-shadow:0 12px 34px #a288a66b}.btn-primary:hover:after{transform:scale(1)}.btn-primary:focus-visible{outline:2px solid var(--accent-2);outline-offset:4px}.btn-outline{background:transparent;color:var(--fg);border:1px solid var(--border)}.btn-outline:hover{border-color:var(--accent-2);color:var(--accent-2)}.contactIconLink{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);padding:.5rem;border-radius:12px;transition:color .16s ease,background .16s ease,transform .16s ease}.contactIconLink:hover{color:var(--accent-dark);background:#a288a61f;transform:translateY(-1px)}.contactIcon{width:52px;height:52px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.contactIcon .githubFill{fill:currentColor;stroke:none}.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip:focus{position:static;width:auto;height:auto;padding:.25rem .5rem;background:var(--card);border:1px solid var(--border);border-radius:6px}.header{position:sticky;top:0;z-index:10;background:var(--bg-soft);color:var(--fg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:saturate(120%) blur(6px);backdrop-filter:saturate(120%) blur(6px)}.headerRow{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.header .container,.headerRow{position:relative}.brand{display:flex;align-items:center;gap:.85rem;font-weight:700;letter-spacing:.25px;color:var(--fg)}.brandMark{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;border:1px solid rgba(187,155,176,.7);background:radial-gradient(circle at 30% 30%,#a288a659,#e9dde2d9);box-shadow:0 8px 18px #a288a63d,inset 0 0 18px #bb9bb033;font-size:.95rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2)}.brandMeta{display:flex;flex-direction:column;line-height:1.1}.brandName{font-size:.98rem;letter-spacing:.28px}.brandRole{font-size:.7rem;text-transform:uppercase;letter-spacing:.32em;color:var(--muted)}.menuBtn{font-size:1.25rem;background:transparent;border:1px solid var(--border);color:var(--fg);padding:.25rem .5rem;border-radius:8px;cursor:pointer}.menuBtn:hover{border-color:var(--accent-2);color:var(--accent-2)}.navList{list-style:none;margin:0;padding:.5rem .75rem;display:flex;gap:1rem;position:absolute;right:0;top:2.5rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.navListHidden{display:none}.navLink{color:var(--fg);text-decoration:none}.navLink:hover{color:var(--accent-2)}.hero{background:linear-gradient(180deg,var(--gradient-start) 0%,var(--gradient-end) 100%);color:var(--fg);padding:6rem 1rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-30%;left:-25%;width:70%;height:120%;background:radial-gradient(circle at center,#a288a67a,#1c1d2100);filter:blur(48px);animation:heroSweep 16s ease-in-out infinite alternate;pointer-events:none}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(1200px 400px at 80% 20%,rgba(187,155,176,.24),transparent 65%);pointer-events:none}.heroMeta{margin:0 0 .65rem;font-size:.95rem;letter-spacing:.28px;color:var(--muted)}.heroEducation{text-transform:uppercase;font-weight:600;letter-spacing:.24em;opacity:.85;font-size:.85rem}.heroLocation{margin-top:.5rem;margin-bottom:1rem;color:var(--muted)}.h1{font-size:2rem;line-height:1.2;margin:0;text-shadow:0 1px 0 rgba(0,0,0,.2)}.lead{margin-top:.75rem;opacity:.92;max-width:700px}.ctaRow{display:flex;justify-content:center;align-items:center;gap:2rem;margin-top:2rem;flex-wrap:wrap;width:100%}.section,.altSection{padding:3rem 1rem;color:var(--fg);position:relative}.section{background:var(--bg)}.altSection{background:var(--bg-soft)}.section:not(:first-of-type):before,.altSection:not(:first-of-type):before{content:"";position:absolute;top:-1.4rem;left:50%;transform:translate(-50%);width:160px;height:2px;background:linear-gradient(90deg,transparent,rgba(162,136,166,.8),rgba(187,155,176,.85),transparent);box-shadow:0 0 18px #bb9bb06b;opacity:.8}.h2{font-size:1.5rem;margin:0 0 1rem}.h2:after{content:"";display:block;width:64px;height:3px;background:linear-gradient(90deg,var(--accent-2),transparent);border-radius:2px;margin-top:8px}.h3{font-size:1.1rem;margin:0 0 .5rem}.noMargin{margin:0}.body{max-width:800px;line-height:1.6;opacity:.95}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.cardText{opacity:.92}.tagList{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:.75rem 0}.tag{font-size:.8rem;background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:999px;padding:.22rem .6rem}.tag:hover{border-color:var(--accent-2);box-shadow:0 0 0 1px var(--accent-2) inset}.cardLinks{display:flex;gap:.75rem}.cardLink{color:var(--accent-2);text-decoration:none;transition:color .16s ease,text-shadow .16s ease}.cardLink:hover{color:var(--accent);text-shadow:0 0 12px rgba(162,136,166,.6)}.skillsWrap{display:flex;flex-wrap:wrap;gap:.5rem;max-width:900px}.skillPill{background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:999px;padding:.35rem .7rem;font-size:.9rem}.footer{background:var(--bg-soft);color:var(--muted);padding:1rem 0;border-top:1px solid var(--border)}::selection{background:#bb9bb040}.header{position:sticky;top:0;z-index:40}.nav{position:relative}.nav .navList{list-style:none;margin:0;padding:0}.nav .navList{position:absolute;right:2.5rem;top:0%;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:.5rem .25rem;display:flex;flex-direction:column;gap:.25rem;transform:translateY(-12px);opacity:0;pointer-events:none;max-height:0;overflow:hidden;transition:transform .3s ease,opacity .3s ease,max-height .3s ease;will-change:transform,opacity,max-height}.nav.is-open .navList{transform:translateY(0);opacity:1;pointer-events:auto;max-height:420px}.nav .navList li{opacity:0;transform:translateY(-6px)}.nav.is-open .navList li{opacity:1;transform:translateY(0);transition:opacity .26s ease,transform .26s ease}.nav.is-open .navList li:nth-child(1){transition-delay:80ms}.nav.is-open .navList li:nth-child(2){transition-delay:.16s}.nav.is-open .navList li:nth-child(3){transition-delay:.24s}.nav.is-open .navList li:nth-child(4){transition-delay:.32s}.navLink{position:relative;padding:.5rem .75rem;display:inline-block;color:var(--fg);text-decoration:none}.navLink:after{content:"";position:absolute;left:0;bottom:.2rem;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.navLink:hover:after,.navLink:focus-visible:after{transform:scaleX(1)}@media (min-width: 768px){.menuBtn{display:inline-block}}@media (max-width: 600px){.brand{gap:.65rem}.brandMark{width:40px;height:40px;font-size:.85rem;letter-spacing:.16em}.brandRole{display:none}}
