:root{--bg:#1b1b1b;--bg-2:#202020;--ink:#eee;--muted:#d4d4d4;--soft:#f5f5f5;--line:#ffffff24;--panel:#ffffff0a;--panel-strong:#ffffff12;--accent:#169ac4;--accent-2:#55c7e5;--warm:#d6d6d6;--shadow:0 20px 70px #0003}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(90deg, #ffffff07 1px, transparent 1px), linear-gradient(180deg, #ffffff05 1px, transparent 1px), var(--bg);color:var(--ink);background-size:72px 72px;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}p{color:var(--muted);margin:0;line-height:1.52}h1,h2,h3{letter-spacing:0;margin:0;line-height:1.05}h1{font-size:clamp(2.7rem,7vw,5.9rem)}h2{font-size:clamp(1.85rem,4vw,3.3rem)}h3{font-size:1.08rem}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:10;background:#1b1b1bdb;justify-content:center;align-items:center;min-height:74px;padding:0 clamp(18px,5vw,48px);display:flex;position:sticky;top:0;left:0;right:0}.nav-shell{justify-content:space-between;align-items:center;gap:28px;width:100%;max-width:1270px;display:flex}.brand{color:var(--soft);letter-spacing:0;align-items:center;gap:10px;min-width:max-content;font-size:.96rem;font-weight:680;display:inline-flex}.brand-mark{background:#111;border:1px solid #169ac452;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;overflow:hidden}.brand-mark img{object-fit:cover;object-position:center 38%;width:100%;height:100%;display:block}.site-nav{background:#ffffff09;border:1px solid #ffffff14;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;padding:4px;display:flex}.site-nav a{color:#cfcfcf;border-radius:999px;padding:8px 12px;font-size:.92rem;font-weight:560;transition:background .15s,color .15s}.site-nav a.active{color:#f2fbff;background:#169ac424}.site-nav a:hover,.site-nav a:focus-visible{color:var(--accent-2);background:#ffffff0f;outline:none}.about-home{grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:clamp(42px,7vw,92px);max-width:1270px;min-height:calc(100svh - 72px);margin:0 auto;padding:clamp(42px,7vw,86px) clamp(22px,7vw,92px);display:grid;position:relative;overflow:hidden}.about-home:before{background:linear-gradient(180deg, var(--accent), transparent);content:"";opacity:.42;width:1px;height:160px;position:absolute;top:clamp(42px,7vw,86px);left:clamp(22px,7vw,92px)}.about-copy-home{max-width:790px;padding-left:28px;position:relative}.home-eyebrow{color:var(--accent);letter-spacing:0;margin-bottom:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.86rem}.about-copy-home h1{color:var(--ink);margin-bottom:26px;font-size:clamp(3.15rem,5.5vw,4.9rem);font-weight:320;line-height:1.04}.about-copy-home h1 strong{font-weight:820}.about-copy-home p{color:#d9d9d9;margin-top:22px;font-size:clamp(1.02rem,1.55vw,1.22rem);line-height:1.5}.about-links{flex-wrap:wrap;gap:18px;margin-top:24px;display:flex}.about-links a{color:var(--accent);font-size:1rem;font-weight:650}.about-links a:hover,.about-links a:focus-visible{color:var(--accent-2);outline:none}.profile-side{align-self:center;gap:18px;display:grid}.identity-card{border:1px solid var(--line);background:linear-gradient(135deg,#169ac424,#0000 45%),#ffffff09;border-radius:8px;gap:18px;padding:18px;display:grid}.profile-photo-frame{background:#111;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:100%;height:250px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #169ac433}.profile-photo-frame:after{content:"";background:linear-gradient(90deg,#0000,#169ac48c,#0000);height:1px;position:absolute;bottom:18px;left:16px;right:16px}.profile-photo{object-fit:cover;object-position:center 38%;width:100%;height:100%}.profile-location{color:#dcdcdc;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.96rem;font-weight:700}.kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:750}.button{border:1px solid var(--line);border-radius:8px;align-items:center;min-height:46px;padding:0 17px;font-weight:750;display:inline-flex}.button.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.button.secondary{color:var(--soft);background:#d8dee60b}.button:hover,.button:focus-visible{border-color:#7dd3fc8c;outline:none}.section{max-width:1120px;margin:0 auto;padding:82px clamp(18px,5vw,40px)}.compact-top{padding-top:22px}.simple-page-heading{border-bottom:1px solid var(--line);padding-top:56px;padding-bottom:22px}.section-label{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:700}.simple-heading-row{grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end;gap:18px;display:grid}.simple-page-heading h1{color:var(--ink);font-size:clamp(2.15rem,4vw,3rem);font-weight:760;line-height:1.1}.simple-heading-row p{color:#bfc4c8;text-align:right;font-size:.98rem;line-height:1.55}.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:22px;margin-bottom:30px;display:grid}.section-heading h2{max-width:760px;margin-top:10px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.projects-page-grid{grid-template-columns:repeat(2,minmax(280px,420px));justify-content:center}.project-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:22px;min-height:330px;padding:24px;display:flex}.project-card:hover{background:var(--panel-strong);border-color:#7dd3fc57;transition:background .16s,border-color .16s,transform .16s;transform:translateY(-2px)}.project-card h2{margin:10px 0;font-size:1.5rem;line-height:1.14}.card-meta{color:var(--warm);text-transform:uppercase;font-size:.78rem;font-weight:750;line-height:1.4}.tag-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);color:var(--soft);background:#d8dee60e;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:650}.text-link{color:var(--accent);font-weight:750}.text-link:hover,.text-link:focus-visible{color:var(--accent-2);outline:none}.contact-layout{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:stretch;gap:18px;max-width:1040px;display:grid}.contact-feature{background:linear-gradient(135deg, #169ac42e, transparent 42%), var(--panel);border:1px solid #7dd3fc3d;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:360px;padding:clamp(24px,4vw,34px);display:flex}.contact-feature h2{margin:16px 0;font-size:clamp(2rem,4vw,3rem);line-height:1.02}.contact-feature p:not(.section-label){color:#d8d8d8;font-size:1.02rem;line-height:1.58}.contact-primary-link{background:var(--ink);border:1px solid var(--ink);color:var(--bg);overflow-wrap:anywhere;border-radius:8px;justify-content:center;align-items:center;width:fit-content;min-height:48px;margin-top:28px;padding:0 16px;font-size:1rem;font-weight:800;display:inline-flex}.contact-primary-link:hover,.contact-primary-link:focus-visible{background:var(--accent-2);border-color:var(--accent-2);outline:none}.contact-list{gap:14px;display:grid}.contact-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:16px;min-height:118px;padding:20px;display:flex}.contact-card:hover{background:var(--panel-strong);border-color:#7dd3fc57}.contact-icon-wrap{border:1px solid #ffffff29;border-radius:8px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.contact-icon-wrap svg{fill:currentColor;width:24px;height:24px}.contact-icon-wrap.email{color:var(--accent-2);background:#169ac41f}.contact-icon-wrap.linkedin{color:#75b8ff;background:#0a66c224}.contact-icon-wrap.github{color:#f4f4f4;background:#ffffff14}.contact-icon-wrap.resume{color:#9fc7ff;background:#60a5fa1f}.contact-link{color:var(--soft);overflow-wrap:anywhere;margin-top:6px;font-size:clamp(1rem,1.5vw,1.2rem);font-weight:750;line-height:1.25;display:inline-block}.contact-link:hover,.contact-link:focus-visible{color:var(--accent-2);outline:none}.contact-note{color:#bfc4c8;margin-top:8px;font-size:.93rem;line-height:1.5}.project-actions{flex-wrap:wrap;gap:14px;margin-top:auto;display:flex}.secondary-link{color:#c9d2d8}.split-section{grid-template-columns:.82fr 1.18fr;gap:48px;display:grid}.timeline{gap:14px;display:grid}.timeline.wide{max-width:860px}.timeline-item{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px}.timeline-item h2,.timeline-item h3{margin:8px 0}.experience-list{gap:18px;max-width:980px;display:grid}.experience-card{background:linear-gradient(135deg, #169ac414, transparent 38%), var(--panel);border:1px solid var(--line);border-radius:8px;padding:clamp(22px,4vw,30px)}.experience-card-header{align-items:start;display:block}.experience-card h2{margin:8px 0;font-size:clamp(1.45rem,3vw,2.05rem);line-height:1.12}.experience-copy-grid{grid-template-columns:.9fr 1.1fr;gap:20px;margin-top:20px;display:grid}.experience-label{color:var(--accent);text-transform:uppercase;margin-bottom:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:700;line-height:1}.experience-description{color:#d8d8d8;max-width:850px;font-size:1rem;line-height:1.68}.experience-highlights{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.experience-highlights ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.experience-highlights li{color:#e4edf1;background:#169ac414;border:1px solid #169ac438;border-radius:8px;padding:14px;font-size:.93rem;font-weight:640;line-height:1.45}.experience-stack{margin-top:18px}.strong{color:var(--ink);font-weight:750}.page-header{background:var(--bg-2);border-bottom:1px solid var(--line);padding:76px clamp(18px,6vw,82px) 50px}.page-header h1{max-width:940px;margin:12px 0 16px;font-size:clamp(2.3rem,6vw,5rem)}.page-header p:last-child{max-width:780px}.project-detail{max-width:900px;margin:0 auto;padding:76px clamp(18px,5vw,42px)}.project-detail header{border-bottom:1px solid var(--line);margin-bottom:36px;padding-bottom:36px}.project-detail header p:last-child{margin-top:16px;font-size:1.18rem}.project-detail section{border:1px solid var(--line);background:#d8dee609;border-radius:8px;margin-top:18px;padding:22px}.project-detail h2{color:var(--soft);margin-bottom:12px;font-size:1.32rem}.project-detail h3{color:var(--soft);margin:0 0 10px;font-size:1rem;line-height:1.25}.deep-dive-section p{font-size:1.03rem}.architecture-figure{border:1px solid var(--line);background:#111;border-radius:8px;margin:18px 0 22px;overflow:hidden}.architecture-figure img{width:100%;height:auto;display:block}.detail-copy{border-top:1px solid var(--line);padding-top:20px}.detail-list{color:var(--muted);margin:0;padding-left:18px;line-height:1.7}.component-grid{gap:20px;display:grid}.component-card{border-top:1px solid var(--line);padding-top:18px}.component-card:first-child{border-top:0;padding-top:0}.component-card p+p{margin-top:10px}.flow-group{gap:28px;display:grid}.flow-group>div{border-top:1px solid var(--line);padding-top:18px}.flow-group>div:first-child{border-top:0;padding-top:0}.flow-chain{flex-wrap:wrap;gap:8px 24px;margin:12px 0 16px;padding:0;list-style:none;display:flex}.flow-chain li{color:#edf8fb;background:#169ac41a;border:1px solid #169ac447;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:700;position:relative}.flow-chain li:not(:last-child):after{color:var(--accent-2);content:"->";font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.8rem;position:absolute;top:50%;right:-18px;transform:translateY(-50%)}.resume-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:28px;display:grid}.resume-sidebar,.resume-main{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px}.resume-sidebar{gap:12px;display:grid}.resume-main{gap:34px;display:grid}.resume-project{border-top:1px solid var(--line);padding-top:16px}.resume-project+.resume-project{margin-top:18px}.about-copy{gap:18px;max-width:850px;display:grid}.about-copy p{font-size:1.08rem}@media (max-width:900px){.site-header{min-height:auto;padding:14px 18px}.nav-shell{flex-direction:column;align-items:flex-start;gap:12px}.site-nav{justify-content:flex-start}.section-heading,.split-section,.resume-layout,.project-grid,.contact-layout{grid-template-columns:1fr}.simple-heading-row{grid-template-columns:1fr;align-items:start}.simple-heading-row p{text-align:left}.experience-copy-grid,.experience-highlights ul{grid-template-columns:1fr}.about-home{grid-template-columns:1fr;min-height:auto;overflow:visible}.profile-side{justify-items:start}}@media (max-width:520px){.brand{font-size:.95rem}.site-nav a{padding:7px 9px;font-size:.88rem}.about-home{padding-top:36px}.about-copy-home h1{font-size:clamp(2.75rem,15vw,3.8rem)}.profile-photo-frame{width:100%;height:170px}.project-card{min-height:auto}.flow-chain{gap:8px;display:grid}.flow-chain li:not(:last-child):after{display:none}}@media (min-width:901px) and (max-height:760px){.about-home{gap:48px;padding-top:28px;padding-bottom:28px}.about-copy-home h1{margin-bottom:18px;font-size:clamp(2.8rem,5vw,3.65rem)}.about-copy-home p{margin-top:16px;font-size:1rem;line-height:1.42}.profile-photo-frame{width:100%;height:160px}}
