:root{color-scheme:dark;--bg:#080a0f;--text:#f6f8fb;--muted:rgba(228,234,244,.72);--border:rgba(255,255,255,.11);--accent:#c6e3ff;--max:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 14% 10%,rgba(100,163,255,.14),transparent 30%),radial-gradient(circle at 88% 16%,rgba(164,255,226,.08),transparent 28%),linear-gradient(180deg,#080a0f,#0a0e15 50%,#07090d);color:var(--text);font-family:"Estedad",Tahoma,Arial,sans-serif;line-height:1.75}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wrap{width:min(calc(100% - 32px),var(--max));margin-inline:auto}
.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:16px}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:700;color:var(--text)}.brand img{display:block;width:64px;height:64px;object-fit:contain}nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem}
main{padding-block:24px 56px}.glass{border:1px solid var(--border);background:linear-gradient(145deg,rgba(255,255,255,.078),rgba(255,255,255,.032)),rgba(255,255,255,.022);box-shadow:0 28px 70px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.07);border-radius:28px}.hero{padding:clamp(24px,5vw,44px)}h1{font-size:clamp(2rem,6vw,4rem);line-height:1.2;margin:0 0 20px}h2{margin:0 0 20px;font-size:1.6rem}h3{margin:0 0 12px;font-size:1.2rem}p{margin:0 0 18px;color:var(--muted)}.intro{max-width:62ch}.skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.skills span{border:1px solid var(--border);border-radius:999px;padding:5px 11px;font-size:.8rem}
section+section{margin-top:40px;scroll-margin-block-start:24px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{padding:24px;min-width:0}.links{display:flex;flex-wrap:wrap;gap:10px 18px}.links a{padding-block:6px}.contact{padding:24px}.contact a{overflow-wrap:anywhere}footer{padding:24px 0 32px;color:var(--muted);border-top:1px solid var(--border);font-size:.85rem}
@media(max-width:768px){.grid{grid-template-columns:1fr}.page-header{gap:8px 24px}.hero{padding:24px}main{padding-top:16px}}
