:root{--bg: #0f1115;--bg-soft: #151821;--text: #e7eaf3;--muted: #9aa3b2;--brand: #7c90ff;--accent: #8be9fd;--card: #141826;--border: #23283a;--shadow: 0 10px 30px rgba(0,0,0,.3)}*{box-sizing:border-box}html,body,#root{height:100%}html{scroll-behavior:smooth}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:var(--text);background:radial-gradient(1200px 800px at 10% -10%,#1a1f2e 0%,var(--bg) 40%) no-repeat;background-attachment:fixed;-webkit-tap-highlight-color:transparent}::selection{background:#7c90ff59;color:#0b0e14}a{color:var(--accent);text-decoration:none}a:hover{opacity:.9}.container{width:100%;max-width:1000px;margin:0 auto;padding:16px}.app{display:flex;min-height:100%;flex-direction:column}main.container{flex:1;width:100%}.fx-canvas{position:fixed;inset:0;z-index:-1;pointer-events:none}.navbar{position:sticky;top:0;z-index:999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(transparent,#00000014),#0a0c1280;border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand a{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--text)}.logo{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center}.menu-btn{display:none;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:6px 10px;cursor:pointer}.nav{display:flex;gap:8px}.nav-link{padding:8px 12px;border-radius:10px;color:var(--text)}.nav-link:hover{background:var(--bg-soft)}.nav-link.active{background:var(--brand);color:#0b0e14;font-weight:700}@media (max-width: 720px){.menu-btn{display:inline-block}.nav{display:none}.nav.open{display:flex;position:absolute;right:16px;top:56px;background:var(--bg-soft);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:8px;flex-direction:column}}.hero{text-align:center;padding:48px 12px 8px}.hero h1{font-size:clamp(36px,6vw,60px);margin:0 0 8px}.lead{color:var(--muted);font-size:clamp(16px,2.4vw,20px)}.cta{display:flex;gap:12px;justify-content:center;margin:20px 0 8px;flex-wrap:wrap}.hero-title{background:linear-gradient(90deg,var(--brand),var(--accent),#ffffff);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 20px rgba(124,144,255,.15);animation:shimmer 8s linear infinite}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.portrait{display:flex;justify-content:center;padding:8px 0 4px}.portrait-card{width:100%;max-width:720px;margin:0 auto 18px;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);position:relative}.portrait-card img{display:block;width:100%;height:auto;filter:saturate(1.08) contrast(1.03) brightness(1.02);transform:translateZ(0)}.portrait-card:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 40% at 85% 10%,rgba(124,144,255,.15),transparent 60%),radial-gradient(70% 60% at 15% 100%,rgba(0,0,0,.18),transparent 60%);pointer-events:none}.portrait-caption{padding:10px 12px 12px;font-size:14px;line-height:1.45;color:var(--muted);text-align:center;background:linear-gradient(transparent,#0000002e);border-top:1px solid rgba(255,255,255,.04)}@media (hover:hover){.portrait-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.portrait-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px #00000059;border-color:#7c90ff73}}.btn{background:var(--brand);color:#0b0e14;border:1px solid transparent;padding:10px 16px;border-radius:12px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px #7c90ff40;transition:transform .12s ease,filter .12s ease,box-shadow .2s ease}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:0 8px 20px #00000040}.btn.sm{padding:8px 12px;font-size:14px}.cards{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin:24px 0}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow);perspective:800px;transform-style:preserve-3d;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card h3{margin-top:0}.card:hover{transform:translateY(-4px) rotateX(.8deg) rotateY(.6deg);box-shadow:0 16px 40px #00000059;border-color:#7c90ff99}.grid.two{display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin:18px 0}.grid.three{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin:18px 0}@media (max-width: 900px){.cards,.grid.three{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.cards,.grid.two,.grid.three{grid-template-columns:1fr}}.reveal{opacity:0;transform:translateY(14px) scale(.98);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}.reveal.in{opacity:1;transform:translateY(0) scale(1)}.list{padding-left:18px}.list li{margin:8px 0}.timeline{list-style:none;padding-left:0}.timeline li{position:relative;padding-left:24px;margin:10px 0}.timeline .dot{position:absolute;left:0;top:8px;width:10px;height:10px;background:var(--accent);border-radius:50%}.photo img{width:100%;height:240px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}.photo-caption{margin-top:8px;font-size:13px;line-height:1.4;text-align:center;color:var(--muted)}.stack{display:grid;gap:14px}.headshot{margin:0;padding:0;overflow:hidden}.headshot img{display:block;width:100%;height:auto;filter:saturate(1.05) contrast(1.04) brightness(1.02);border-bottom:1px solid var(--border)}.headshot-cap{padding:10px 12px 12px;font-size:14px;line-height:1.45;text-align:center;color:var(--muted);background:linear-gradient(transparent,#0000002e)}.muted{color:var(--muted)}.mt{margin-top:16px}.footer{border-top:1px solid var(--border);padding:20px 0 40px}.foot-inner{display:flex;gap:12px;align-items:center;justify-content:space-between}@media (max-width: 640px){.foot-inner{flex-direction:column;text-align:center}}@media (prefers-reduced-motion: reduce){.hero-title,.card,.reveal,.portrait-card,.portrait-card:hover{animation:none!important;transition:none!important;transform:none!important}}
