:root{--nav-h: 64px;--accent:#4f7cff;--text:#ececec;--muted:#cfcfd6;--bg-1:#0d0d0f;--bg-2:#1c1c1f;--nav-bg:rgba(13,13,15,.7);--border:#222428;--brand-logo-h: 110px;--brand-slot-w: 56px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);background:radial-gradient(1400px 600px at 20% -10%,var(--bg-2),var(--bg-1) 60%),var(--bg-1);overflow-x:hidden}a{text-decoration:none;color:inherit}a:visited{color:inherit}a:hover{color:var(--accent)}.container{max-width:1100px;margin:0 auto;padding:0 20px}.navbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;min-height:var(--nav-h);padding:14px 20px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--nav-bg);overflow:visible}.brand{display:flex;align-items:center;gap:25px}.brand-slot{position:relative;width:var(--brand-slot-w);height:var(--nav-h);display:block;overflow:visible}.brand-icon{position:absolute;left:0;top:50%;height:var(--brand-logo-h);width:auto;transform:translateY(-50%);display:block;pointer-events:none}.brand-text{font-weight:800;letter-spacing:.2px;color:var(--accent);text-shadow:0 0 10px rgba(79,124,255,.25);line-height:1}.navbar nav{display:flex;gap:14px;align-items:center}.navbar a{color:var(--muted);padding:8px 10px;border-radius:10px;transition:color .25s ease,background-color .25s ease}.navbar nav a:hover,.navbar nav a:focus-visible{color:var(--accent);background:#17181b;outline:none}.navbar a:visited{color:var(--muted)}.Btn-Container{display:flex;width:200px;height:fit-content;background-color:#1d2129e6;border-radius:40px;box-shadow:0 5px 20px #4f7cff80;justify-content:space-between;align-items:center;border:none;cursor:pointer;transition:transform .2s ease}.Btn-Container:hover{transform:scale(1.05)}.icon-Container{width:45px;height:45px;background-color:var(--accent);display:flex;align-items:center;justify-content:center;border-radius:50%;border:3px solid rgba(29,33,41,.9)}.text{width:155px;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1em;font-weight:700;letter-spacing:1.2px}.icon-Container svg{transition-duration:1.5s;fill:#fff}.Btn-Container:hover .icon-Container svg{animation:arrow 1s linear infinite}@keyframes arrow{0%{opacity:0;margin-left:0}to{opacity:1;margin-left:10px}}.btn{display:inline-block;background:linear-gradient(135deg,var(--accent),#3b76ff);color:#0b0b0f;font-weight:700;border:1px solid #6e86ff;padding:12px 16px;border-radius:12px;text-decoration:none;box-shadow:0 6px 24px #00000059;transition:transform .2s,filter .2s}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.home .hero{width:100vw;margin-left:calc(-50vw + 50%);min-height:calc(100dvh - var(--nav-h));background:url(/Assets/cornered-stairs.svg) center/cover no-repeat;display:flex;align-items:center;justify-content:center;position:relative;text-align:center;padding:72px 0 48px}.home .hero:before{content:"";position:absolute;inset:0;background:#0000008c}.home .hero .container{position:relative;z-index:1;max-width:720px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:10px}.home .hero h1{font-size:clamp(28px,5vw,48px);line-height:1.1;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.7)}.tagline{color:#cfd2e0;font-size:clamp(15px,2vw,18px);margin:0;text-shadow:0 1px 3px rgba(0,0,0,.7)}.intro{max-width:680px;margin:0;color:#e4e6f0;line-height:1.65;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.7)}@media (max-width:700px){.home .hero{width:100%;margin-left:0;min-height:calc(100svh - var(--nav-h));padding:56px 0 28px;background:url(/Assets/cornered-stairs.svg) center/cover no-repeat}.home .hero:before{background:#0000009e}.home .hero .container{max-width:560px;padding:0 16px}.home .hero h1{font-size:26px;letter-spacing:.2px}.tagline{font-size:14px}.intro{font-size:15px;line-height:1.7;max-width:42ch}.Btn-Container{width:240px;border-radius:46px}.icon-Container{width:50px;height:50px}.navbar{padding:10px 12px}.navbar nav{flex-wrap:wrap;gap:6px 10px}.navbar nav a{padding:10px 12px;border-radius:12px;font-size:.98rem}.navbar .logo img{content:url(/assets/WJBULL-Cutout-Name-BLi3VBYV.png);height:42px;width:auto}.navbar .logo-text{display:none!important}}@media (max-width:700px){.brand-slot{position:static;width:auto;height:var(--nav-h);display:flex;align-items:center}.brand-slot img.brand-icon{position:static;transform:none;height:125px;width:auto}.brand-text{display:none!important}.brand{gap:10px}}.contact-wrap h1{font-size:clamp(28px,5vw,44px);margin:0 0 6px;text-shadow:0 1px 3px rgba(0,0,0,.7)}.contact-grid{margin-top:18px;display:grid;gap:12px}.contact-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.contact-btn{--bg: rgba(29, 33, 41, .9);display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:14px;background:var(--bg);color:var(--text);border:1px solid rgba(110,134,255,.2);box-shadow:0 5px 20px #4f7cff40;transition:transform .18s ease,box-shadow .18s ease,background .2s ease,color .2s ease}.contact-btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px #4f7cff59;color:#fff}.contact-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--accent);color:#0b0b0f;box-shadow:inset 0 0 0 3px #1d2129e6}.contact-labels{display:grid}.contact-label{font-weight:700;letter-spacing:.2px}.contact-sublabel{font-size:.9rem;color:#cfd2e0}.contact-arrow{margin-left:auto;opacity:.9;transition:transform .2s ease}.contact-btn:hover .contact-arrow{transform:translate(2px)}.copy-chip{padding:8px 10px;font-size:.9rem;border-radius:10px;border:1px solid rgba(110,134,255,.25);background:#17181b;color:var(--text);cursor:pointer;transition:background .2s ease,transform .18s ease}.copy-chip:hover{background:#1f2330;transform:translateY(-1px)}@media (max-width: 720px){.contact-grid{gap:10px}.contact-btn{width:100%}}.resume-wrap h1{font-size:clamp(28px,5vw,44px);margin:0 0 6px;text-shadow:0 1px 3px rgba(0,0,0,.7)}.resume-download{margin:10px 0 16px}#resume-doc{background:#0f1115;border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:0 20px 60px #00000059;padding:20px clamp(16px,3vw,28px);max-width:860px;color:#e9eaf1;text-align:left}#resume-doc .r-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08)}#resume-doc h2{margin:0 0 2px;font-size:clamp(22px,3.5vw,28px)}#resume-doc .r-sub{margin:0;color:#bfc4d6}#resume-doc .r-contact{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:14px;text-align:right}#resume-doc .r-contact a{color:#cdd3e8}#resume-doc .r-contact a:hover{color:var(--accent)}#resume-doc section{margin-top:14px}#resume-doc h3{margin:10px 0 6px;font-size:16px;letter-spacing:.3px;text-transform:uppercase;color:#cfd3e2}.r-item{margin-bottom:10px}.r-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.r-item-head strong{font-size:15px}.r-item-head span{color:#aeb4c7;font-size:13px}.r-item ul{margin:6px 0 6px 18px}.r-item li{margin:2px 0}.r-tech{color:#9fb0ff;font-size:13px}.r-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media print{@page{size:Letter;margin:.5in}body *{visibility:hidden}#resume-doc,#resume-doc *{visibility:visible}#resume-doc{position:absolute;left:0;top:0;width:auto;max-width:none;box-shadow:none;border-radius:0;border:0;background:#fff;color:#111;padding:0}#resume-doc .r-head{border-color:#ddd}#resume-doc .r-contact a{color:#000;text-decoration:none}#resume-doc h2{font-size:18pt}#resume-doc h3{font-size:11pt}#resume-doc,#resume-doc p,#resume-doc li{font-size:10pt;line-height:1.35}.r-item-head strong{font-size:10.5pt}.r-item-head span{font-size:9.5pt;color:#444}.r-tech{color:#2f55cc}.r-grid{grid-template-columns:1fr 1fr;gap:12pt}.navbar,.Btn-Container,.resume-download,.hero:before{display:none!important}}.resume-download{position:relative}.dl-icon{position:relative;display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:50%;background-color:var(--accent);box-shadow:inset 0 0 0 3px #1d2129e6}.dl-svg{width:18px;height:18px;fill:#fff;transition:transform .3s ease,opacity .3s ease}.dl-bar{position:absolute;bottom:8px;width:18px;height:5px;border-bottom:2px solid #e9e9f5;border-left:2px solid #e9e9f5;border-right:2px solid #e9e9f5;opacity:.9;transition:border-color .3s ease}.dl-tooltip{position:absolute;right:-105px;opacity:0;background-color:#0c0c0c;color:#fff;padding:5px 10px;border-radius:5px;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;pointer-events:none;letter-spacing:.5px;white-space:nowrap}.dl-tooltip:before{content:"";position:absolute;width:10px;height:10px;background-color:#0c0c0c;transform:rotate(45deg);left:-5%}.resume-download:hover .dl-tooltip{opacity:1}@keyframes slide-in-top{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.resume-download:hover .dl-svg{animation:slide-in-top .6s cubic-bezier(.25,.46,.45,.94) both}.resume-download:hover .dl-bar{border-bottom-color:#fff;border-left-color:#fff;border-right-color:#fff}.hide-print{display:block}.show-print{display:none}@media print{.hide-print{display:none!important}.show-print{display:block!important}}@media (max-width:820px){.resume-wrap{padding:0 14px}.resume-download.Btn-Container{width:240px;margin:8px auto 14px;border-radius:46px}.dl-tooltip{display:none}#resume-doc{padding:14px;border-radius:14px;box-shadow:0 8px 22px #00000059}#resume-doc h2{font-size:1.2rem}#resume-doc .r-sub{font-size:.96rem}.r-item-head{gap:8px;flex-wrap:wrap}.r-item-head strong{font-size:1rem}#resume-doc li{margin-bottom:6px;line-height:1.58}.r-contact a{display:inline-block;padding:3px 0}}@media (max-width:380px){#resume-doc{padding:12px}#resume-doc h2{font-size:1.08rem}#resume-doc li{font-size:.95rem}}.projects-page .projects-container{max-width:min(1600px,95vw);margin:0 auto}.projects-grid{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:stretch;gap:22px;margin-top:16px}.project-card{display:flex;flex-direction:column;background:#0d0d0fdb;border:1px solid rgba(79,124,255,.18);border-radius:14px;overflow:hidden;box-shadow:0 12px 28px #00000073,0 0 0 1px #ffffff08 inset;-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.project-body{padding:14px 14px 16px}.project-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.project-title{margin:0;font-size:1.1rem}.period{color:var(--muted);font-size:.9rem}.summary{color:#dfe3ef;margin:6px 0 10px;line-height:1.6}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.badge{background:#17181b;color:#cfd2e0;border:1px solid rgba(110,134,255,.25);padding:6px 8px;border-radius:10px;font-size:.82rem}.links{display:flex;flex-wrap:wrap;gap:10px}.link-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#1d2129e6;color:var(--text);border:1px solid rgba(110,134,255,.2);box-shadow:0 5px 20px #4f7cff33;transition:transform .18s ease,box-shadow .18s ease,color .2s ease}.link-btn:hover{transform:translateY(-1px);color:#fff;box-shadow:0 10px 28px #4f7cff59}.carousel{position:relative;background:#0f1115;border-bottom:1px solid rgba(255,255,255,.06)}.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth}.slide{scroll-snap-align:start;margin:0;aspect-ratio:16 / 9;display:grid;place-items:center;background:#0c0e12}.slide img{width:100%;height:100%;object-fit:cover}.dots{display:flex;gap:8px;justify-content:center;padding:8px 0 10px}.dot{width:8px;height:8px;border-radius:50%;background:#2a2d36;outline:none;border:1px solid rgba(110,134,255,.25)}.dot:hover{background:var(--accent)}.projects-page .hero .container{max-width:min(1600px,95vw)!important}.projects-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:22px;margin-top:16px}.projects-grid>*{flex:0 0 360px;min-width:300px;max-width:420px}.project-card{display:flex;flex-direction:column;background:#0d0d0fdb;border:1px solid rgba(79,124,255,.18);border-radius:14px;overflow:hidden;box-shadow:0 12px 28px #00000073,0 0 0 1px #ffffff08 inset;transition:transform .18s,box-shadow .18s,border-color .18s}.project-card:hover{transform:translateY(-2px);border-color:#4f7cff59;box-shadow:0 18px 36px #00000080,0 0 0 1px #ffffff0d inset,0 8px 32px #4f7cff2e}.project-card .slide{aspect-ratio:16/9}@media (max-width:840px){.projects-page .hero .container{max-width:96vw!important;padding:0 12px}.projects-grid{display:grid!important;grid-template-columns:1fr;justify-items:center;gap:16px}.project-card{width:min(560px,100%);margin:0 auto;background:#0d0d0fe0;border-radius:14px;box-shadow:0 12px 28px #00000073}.project-card .slide{aspect-ratio:4/3}.project-title{font-size:1.05rem}.summary{font-size:.98rem;line-height:1.65}.badge{padding:8px 10px;border-radius:12px}.link-btn{padding:12px 14px;border-radius:12px;min-height:44px}}@media (max-width:380px){.project-card .slide{aspect-ratio:1/1}.link-btn{font-size:.95rem}}
