/* Estilos principales: colores vivos y diseño responsive */
:root{
  --bg: #0e0e10;
  --text: #141414;
  --accent1: #d7263d;  /* rojo */
  --accent2: #ff7f11;  /* naranja */
  --accent3: #23ce6b;  /* verde */
  --accent4: #001f3f;  /* azul marino */
  --paper: #ffffff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Quicksand',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#222;background:#fafafa}
img{max-width:100%;display:block}

.container{width:min(1100px,92%);margin-inline:auto}
.flex{display:flex;gap:1rem}
.between{justify-content:space-between}.center-v{align-items:center}

.site-header{position:sticky;top:0;z-index:10;background:#fff/90;backdrop-filter:saturate(180%) blur(6px);border-bottom:1px solid #eee}
.site-header .brand h1{margin:.6rem 0;font-weight:800;letter-spacing:.3px}
.site-header .brand span{color:var(--accent4)}
.site-header .tagline{margin:.1rem 0 .8rem;color:#555;font-size:.95rem}
.nav a{margin-left:1rem;text-decoration:none;color:#333;font-weight:600}
.nav a:hover{color:var(--accent1)}

.hero{position:relative;min-height:62vh;display:grid;place-items:center;background:linear-gradient(135deg, #ffe8e8, #fff0da, #e9ffe9, #e3ecff)}
.hero .overlay{position:absolute;inset:0;pointer-events:none;background-image:
  radial-gradient(20px 20px at 10% 20%, rgba(215,38,61,.22) 0 50%, transparent 55%),
  radial-gradient(16px 16px at 37% 78%, rgba(35,206,107,.22) 0 50%, transparent 55%),
  radial-gradient(22px 22px at 80% 30%, rgba(0,31,63,.22) 0 50%, transparent 55%),
  radial-gradient(18px 18px at 55% 40%, rgba(255,127,17,.22) 0 50%, transparent 55%);
  background-repeat:no-repeat}
.hero-inner{text-align:center;position:relative;z-index:1;padding:3rem 0}
.hero h2{font-size:clamp(2rem,4vw,3rem);margin:.3rem 0 1rem;color:#111}
.hero p{margin:0 auto 1.5rem;max-width:60ch;color:#333;line-height:1.6}
.btn{display:inline-block;padding:.9rem 1.2rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid #0001}
.btn.primary{background:var(--accent4);color:#fff}
.btn.ghost{background:#fff;color:#111}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0001}

.mosaic{position:absolute;inset:auto 0 -60px 0;height:120px;background:
  repeating-linear-gradient(135deg,
    var(--accent1) 0 16px,#fff 16px 32px,
    var(--accent2) 32px 48px,#fff 48px 64px,
    var(--accent3) 64px 80px,#fff 80px 96px,
    var(--accent4) 96px 112px,#fff 112px 128px);opacity:.15}

.section{padding:56px 0}
.section.alt{background:#fff}
.section h3{font-size:1.8rem;margin:0 0 .6rem}
.section p{color:#444}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:1rem}
.card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #eee;box-shadow:0 6px 18px #0000000d}
.card img{aspect-ratio:4/3;object-fit:cover}
.card figcaption{font-size:.85rem;color:#555;padding:.6rem .8rem;background:#fafafa}

.features{display:grid;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none}
.chip{background:linear-gradient(90deg, var(--accent1), var(--accent2), var(--accent3), var(--accent4));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}

.bio{background:linear-gradient(180deg, #fff, #f7f8ff)}
.bio .bio-inner{background:#fff8;backdrop-filter:blur(4px);border-radius:18px;padding:1rem 1.2rem;border:1px solid #eee}

.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:1rem}
.contact-card{display:flex;gap:.8rem;align-items:center;padding:1rem;border:1px solid #eee;border-radius:16px;text-decoration:none;color:#111;background:#fff;box-shadow:0 6px 18px #0000000d}
.contact-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px #0001}
.contact-card img{width:42px;height:42px;object-fit:contain}

.site-footer{padding:28px 0;background:#0f1221;color:#dfe3f4;text-align:center;margin-top:24px}
.small{font-size:.92rem}

@media (max-width:720px){
  .nav{display:none}
  .site-header .tagline{display:none}
}
