:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e7e9ec;background-color:#0f1116;line-height:1.5;font-weight:400;--bg: #0f1116;--bg-secondary: #161922;--card: #141824;--accent: #6c63ff;--text: #e7e9ec;--muted: #9aa1b5;--border: rgba(255, 255, 255, .05);--shadow: 0 12px 40px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 20%,rgba(108,99,255,.08),transparent 20%),radial-gradient(circle at 80% 0%,rgba(108,99,255,.08),transparent 25%),var(--bg);color:var(--text)}.app{max-width:1200px;margin:0 auto;padding:24px 18px 48px}.topbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;margin-bottom:16px;border:1px solid var(--border);background:#0f1116b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;border-radius:16px;box-shadow:var(--shadow)}.logo{width:46px;height:46px;border-radius:14px;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(108,99,255,.38);background:#0b0d12;box-shadow:0 8px 22px #00000047}.logo img{width:100%;height:100%;object-fit:cover;display:block}.nav{display:flex;gap:16px}.nav a{color:var(--muted);text-decoration:none;font-weight:600;transition:color .2s ease,transform .2s ease}.nav a:hover{color:var(--text);transform:translateY(-2px)}a:focus-visible,button:focus-visible,.project.expandable:focus-visible{outline:3px solid rgba(36,214,203,.75);outline-offset:3px}main{display:flex;flex-direction:column;gap:32px}.hero{background:linear-gradient(135deg,#6c63ff1a,#6c63ff00);border:1px solid var(--border);padding:48px;border-radius:24px;box-shadow:var(--shadow)}.hero-content{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:32px}.avatar{width:180px;height:180px;border-radius:50%;object-fit:cover;border:4px solid rgba(108,99,255,.45);box-shadow:0 18px 45px #00000059;justify-self:end}.hero h1{font-size:clamp(32px,4vw,48px);margin:8px 0 4px}.hero .title{color:var(--muted);font-size:18px;margin-bottom:8px}.hero .tagline{font-size:20px;max-width:700px;color:#f5f6fb;margin-bottom:24px}.badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border);padding:8px 12px;border-radius:999px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:12px}.cta{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;text-decoration:none}.btn:disabled{cursor:not-allowed;opacity:.65;transform:none}.btn.primary{background:var(--accent);color:#0f1116;box-shadow:0 10px 30px #6c63ff59}.btn.ghost{border-color:var(--border);background:transparent;color:var(--text)}.btn.secondary{border-color:var(--accent);color:var(--accent);background:#6c63ff14}.btn:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow)}.section{background:var(--bg-secondary);border:1px solid var(--border);padding:32px;border-radius:20px;box-shadow:var(--shadow)}.section-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}.section-header.compact{align-items:flex-start;gap:4px}.opportunity-section{background:linear-gradient(135deg,#6c63ff1f,#161922f5)}.opportunity-description{max-width:900px;color:#f2f4f8;font-size:18px;margin:8px 0 20px}.opportunity-tags{display:flex;flex-wrap:wrap;gap:10px}.opportunity-tags span{border:1px solid rgba(108,99,255,.35);border-radius:999px;padding:8px 12px;color:var(--text);background:#6c63ff1a;font-weight:700;font-size:13px}.section-header h2,.section-header h3{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-size:12px;margin:0}.section-text{color:#c6ccdb;font-size:18px;margin-top:12px;line-height:1.7}.section-text.small{font-size:16px}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.value-card{min-width:0;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#ffffff0a}.value-index{width:42px;height:42px;display:inline-grid;place-items:center;margin-bottom:12px;border:1px solid rgba(108,99,255,.28);border-radius:12px;background:#6c63ff24;color:#d7d3ff}.icon-glyph{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.value-card h3,.value-card p,.data-focus h3,.data-focus p{margin:0}.value-card h3{margin-bottom:8px}.value-card p,.data-focus p{color:#c6ccdb}.data-focus{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:18px;align-items:center;margin-top:16px;padding:18px;border:1px solid rgba(36,214,203,.18);border-radius:14px;background:#24d6cb12}.soft-skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.soft-skill-card{display:flex;gap:14px;align-items:flex-start;min-width:0;padding:16px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#ffffff0a}.soft-skill-icon{width:42px;height:42px;flex:0 0 42px;display:inline-grid;place-items:center;border:1px solid rgba(36,214,203,.24);border-radius:12px;background:#24d6cb1c;color:#eafffd}.soft-skill-card h3,.soft-skill-card p{margin:0}.soft-skill-card h3{margin-bottom:6px}.soft-skill-card p{color:#c6ccdb}.education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.education-card{min-width:0;display:grid;gap:10px;padding:18px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:#ffffff0a}.education-card h3,.education-card p{margin:0}.education-type{display:inline-flex;width:fit-content;margin-bottom:8px;padding:5px 8px;border:1px solid rgba(108,99,255,.26);border-radius:999px;color:#d7d3ff;background:#6c63ff1a;font-size:11px;font-weight:800;text-transform:uppercase}.education-institution{color:#f5f6fb;font-weight:750}.education-card p:not(.education-type):not(.education-institution){color:#c6ccdb}.skills-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:20px}.skills-grid .card{min-width:0;padding:16px}.skills-grid .card h3{font-size:16px;text-transform:uppercase;letter-spacing:.08em;color:#f5f6fb}.skills-grid .card ul{padding-left:16px}.skills-grid .card li{font-size:14px}.skill-stack{display:flex;flex-direction:column;gap:9px}.skill-badge{min-height:36px;display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#ffffff0a;color:#dfe3ef;font-size:13px;font-weight:650;line-height:1.25}.skill-badge.codex-skill .skill-icon{border-radius:8px;background:#24d6cb52}.skill-icon{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center}.skill-icon img{width:20px;height:20px;object-fit:contain;display:block}.custom-skill-svg{width:22px;height:22px;display:block}.skill-icon.fallback{border-radius:7px;color:#d7d3ff;background:#6c63ff2e;font-size:10px;font-weight:850}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.card h3{margin-top:0;margin-bottom:8px}.card ul{padding-left:18px;color:#c6ccdb}.card li{margin-bottom:4px}.projects-grid .card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;overflow:hidden;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.project.expandable{cursor:pointer}.project.expandable:hover{border-color:#6c63ff52;transform:translateY(-3px)}.project.expandable:focus-visible{border-color:#24d6cb8c}.project-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.project-title-row h3{min-width:0}.expand-chip{border:1px solid rgba(108,99,255,.28);border-radius:999px;padding:6px 10px;color:#d7d3ff;background:#6c63ff1f;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.project-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#05070cd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-modal-card{width:min(1080px,100%);max-height:calc(100vh - 48px);display:grid;gap:16px;overflow:auto;padding:22px;border:1px solid rgba(108,99,255,.45);border-radius:18px;background:#141824;box-shadow:0 28px 90px #0000009e}.project-modal-card .project-media{margin:0}.project-modal-card .media-frame{aspect-ratio:16 / 10;border:1px solid var(--border);border-radius:12px}.project-modal-card .media-frame img,.project-modal-card .media-frame video{object-fit:contain}.project-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-modal-header h3{margin:4px 0 0}.modal-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center;color:var(--text);background:#ffffff0f;cursor:pointer;font-size:18px;font-weight:800}.modal-close:hover{background:#6c63ff38}.project-content{display:grid;gap:10px}.project-content h3,.project-content p{margin-top:0}.case-study{display:grid;gap:8px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff0a}.case-study.compact{padding:12px}.case-study p{margin:0;color:#c6ccdb;font-size:14px;line-height:1.55}.case-study strong{color:#f5f6fb}.project-media{display:block;margin:-20px -20px 0}.media-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:#0b0d12;border-bottom:1px solid var(--border)}.media-frame img,.media-frame video{width:100%;height:100%;display:block;object-fit:cover;object-position:top center}.project-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}.project-actions .btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 12px;text-align:center;white-space:nowrap;font-size:14px}.tech-list{display:flex;flex-wrap:wrap;gap:8px}.tech-icon{width:34px;height:34px;border:1px solid rgba(255,255,255,.08);border-radius:10px;display:inline-grid;place-items:center;background:#ffffff0d;color:#e7e9ec;font-size:11px;font-weight:800}.tech-icon img{width:21px;height:21px;object-fit:contain;display:block}.tech-icon.fallback{background:#6c63ff26;border-color:#6c63ff3d}.pill{background:#6c63ff26;border:1px solid rgba(108,99,255,.25);color:#d7d3ff;padding:6px 10px;border-radius:999px;font-size:12px}.contact-grid{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:16px}.contact-action{width:54px;height:54px;border:1px solid rgba(255,255,255,.09);border-radius:14px;display:inline-grid;place-items:center;color:#f5f6fb;background:#ffffff0d;cursor:pointer;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.contact-action:hover{transform:translateY(-2px);border-color:#6c63ff6b;background:#6c63ff24;box-shadow:var(--shadow)}.contact-action.github{color:#fff}.contact-action.linkedin{color:#0a66c2;background:#0a66c21f}.contact-action.whatsapp{color:#25d366;background:#25d3661a}.contact-action.mail{color:#fff;background:#ffffff14}.contact-action.cv{color:#e53935;background:#e539351a}.contact-icon{width:25px;height:25px;display:grid;place-items:center}.contact-icon svg{width:100%;height:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:24px;background:#05070cd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.contact-modal-card{width:min(560px,100%);max-height:calc(100vh - 48px);display:grid;gap:18px;overflow:auto;padding:22px;border:1px solid rgba(108,99,255,.45);border-radius:18px;background:#141824;box-shadow:0 28px 90px #0000009e}.contact-form{display:grid;gap:10px}.contact-form input,.contact-form textarea{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--border);background:#0f1116;color:var(--text);transition:border .2s ease,box-shadow .2s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6c63ff33}.contact-success{display:grid;gap:12px;padding:18px;border:1px solid rgba(108,99,255,.24);border-radius:14px;background:#6c63ff1a}.contact-success h4,.contact-success p{margin:0}.error{color:#ff7b7b;margin:0}textarea{min-height:80px;resize:vertical}.footer{margin-top:32px;padding:18px;border-top:1px solid var(--border);color:var(--muted);text-align:center}@media (max-width: 768px){.topbar{display:grid;grid-template-columns:auto 1fr;gap:12px}.nav{width:100%;justify-content:center;flex-wrap:wrap}.hero{padding:32px}.hero-content{grid-template-columns:1fr}.avatar{width:140px;height:140px;justify-self:start;order:-1}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.value-grid,.data-focus,.soft-skills-grid,.education-grid{grid-template-columns:1fr}.project-modal{padding:12px}.project-modal-card{max-height:calc(100vh - 24px);padding:14px}.contact-modal{padding:12px}.contact-modal-card{max-height:calc(100vh - 24px);padding:14px}.project-modal-card .media-frame{aspect-ratio:4 / 3}}@media (max-width: 480px){.skills-grid{grid-template-columns:1fr}.project-actions .btn{padding:9px 8px;font-size:13px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.media-frame video{animation:none}}
