
:root{--bg:#0b1220;--bg-elev:#0f172a;--text:#e5e7eb;--muted:#94a3b8;--card:#0f172a;--border:#1f2937;--accent:#0ea5e9;--accent-2:#22d3ee;--shadow:0 10px 30px rgba(2,8,23,.35)}
[data-theme="light"]{--bg:#ffffff;--bg-elev:#f8fafc;--text:#0f172a;--muted:#475569;--card:#ffffff;--border:#e2e8f0;--accent:#0ea5e9;--accent-2:#22d3ee;--shadow:0 10px 30px rgba(2,8,23,.08)}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Noto Sans, Ubuntu, Cantarell, 'Segoe UI Variable', 'SF Pro Text', 'SF Pro Icons', 'Apple Color Emoji', 'Segoe UI Emoji';color:var(--text);background:var(--bg);line-height:1.6}
a{color:var(--accent)}
img{max-width:100%;display:block;border-radius:12px}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.row{display:flex;gap:14px}
.grid{display:grid;gap:24px}
.grid.two{grid-template-columns:1.1fr .9fr}
.grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.grid.two,.grid.three{grid-template-columns:1fr}}
.space-between{justify-content:space-between}
.align-center{align-items:center}
.align-start{align-items:flex-start}
.wrap{flex-wrap:wrap}
.gap{gap:12px}

.site-header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--border);z-index:50}
.brand{gap:10px;text-decoration:none;color:inherit}
.brand__logo{border-radius:8px}
.brand__name{font-weight:700}
.site-nav{display:block}
.nav-list{list-style:none;display:flex;gap:18px;padding:16px;margin:0;align-items:center}
.nav-toggle{display:none;background:transparent;border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text)}
@media(max-width:760px){.site-nav{display:none}.nav-toggle{display:block}.site-header[aria-expanded='true'] .site-nav{display:block}.nav-list{flex-direction:column;align-items:flex-start}}

.display{font-size: clamp(28px, 4.5vw, 52px);line-height:1.1;margin:0 0 10px}
.lead{font-size: clamp(16px, 2.2vw, 20px);color:var(--muted)}
.section{padding:64px 0}
.section.alt{background:var(--bg-elev)}
.hero{padding:60px 0 30px}
.hero-card{display:flex;justify-content:center;align-items:center}
.portrait{box-shadow:var(--shadow)}

.btn{background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;color:white;padding:12px 18px;border-radius:12px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:600}
.btn--ghost{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn--small{padding:8px 12px;font-size:14px}
.chip{border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 12px;border-radius:999px;cursor:pointer}
.chip.active{outline:2px solid var(--accent)}

.cards{--cols:3}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.card__body{padding:16px}
.tags span{display:inline-block;background:rgba(14,165,233,.12);color:var(--accent);border:1px solid rgba(14,165,233,.3);padding:4px 8px;border-radius:999px;margin:4px 6px 0 0;font-size:12px}
.meta{display:flex;gap:10px;list-style:none;padding:0;margin:8px 0 0;color:var(--muted);flex-wrap:wrap}

.pill-list{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:12px 0}
.pill-list li{border:none var(--border);padding:6px 10px;border-radius:999px;color:var(--muted)}

.checklist{list-style:none;padding:0}
.checklist li{margin:8px 0;padding-left:28px;position:relative}
.checklist li:before{content:'✔';position:absolute;left:0;top:0;color:var(--accent)}

.timeline{list-style:none;padding:0;color:var(--muted)}

.cta{background:linear-gradient(180deg, rgba(14,165,233,.12), transparent)}

.site-footer{border-top:1px solid var(--border);padding:24px 0;margin-top:40px}
.icon-link{color:var(--text);text-decoration:none;opacity:.9}
.icon-link:hover{opacity:1}

.list{line-height:1.9}
.form label{display:block;margin:12px 0}
.form input,.form textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text)}
.form__status{min-height:24px;color:var(--muted)}

.resume__header{border-bottom:1px solid var(--border);margin-bottom:18px}
.resume__item{border-left:3px solid var(--accent);padding-left:12px;margin:14px 0}

.muted{color:var(--muted)}
.accent{color:var(--accent)}

a:focus, button:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--accent);
  color: white;
  padding: 8px 16px;
  z-index: 100;
  text-decoration: none;
}

.skip-link:focus {
  top: 0;
}


