/* ═══════════════════════════════════════════════
   danielretamal.cl — estilo del sitio público
   Paleta: noche morada, luz de lámpara ámbar, papel hueso
   ═══════════════════════════════════════════════ */

:root{
  --noche:#221527;
  --noche-2:#1A0F1E;
  --sala:#2F1F38;
  --sala-alta:#3A2745;
  --borde:#4B3557;
  --lampara:#F0A93B;
  --lampara-baja:#8A6329;
  --hueso:#F4EDE2;
  --tiza:#A292AB;
  --eucalipto:#8FC0A9;
  --alerta:#E68A7A;
  --display:'Fraunces','Iowan Old Style',Georgia,serif;
  --texto:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ancho:1080px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--noche);color:var(--hueso);
  font-family:var(--texto);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
/* grano de papel: textura analógica sobre todo el sitio */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
}
.wrap{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 24px;position:relative;z-index:1}
.wrap.angosto{max-width:620px}
h1,h2,h3{font-family:var(--display);font-weight:400;font-variation-settings:'SOFT' 45,'WONK' 1,'opsz' 100;margin:0;line-height:1.06;letter-spacing:-.018em}
p{margin:0}
a{color:var(--lampara);text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--eucalipto);outline-offset:3px;border-radius:4px}

.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--tiza);font-weight:600;margin:0}
.nota{font-size:13px;color:var(--tiza);line-height:1.5}
.legal{font-size:12.5px;color:var(--tiza);line-height:1.5;max-width:62ch}

/* ---------- navegación ---------- */
.nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:rgba(34,21,39,.78);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.pegada{border-color:var(--borde)}
.nav-in{display:flex;justify-content:space-between;align-items:center;height:62px;gap:20px}
.nav-marca{font-family:var(--display);font-size:18px;color:var(--hueso);text-decoration:none;font-variation-settings:'SOFT' 60,'WONK' 1;white-space:nowrap}
.nav-links{display:flex;gap:22px;align-items:center}
.nav-links a{color:var(--tiza);text-decoration:none;font-size:14px;transition:color .2s}
.nav-links a:hover{color:var(--hueso)}
.nav-links a.destacado{color:var(--lampara);border:1px solid var(--lampara-baja);padding:7px 15px;border-radius:99px}
.nav-links a.destacado:hover{background:var(--lampara);color:#2A1A0A}
@media (max-width:640px){ .nav-links a:not(.destacado){display:none} }

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;border:0;cursor:pointer;background:var(--lampara);color:#2A1A0A;
  font-family:var(--texto);font-weight:700;font-size:15px;padding:15px 28px;border-radius:99px;text-decoration:none;
  transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(240,169,59,.26)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.5;cursor:wait;transform:none}
.btn.fantasma{background:transparent;color:var(--hueso);border:1px solid var(--borde);font-weight:500}
.btn.fantasma:hover{border-color:var(--lampara);box-shadow:none}

/* ---------- hero ---------- */
.hero{position:relative;padding:clamp(48px,9vw,96px) 0 clamp(40px,7vw,80px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-40% 0 auto 0;height:120%;pointer-events:none;
  background:radial-gradient(60% 55% at 72% 18%, rgba(240,169,59,.22), transparent 62%)}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);margin:20px 0 0;max-width:18ch;line-height:1.1}
.hero .bajada{margin-top:22px;max-width:46ch;color:#DDD1E1;font-size:clamp(1rem,1.6vw,1.1rem)}
.acciones{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.hero-cifras{display:flex;gap:32px;margin-top:40px;flex-wrap:wrap}
.hero-cifras div{display:flex;flex-direction:column}
.hero-cifras b{font-family:var(--display);font-size:32px;font-variation-settings:'WONK' 1;line-height:1;color:var(--lampara)}
.hero-cifras span{font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tiza);margin-top:7px;font-weight:600}

.hero-foto{position:relative}
.hero-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px 18px 18px;
  filter:grayscale(1) contrast(1.08) brightness(.92);border:1px solid var(--borde)}
.hero-foto::after{content:"";position:absolute;inset:0;border-radius:200px 200px 18px 18px;pointer-events:none;
  background:linear-gradient(180deg, rgba(240,169,59,.14), transparent 45%, rgba(34,21,39,.55))}
.foto-vacia{width:100%;aspect-ratio:4/5;border:1px dashed var(--borde);border-radius:200px 200px 18px 18px;
  display:grid;place-items:center;text-align:center;color:var(--tiza);font-size:13.5px;background:var(--sala)}
.sillas-hero{position:absolute;left:-8px;bottom:-14px;display:flex;gap:5px;z-index:2}
.sillas-hero i{width:9px;height:11px;border:1.4px solid var(--lampara-baja);border-bottom:0;border-radius:3px 3px 0 0;display:block}

@media (max-width:820px){
  .hero-in{grid-template-columns:1fr}
  .hero-foto{order:-1;max-width:280px}
  .hero-foto img,.foto-vacia{aspect-ratio:1;border-radius:160px 160px 16px 16px}
}

/* ---------- secciones ---------- */
section{padding:clamp(56px,8vw,96px) 0}
.sec-cab{margin-bottom:34px;max-width:44ch}
.sec-cab h2{font-size:clamp(1.75rem,3.6vw,2.7rem);margin-top:14px}
.sec-sub{margin-top:14px;color:var(--tiza);font-size:15px}
.revelar{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.revelar.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){ .revelar{opacity:1;transform:none;transition:none} }

/* ---------- tendencias ---------- */
.grid-tendencias{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.tarjeta{background:var(--sala);border:1px solid var(--borde);border-radius:20px;padding:26px}
.tarjeta.ancha{grid-column:1/-1}
.tarjeta h3{font-size:19px;margin-bottom:20px}
.barras{display:flex;flex-direction:column;gap:16px}
.barra-fila{display:grid;grid-template-columns:22px minmax(90px,1fr) 2.2fr 34px;align-items:center;gap:12px}
.barra-fila .pos{font-family:var(--display);font-size:19px;color:var(--lampara-baja);font-variation-settings:'WONK' 1}
.barra-fila .nom{font-size:14.5px;font-weight:500}
.barra-pista{height:9px;background:var(--noche-2);border-radius:99px;overflow:hidden}
.barra-pista i{display:block;height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,var(--lampara-baja),var(--lampara));transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
.visible .barra-pista i{width:var(--w)}
.barra-fila .val{font-family:var(--display);font-size:17px;text-align:right}
.dato-grande{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.15;margin:6px 0 10px;color:var(--hueso)}
.bloques-mini{margin-top:20px;border-top:1px solid var(--borde);padding-top:14px}
.bloques-mini div{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:5px 0;color:var(--tiza)}
.bloques-mini b{color:var(--hueso)}
.salas-lista{display:flex;flex-direction:column;gap:18px}
.sala-fila{display:grid;grid-template-columns:minmax(140px,1fr) 2fr 54px;gap:16px;align-items:center}
.sala-nom b{display:block;font-size:15px}
.sala-nom span{font-size:12.5px;color:var(--tiza)}
.puntos{display:flex;gap:4px;flex-wrap:wrap}
.puntos i{width:11px;height:11px;border-radius:3px;background:var(--noche-2);border:1px solid var(--borde);display:block;transition:background .4s,box-shadow .4s}
.puntos i.on{background:var(--lampara);border-color:var(--lampara);box-shadow:0 0 8px rgba(240,169,59,.4)}
.sala-cuenta{text-align:right;font-size:13px;color:var(--tiza)}
.sala-cuenta b{font-family:var(--display);font-size:19px;color:var(--hueso)}
.vacio-grande{background:var(--sala);border:1px dashed var(--borde);border-radius:20px;padding:48px 26px;text-align:center}
.vacio-grande p{font-family:var(--display);font-size:24px}
.vacio-grande p.chico{font-family:var(--texto);font-size:14.5px;color:var(--tiza);margin:12px 0 26px}
@media (max-width:820px){
  .grid-tendencias{grid-template-columns:1fr}
  .sala-fila{grid-template-columns:1fr auto;gap:8px}
  .puntos{grid-column:1/-1;order:3}
}

/* ---------- la noche ---------- */
.momentos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.momento{background:var(--sala);border:1px solid var(--borde);border-radius:18px;padding:24px}
.momento .cuando{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--lampara);font-weight:700}
.momento p{font-size:14.5px;color:#D8CCDC;margin-top:12px}
.doble{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:16px}
.tecnica{background:var(--sala);border:1px solid var(--borde);border-radius:18px;padding:8px 24px}
.tecnica div{padding:17px 0;border-bottom:1px solid var(--borde)}
.tecnica div:last-child{border-bottom:0}
.tecnica b{display:block;font-size:15.5px}
.tecnica p{font-size:13.5px;color:var(--tiza);margin-top:4px}
.carta{background:var(--sala);border:1px solid var(--borde);border-radius:18px;padding:24px}
.carta h3{font-size:21px}
.carta ul{list-style:none;padding:0;margin:18px 0 0}
.carta li{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px dashed rgba(75,53,87,.9);font-size:15px}
.carta li:last-child{border-bottom:0}
.carta li i{font-style:normal;font-family:var(--display);font-size:12.5px;color:var(--lampara-baja)}
@media (max-width:820px){ .momentos,.doble{grid-template-columns:1fr} }

/* ---------- música ---------- */
.reproductor{display:flex;flex-direction:column;gap:8px}
.pista{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:16px;width:100%;text-align:left;
  background:var(--sala);border:1px solid var(--borde);border-radius:14px;padding:14px 18px;cursor:pointer;
  color:var(--hueso);font-family:var(--texto);transition:border-color .2s,background .2s}
.pista:hover{border-color:var(--lampara-baja);background:var(--sala-alta)}
.pista .play{width:34px;height:34px;border-radius:99px;border:1px solid var(--lampara);display:grid;place-items:center;flex:none}
.pista .play::after{content:"";border-left:9px solid var(--lampara);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:3px}
.pista.sonando .play::after{border:0;width:9px;height:11px;border-left:3px solid var(--lampara);border-right:3px solid var(--lampara);margin-left:0}
.pista-txt b{display:block;font-size:15.5px;font-weight:600}
.pista-txt span{font-size:13px;color:var(--tiza)}
.onda{display:flex;align-items:center;gap:2.5px;height:26px}
.onda i{width:2.5px;height:var(--h);background:var(--borde);border-radius:99px;display:block;transition:background .3s}
.pista.sonando .onda i{background:var(--lampara-baja);animation:vibra 1.1s ease-in-out infinite alternate}
.pista.sonando .onda i:nth-child(3n){animation-delay:.18s}
.pista.sonando .onda i:nth-child(3n+1){animation-delay:.36s}
@keyframes vibra{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){ .pista.sonando .onda i{animation:none} }

.mini-player{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:30;display:flex;align-items:center;gap:14px;
  background:rgba(47,31,56,.94);backdrop-filter:blur(12px);border:1px solid var(--borde);border-radius:99px;padding:10px 16px 10px 12px;
  width:min(440px,calc(100% - 32px));box-shadow:0 12px 40px rgba(0,0,0,.4)}
.mini-player[hidden]{display:none}
.mp-play{width:36px;height:36px;border-radius:99px;background:var(--lampara);border:0;cursor:pointer;flex:none;position:relative}
.mp-play::after{content:"";position:absolute;inset:0;margin:auto;width:0;height:0;border-left:10px solid #2A1A0A;border-top:7px solid transparent;border-bottom:7px solid transparent;transform:translateX(2px)}
.mp-play.sonando::after{border:0;width:10px;height:12px;border-left:3px solid #2A1A0A;border-right:3px solid #2A1A0A;transform:none}
.mp-info{flex:1;min-width:0}
.mp-info b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-pista{height:4px;background:var(--noche-2);border-radius:99px;margin-top:6px;overflow:hidden}
.mp-pista i{display:block;height:100%;width:0;background:var(--lampara);border-radius:99px}
.mp-cerrar{background:none;border:0;color:var(--tiza);font-size:22px;cursor:pointer;line-height:1;padding:0 4px}

/* ---------- biografía ---------- */
.bio{columns:2;column-gap:40px;max-width:80ch}
.bio p{margin-bottom:16px;break-inside:avoid;color:#DDD1E1;font-size:15.5px}
.bio p:first-of-type::first-letter{font-family:var(--display);font-size:3.4em;float:left;line-height:.82;margin:4px 10px 0 0;color:var(--lampara)}
@media (max-width:760px){ .bio{columns:1} }

/* ---------- formulario ---------- */
.ficha{background:var(--sala);border:1px solid var(--borde);border-radius:24px;padding:clamp(24px,4vw,44px)}
.campo{margin-bottom:24px}
.campo>label,.leyenda{display:block;font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--tiza);font-weight:600;margin-bottom:9px}
.ayuda{font-size:13px;color:var(--tiza);margin:-3px 0 12px}
input[type=text],input[type=email],input[type=tel],input[type=password],select,textarea{
  width:100%;background:var(--noche-2);border:1px solid var(--borde);color:var(--hueso);
  padding:14px 16px;border-radius:12px;font-size:15.5px;font-family:var(--texto)}
textarea{resize:vertical;min-height:80px}
input::placeholder,textarea::placeholder{color:#6E5C77}
input:focus,select:focus,textarea:focus{border-color:var(--lampara);outline:none}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:16px}
fieldset{border:0;padding:0;margin:0 0 26px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:block;padding:9px 15px;border-radius:99px;border:1px solid var(--borde);font-size:13.5px;cursor:pointer;user-select:none;transition:.16s;color:#D6C9DB;white-space:nowrap}
.chip span:hover{border-color:var(--tiza)}
.chip input:checked+span{background:var(--lampara);border-color:var(--lampara);color:#2A1A0A;font-weight:600}
.chip input:focus-visible+span{outline:2px solid var(--eucalipto);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:#D8CCDC;cursor:pointer}
.check input{margin-top:3px;accent-color:var(--lampara);width:17px;height:17px;flex:none}
.miel{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.medidor{background:var(--noche-2);border:1px dashed var(--borde);border-radius:16px;padding:22px;margin:6px 0 26px}
.medidor .titulo{font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--tiza);font-weight:600;margin-bottom:16px}
.sillas{display:grid;grid-template-columns:repeat(20,1fr);gap:5px;max-width:420px}
.sillas i{aspect-ratio:1;border-radius:3px;background:var(--noche);border:1px solid var(--borde);display:block;transition:.35s}
.sillas i.on{background:var(--lampara);border-color:var(--lampara);box-shadow:0 0 7px rgba(240,169,59,.45)}
.sillas i.tuya{background:var(--eucalipto);border-color:var(--eucalipto);box-shadow:0 0 8px rgba(143,192,169,.5)}
@media (max-width:560px){ .sillas{grid-template-columns:repeat(10,1fr)} .fila{grid-template-columns:1fr} }
.pie-sala{margin-top:16px;font-size:13.5px;color:var(--tiza)}
.pie-sala b{color:var(--hueso);font-weight:600}
.error{color:var(--alerta);font-size:14px;margin-top:12px;display:none}
.error.visible{display:block}
.gracias h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-top:14px}
.gracias .bajada{margin-top:16px;color:#DDD1E1}
.gracias .resumen{margin:24px 0;padding:20px;background:var(--noche-2);border-radius:14px;border:1px solid var(--borde);font-size:14.5px;color:#D6C9DB}
.gracias .resumen div{margin-bottom:7px}
.gracias .resumen b{color:var(--hueso)}

/* ---------- aporte ---------- */
.aporte-caja{background:linear-gradient(135deg,var(--sala),var(--sala-alta));border:1px solid var(--borde);border-radius:24px;
  padding:clamp(26px,4vw,44px);display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.aporte-caja h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:12px}
.aporte-caja .bajada{margin-top:14px;max-width:52ch;color:#DDD1E1;font-size:15px}

/* ---------- pie ---------- */
footer{border-top:1px solid var(--borde);padding:38px 0 46px;margin-top:20px}
.pie{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13.5px;color:var(--tiza)}
.pie b{color:var(--hueso);font-family:var(--display);font-size:16px;font-weight:400}
.pie-links{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.pie-links a{color:var(--tiza);text-decoration:none}
.pie-links a:hover{color:var(--lampara)}

/* ---------- páginas simples ---------- */
body.simple{display:grid;place-items:center;min-height:100vh;padding:40px 0;
  background:radial-gradient(70% 50% at 50% 0%, rgba(240,169,59,.16), transparent 60%),var(--noche)}
body.simple h1{font-size:clamp(1.9rem,5vw,2.8rem);margin:20px 0 0}
body.simple .bajada{margin-top:18px;color:#DDD1E1}
.volver{font-size:13px;color:var(--tiza);text-decoration:none}
.bloque-dato{margin-top:28px;padding:22px;background:var(--sala);border:1px solid var(--borde);border-radius:16px}
.dato{font-size:15px;color:#D8CCDC;padding:4px 0}
.dato b{color:var(--hueso)}
