
:root{
  --brand:#1f5aa6;
  --brand-2:#4a90e2;
  --ink:#0f172a;
  --muted:#475569;
  --bg:#f5f7fb;
  --card:#ffffff;
  --ring:rgba(74,144,226,.35);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,"Noto Sans",sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.55}

.container{width:min(1100px,92%);margin-inline:auto}

.skip-link{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#fff;padding:.5rem .75rem;border-radius:.5rem;box-shadow:0 6px 20px rgba(0,0,0,.15)}

/* Floating download button bottom-left */

.download-fab, .whatsapp-fab {
  position: fixed;
  bottom: 1rem;
  background: white;
  color: #1f5aa6;
  font-weight: bold;
  padding: 0.6rem 1rem;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  z-index: 100;
  text-decoration: none;
}
.download-fab { left: 1rem; }
.whatsapp-fab {
  right: 1rem;
}
.whatsapp-fab img {
  width: 28px;
  height: 28px;
}

/* Hero */
.hero{position:relative; color:#fff; padding:4rem 0 3rem; z-index:0}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg, rgba(31,90,166,.85), rgba(74,144,226,.6));mix-blend:multiply;pointer-events:none}
.hero__content{position:relative;display:grid;grid-template-columns:180px 1fr;gap:2rem;align-items:center}
.hero__avatar img{width:180px;height:180px;object-fit:cover;border-radius:50%;border:6px solid rgba(255,255,255,.35);box-shadow:0 10px 30px rgba(0,0,0,.2)}
.hero h1{margin:0;font-weight:700;letter-spacing:.5px}
.hero .subtitle{margin:.25rem 0 1rem;font-weight:700;letter-spacing:.08em;opacity:.95}
.hero .intro{margin:0}

.glass{background:rgba(255,255,255,.18); backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px); border:1px solid rgba(255,255,255,.25);
  border-radius:1rem; padding:1rem 1.2rem}

/* Layout */
.layout{display:grid;grid-template-columns:320px 1fr;gap:2rem;margin-top:1rem; position:relative; z-index:1}
.sidebar{position:relative}
.card{background:var(--card);border-radius:1rem;padding:1.2rem 1.2rem;margin-bottom:1rem;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.card__title{margin:0 0 .8rem;color:var(--brand);text-transform:uppercase;letter-spacing:.06em;font-size:.95rem}

.list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.list--icon li{display:grid;grid-template-columns:24px 1fr;gap:.6rem;align-items:start}
.icon{display:inline-grid;place-items:center;width:24px;height:24px}
.icon svg{width:20px;height:20px;fill:var(--brand)}

.bullets{margin:0;padding-left:1rem}
.bullets li{margin:.35rem 0}

/* Skills refined */
.skills{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.skills li{display:flex;gap:.6rem;align-items:flex-start}
.li-ico{width:20px;display:inline-block;text-align:center;font-weight:800}
.skills span{line-height:1.4}

.content .item{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1rem 0;border-top:1px dashed #e2e8f0}
.content .item:first-of-type{border-top:0}
.item__meta{display:flex;gap:.5rem;align-items:center;color:var(--muted);font-weight:600}
.item__meta .dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--brand-2);box-shadow:0 0 0 4px rgba(74,144,226,.18)}
.item__body h3{margin:.1rem 0 .2rem}
.item__body p{margin:.1rem 0 0;color:var(--muted)}

.references{margin:0;padding-left:1rem;display:grid;gap:.8rem}
.references li{margin-left:.2rem}

.footer{margin:2rem 0 3rem}
.footer__inner{display:flex;justify-content:space-between;align-items:center;color:#334155;font-size:.95rem}

@media (max-width: 900px){
  .hero__content{grid-template-columns:1fr; text-align:center}
  .hero__avatar{justify-self:center}
  .layout{grid-template-columns:1fr}
  .content .item{grid-template-columns:1fr}
  .footer__inner{flex-direction:column;gap:.5rem}
}

/* Print styles */
@media print{
  :root{--bg:#fff}
  .footer, .download-fab, .skip-link{display:none !important}
  .card{box-shadow:none}
  body{background:#fff}
}
