:root{--bg:#0a0d12;--card:#111722;--text:#f5f7fb;--muted:#aeb7c6;--line:#253044;--accent:#9de2ff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img,video{width:100%;display:block;border-radius:20px}nav{position:sticky;top:0;z-index:10;background:#0a0d12e8;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{max-width:var(--max);margin:auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:800;letter-spacing:-.03em}.navlinks{display:flex;gap:22px;color:var(--muted);font-size:14px}.wrap{max-width:var(--max);margin:auto;padding:0 24px}.hero{min-height:82vh;display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center;padding:80px 0}.eyebrow{color:var(--accent);font-size:13px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}h1{font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.065em;margin:16px 0 28px}h2{font-size:clamp(32px,4vw,54px);line-height:1.05;letter-spacing:-.045em;margin:10px 0 24px}h3{font-size:25px;letter-spacing:-.03em}.lead{font-size:20px;color:#d8deea;max-width:780px}.muted{color:var(--muted)}.portrait{aspect-ratio:4/5;object-fit:cover}.contact{position:relative;display:inline-block;margin-top:26px}.button{border:1px solid #42516b;border-radius:999px;padding:13px 20px;display:inline-flex;gap:10px;cursor:pointer;background:#111722}.contact-panel{display:none;position:absolute;top:58px;left:0;background:#151c28;border:1px solid var(--line);border-radius:16px;padding:15px;width:270px;box-shadow:0 20px 60px #0008}.contact.open .contact-panel{display:block}.contact-panel a{display:block;padding:8px}.section{padding:100px 0;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:26px}.project{padding:0;overflow:hidden}.project img{border-radius:0;aspect-ratio:16/10;object-fit:cover}.project .body{padding:26px}.tag{display:inline-block;border:1px solid #33415a;border-radius:999px;padding:5px 10px;font-size:12px;color:#c8d0dd;margin:3px}.statement{font-size:clamp(30px,4vw,55px);line-height:1.1;letter-spacing:-.04em;max-width:950px}.certs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cert{padding:22px;border:1px solid var(--line);border-radius:18px}.footer{padding:70px 0;color:var(--muted)}.case-hero{padding:90px 0 55px}.case-hero h1{max-width:950px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.copy{max-width:820px;font-size:18px;color:#d5dbe5}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.media-grid .wide{grid-column:1/-1}.proof{font-size:28px;border-left:3px solid var(--accent);padding-left:20px}.back{color:var(--accent);font-size:14px}.old-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.old-projects div{border:1px solid var(--line);border-radius:16px;padding:18px;color:#c6cfdd}@media(max-width:800px){.hero,.case-grid{grid-template-columns:1fr}.hero{padding-top:55px}.grid,.certs,.old-projects{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}.media-grid .wide{grid-column:auto}.navlinks{display:none}h1{font-size:52px}}

/* 2026 portfolio refinements */
.card,.cert,.old-projects div,.academic-card{transition:transform .28s ease,border-color .28s ease,background-color .28s ease,box-shadow .28s ease,filter .28s ease}
.card:hover,.cert:hover,.old-projects div:hover,.academic-card:hover{transform:translateY(-5px);border-color:#526684;background:#172131;box-shadow:0 18px 48px #0006;filter:brightness(1.12)}
.project img{transition:transform .45s ease,filter .35s ease}.project:hover img{transform:scale(1.025);filter:brightness(1.08)}
.hero{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:52px}.portrait{width:100%;max-width:500px;justify-self:end;box-shadow:0 24px 80px #0007}
.academic-card{max-width:620px;margin:10px 0 42px;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--card)}.academic-degree{font-size:28px;font-weight:750;letter-spacing:-.03em}.academic-school{margin-top:5px;color:var(--muted);font-size:18px}
.contact-panel a:hover{background:#202b3c;border-radius:10px;color:#fff}
@media(max-width:800px){.hero{grid-template-columns:1fr}.portrait{max-width:520px;justify-self:start}}
