@font-face{font-family:"YSY Titulo";font-weight:400;font-style:normal;font-display:swap;src:url(fuentes/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"YSY Titulo";font-weight:500;font-style:normal;font-display:swap;src:url(fuentes/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"YSY Titulo";font-weight:400;font-style:italic;font-display:swap;src:url(fuentes/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"YSY Signo";font-weight:400;font-style:normal;font-display:swap;src:url(fuentes/sacramento-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"YSY Texto";font-weight:300;font-style:normal;font-display:swap;src:url(fuentes/open-sauce-sans-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"YSY Texto";font-weight:400;font-style:normal;font-display:swap;src:url(fuentes/open-sauce-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"YSY Texto";font-weight:600;font-style:normal;font-display:swap;src:url(fuentes/open-sauce-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"YSY Texto";font-weight:700;font-style:normal;font-display:swap;src:url(fuentes/open-sauce-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"YSY Glifos";font-weight:400;font-style:normal;font-display:swap;src:url(fuentes/noto-sans-symbols-symbols-400-normal.woff2) format("woff2")}
@font-face{font-family:"YSY Glifos";font-weight:700;font-style:normal;font-display:swap;src:url(fuentes/noto-sans-symbols-symbols-700-normal.woff2) format("woff2")}
:root{
  --fondo:#d8d2c8; --papel:#f6f3ec; --blanco:#fff; --dorado:#c49665; --bronce:#865f1d;
  --texto:#443b3b; --suave:#7a706a; --granate:#741c03; --linea:#e4ddd1;
  --fuego:#e19946; --tierra:#a79790; --aire:#9a575f; --agua:#572832;
  --f-titulo:"the-seasons","The Seasons","YSY Titulo",Georgia,serif;
  --f-signo:"benedict","Benedict","YSY Signo",cursive;
  --f-texto:"Open Sauce Sans","YSY Texto",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:400 16px/1.6 var(--f-texto);overflow-x:hidden}
img{max-width:100%}
button,input{font:inherit;color:inherit}
.glifo{font-family:"YSY Glifos",sans-serif;font-variant-emoji:text}
.num{font-family:var(--f-texto)}

/* Cabecera */
.cab{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(246,243,236,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--linea)}
.cab-in{max-width:980px;margin:auto;display:flex;align-items:center;gap:16px;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.cab img{height:34px;width:auto}
.pestanas{display:flex;gap:6px;margin-left:auto;background:#ece6db;border-radius:999px;padding:4px}
.pestanas button{border:0;background:none;border-radius:999px;padding:8px 14px;cursor:pointer;font-weight:600;font-size:14px;color:var(--suave)}
.pestanas button[aria-selected=true]{background:var(--blanco);color:var(--granate);box-shadow:0 1px 3px rgba(0,0,0,.08)}

main{max-width:980px;margin:auto;padding-block:0 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));position:relative}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--papel)}
:focus-visible{outline:2px solid var(--granate);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Marca de agua YSY */
.marca{position:fixed;inset:0;pointer-events:none;z-index:0;display:flex;align-items:center;justify-content:center}
.marca img{width:min(70vw,620px);opacity:.05}
.vista{display:none;position:relative;z-index:1}
.vista.activa{display:block}

.intro{text-align:center;padding:42px 0 22px;max-width:680px;margin:auto}
.eyebrow{letter-spacing:.28em;text-transform:uppercase;font-size:12px;color:var(--bronce);font-weight:600;margin:0 0 10px}
h1,h2,h3{font-family:var(--f-titulo);font-weight:500;color:var(--texto);line-height:1.12;margin:0}
h1{font-size:clamp(34px,6vw,52px)}
h2{font-size:clamp(28px,4.4vw,38px)}
h3{font-size:24px}
.intro p{color:var(--suave);margin:14px 0 0}
.script{font-family:var(--f-signo);color:var(--granate);font-weight:400}

.tarjeta{background:var(--papel);border-radius:18px;padding:clamp(18px,4vw,34px);box-shadow:0 1px 0 rgba(0,0,0,.03),0 10px 30px -18px rgba(68,59,59,.35)}
.tarjeta + .tarjeta{margin-top:18px}

/* Formulario */
.form{max-width:640px;margin:auto;display:grid;gap:16px}
.campo{display:grid;gap:6px}
.campo label{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--suave)}
.campo input[type=text],.campo input[type=date],.campo input[type=time]{width:100%;height:50px;background:var(--blanco);border:1px solid var(--linea);border-radius:10px;padding:12px 14px;font-size:16px;outline:none}
.campo input:focus{border-color:var(--dorado);box-shadow:0 0 0 3px rgba(196,150,101,.18)}
.fila2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--suave);margin-top:4px}
.ayuda{font-size:13px;color:var(--suave);margin:0}
.lugar{position:relative}
.lista{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:var(--blanco);border:1px solid var(--linea);border-radius:10px;box-shadow:0 12px 30px -12px rgba(0,0,0,.25);z-index:10;max-height:300px;overflow:auto;display:none}
.lista.abierta{display:block}
.lista button{display:block;width:100%;text-align:left;border:0;background:none;padding:10px 14px;cursor:pointer;border-bottom:1px solid #f2ede4}
.lista button:hover,.lista button[aria-selected=true]{background:#f8f3ea}
.lista small{color:var(--suave)}
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--granate);color:#fff;padding:14px 26px;font-weight:600;letter-spacing:.03em;cursor:pointer;text-decoration:none}
.boton:hover{filter:brightness(1.08)}
.boton.sec{background:transparent;color:var(--granate);border:1px solid var(--granate)}
.error{color:var(--granate);font-size:14px;min-height:1em;margin:0}

/* Lámina (la página del dossier) */
.lamina-marco{margin:28px auto 0;max-width:760px}
.lamina{position:relative;width:100%;aspect-ratio:794/1123;overflow:hidden;border-radius:6px;box-shadow:0 18px 40px -22px rgba(0,0,0,.45)}
.lamina-in{position:absolute;left:0;top:0;width:794px;height:1123px;transform-origin:0 0;background-size:794px 1123px}
.lamina .rueda{position:absolute;left:7px;top:40px;width:780px;height:780px}
.lamina .rueda svg{width:100%;height:100%}
.lamina h2{position:absolute;top:732px;left:0;right:0;text-align:center;font-size:50px;font-weight:400}
.lamina .sub{position:absolute;top:796px;left:0;right:0;text-align:center;font:400 22px var(--f-titulo);color:var(--granate)}
.lamina .datos{position:absolute;top:840px;left:100px;right:100px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
.dato{display:flex;gap:8px;align-items:flex-start}
.dato>div{flex:1;min-width:0}
.dato .ico{width:34px;height:36px;object-fit:contain;margin-top:2px}
.dato .caja{background:#fff;border-radius:7px;height:36px;display:flex;align-items:center;padding:0 12px;font:400 27px/1 var(--f-signo);color:var(--granate);white-space:nowrap}
.dato p{font-size:10.5px;line-height:1.35;margin:8px 0 0 2px}
.dato.venus{grid-column:2}
.dato.venus p{width:330px;margin-left:-40px}
.nota{font-size:13px;color:var(--suave);text-align:center;margin:12px auto 0;max-width:640px}

/* Bloques de resultado */
.seccion{margin-top:44px}
.seccion > .titulo{text-align:center;margin-bottom:18px}
.seccion > .titulo p{color:var(--suave);margin:8px auto 0;max-width:620px}
.punto{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:26px;align-items:start}
.punto .cabeza{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.punto .cabeza img{width:44px;height:44px;object-fit:contain}
.punto .etq{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronce);font-weight:600}
.punto .signo{font-size:44px;line-height:1}
.punto h3{margin:6px 0 12px}
.punto .que{font-size:14px;color:var(--suave);border-left:2px solid var(--dorado);padding-left:12px;margin:0 0 14px}
.ejercicio{background:#fff;border-radius:12px;padding:14px 16px;margin-top:14px;font-size:15px}
.ejercicio b{display:block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--granate);margin-bottom:4px}
.lado{text-align:center}
.lado .figura{height:260px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.08))}
.paleta{display:flex;justify-content:center;margin-top:10px}
.paleta i{width:22px;height:22px;border-radius:50%;margin-left:-4px;border:2px solid var(--papel)}
.chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}
.chip{font-size:12px;background:#efe8dc;border-radius:999px;padding:4px 10px}
.mensaje{font:400 26px/1.1 var(--f-signo);color:var(--granate);margin-top:8px}

.elementos{display:grid;gap:10px}
.elem{display:grid;grid-template-columns:90px 1fr 34px;align-items:center;gap:10px;font-size:14px}
.barra{height:10px;border-radius:9px;background:#ece5d9;overflow:hidden}
.barra i{display:block;height:100%;border-radius:9px}

table.planetas{width:100%;border-collapse:collapse;font-size:15px}
.planetas th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--suave);text-align:left;font-weight:600;padding:8px 6px;border-bottom:1px solid var(--linea)}
.planetas td{padding:10px 6px;border-bottom:1px solid #eee6da;vertical-align:top}
.planetas .casa-col{white-space:nowrap}
.planetas .gl{font-family:"YSY Glifos";font-size:20px;width:30px;color:var(--texto)}
.planetas small{display:block;color:var(--suave);font-size:12.5px;line-height:1.4}
details.acordeon{border-bottom:1px solid var(--linea);padding:12px 0}
details.acordeon summary{cursor:pointer;font-weight:600;list-style:none;display:flex;gap:10px;align-items:baseline}
details.acordeon summary::-webkit-details-marker{display:none}
details.acordeon summary::after{content:"+";margin-left:auto;color:var(--bronce)}
details.acordeon[open] summary::after{content:"–"}
details.acordeon p{margin:8px 0 0;color:var(--texto)}
.tienes{font-size:12px;color:var(--granate);font-weight:600}
.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tres > div{background:#fff;border-radius:12px;padding:16px}
.tres h4{margin:0;font:500 22px var(--f-titulo)}
.tres em{display:block;font-style:normal;color:var(--bronce);font-size:13px;margin:2px 0 8px}
.tres p{margin:0;font-size:14px}
.cta{text-align:center;background:var(--granate);color:#f6f3ec;border-radius:18px;padding:34px 22px}
.cta h2{color:#fff}
.cta p{max-width:560px;margin:10px auto 18px;opacity:.9}
.cta .boton{background:#f6f3ec;color:var(--granate)}

/* Test de eneagrama */
.progreso{position:sticky;top:calc(58px + env(safe-area-inset-top,0px));z-index:5;background:var(--fondo);padding:10px 0}
.progreso .barra{height:8px}
.progreso .barra i{background:var(--granate);transition:width .3s}
.progreso small{display:block;text-align:center;color:var(--suave);font-size:13px;margin-top:6px}
.pregunta{padding:18px 0;border-bottom:1px solid #eee6da}
.pregunta p{margin:0 0 12px;font-size:17px}
.escala{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.escala button{border:1px solid var(--linea);background:#fff;border-radius:10px;padding:10px 4px;font-size:12.5px;cursor:pointer;line-height:1.2;color:var(--suave)}
.escala button[aria-pressed=true]{background:var(--granate);border-color:var(--granate);color:#fff}
.nav-test{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.eneatipo{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.eneatipo .numero{font:500 90px/0.9 var(--f-titulo);color:var(--granate)}
.eneatipo .ala{color:var(--suave);margin-top:6px}
.cristal{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:12px}
.cristal img{width:56px;height:56px;object-fit:contain}
.cristal span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.puntos9 .elem{grid-template-columns:150px 1fr 44px}
.puntos9 .barra i{background:var(--dorado)}
.puntos9 .elem.top .barra i{background:var(--granate)}
.puntos9 .elem.top{font-weight:600}
.aviso{font-size:13px;color:var(--suave);text-align:center;max-width:640px;margin:16px auto 0}
footer{text-align:center;color:var(--suave);font-size:13px;padding-block:30px 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));position:relative;z-index:1}
footer a{color:var(--granate)}

@media (max-width:720px){
  .punto{grid-template-columns:1fr}
  .lado{order:-1}
  .lado .figura{height:200px}
  .tres{grid-template-columns:1fr}
  .eneatipo{grid-template-columns:1fr;text-align:center}
  .escala button{font-size:11px;padding:10px 2px}
  .cab img{height:28px}
  .pestanas button{padding:7px 10px;font-size:13px}
  .fila2{grid-template-columns:1fr 1fr}
  .planetas .casa-col{display:none}
}
@media print{.cab,.cta,footer,.marca{display:none}body{background:#fff}}
[hidden]{display:none!important}
.vista,#r-carta,#r-enea{scroll-margin-top:70px}
.eneatipo .numero{margin-bottom:6px}
@media (max-width:720px){.eneatipo{text-align:left}.eneatipo .lado{text-align:center}.eneatipo .numero,.eneatipo h2,.eneatipo .ala,.eneatipo .eyebrow{text-align:center}}
/* Parte de pago */
.punto{position:relative}
.bloq{filter:blur(6px);user-select:none;-webkit-user-select:none;pointer-events:none}
.sello{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;background:var(--granate);color:#fff;font-weight:600;font-size:14px;padding:12px 18px;border-radius:999px;box-shadow:0 10px 24px -10px rgba(116,28,3,.6);white-space:nowrap}
.sello:hover{filter:brightness(1.08)}
.acceso{margin-top:22px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:center;border:1px solid var(--dorado)}
.acceso h3{margin:6px 0 8px}
.acceso p{margin:0}
.acceso.abierto{display:block;text-align:center;color:var(--granate);font-weight:600}
.acceso.abierto svg{vertical-align:-2px}
.codigo{display:grid;gap:8px}
.codigo label{font-size:13px;font-weight:600;color:var(--suave)}
.codigo > div{display:flex;gap:8px}
.codigo input{flex:1;min-width:0;height:48px;border:1px solid var(--linea);border-radius:10px;padding:0 14px;background:#fff;font-size:16px;text-transform:uppercase;letter-spacing:.08em}
.codigo .boton.sec{justify-self:start;padding:10px 18px;font-size:14px}
@media (max-width:720px){.acceso{grid-template-columns:1fr}.sello{top:auto;bottom:24px;transform:translateX(-50%);font-size:13px}}
.codigo{grid-template-columns:minmax(0,1fr);min-width:0}
.codigo > div{min-width:0}
.codigo .boton{flex:none;padding-inline:20px}
/* Test de estilo */
.dos-partes{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dos-partes > div{background:#fff;border-radius:12px;padding:14px 16px}
.dos-partes p{margin:6px 0 0;font-size:14px;color:var(--suave)}
.pregunta-est{max-width:680px;margin:auto}
.pregunta-est h3{font-size:clamp(26px,4vw,32px);margin-bottom:18px;text-wrap:balance}
.opciones{display:grid;gap:10px}
.opciones button{text-align:left;border:1px solid var(--linea);background:#fff;border-radius:12px;padding:14px 16px;font-size:16px;cursor:pointer;transition:border-color .15s,background .15s}
.opciones button:hover{border-color:var(--dorado)}
.opciones button[aria-pressed=true]{background:var(--granate);border-color:var(--granate);color:#fff}
.formula{text-align:center;margin-top:8px}
.formula .frase{font:400 clamp(24px,3.6vw,32px)/1.3 var(--f-titulo);margin:10px auto 0;max-width:720px;text-wrap:balance}
.formula b{color:var(--granate);font-weight:500}
.universales{display:grid;gap:22px}
.uni{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center}
.uni img{width:150px;height:170px;object-fit:contain}
.uni.sec{grid-template-columns:110px minmax(0,1fr);opacity:.92;border-top:1px solid var(--linea);padding-top:20px}
.uni.sec img{width:110px;height:120px}
.etq{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bronce);font-weight:600}
.nombre-estilo{font-size:52px;line-height:1;margin:4px 0 6px;color:var(--granate)}
.uni.sec .nombre-estilo{font-size:40px}
.mensaje-uni{font:italic 400 22px var(--f-titulo);margin:0 0 6px}
.uni p{margin:0}
.mezcla{display:flex;height:16px;border-radius:9px;overflow:hidden;gap:3px}
.leyenda{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:15px}
.leyenda i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.personal{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:18px}
.personal ul{margin:8px 0 0;padding-left:18px;font-size:14.5px}
.personal li{margin:3px 0}
@media (max-width:720px){.dos-partes,.personal{grid-template-columns:1fr}.uni,.uni.sec{grid-template-columns:90px minmax(0,1fr);gap:14px}.uni img,.uni.sec img{width:90px;height:110px}.nombre-estilo{font-size:42px}.pestanas button{padding:7px 9px;font-size:12.5px}}
#est-parte{letter-spacing:.12em}
/* Incrustado en otra web (iframe) */
.embebido .cab{position:static}
.embebido .cab-in > img{display:none}
.embebido .pestanas{margin:0 auto}
.embebido body::before{display:none}
.embebido .progreso{position:static}
.sin-pestanas .cab{display:none}

.descargas{text-align:center;margin:16px auto 0}
.descargas .boton{padding:11px 20px;font-size:14px}
.descargas .ayuda{margin-top:6px;font-size:12.5px}
.lamina-export .datos{display:grid!important}
.lamina.lamina-export{border-radius:0;box-shadow:none;aspect-ratio:auto}
.descargas .enlace{border:0;background:none;padding:0;color:var(--granate);text-decoration:underline;cursor:pointer;font:inherit}
/* Móvil (hasta 600 px): formulario sin desbordes, lámina legible, planetas en tarjetas, test de una en una */
.datos-movil{display:none}
@media (max-width:600px){
  .campo,.fila2>*,.form>*{min-width:0}
  .campo input[type=date],.campo input[type=time]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;display:block;text-align:left;line-height:24px}
  .campo input::-webkit-date-and-time-value{text-align:left}
  .pestanas button{white-space:nowrap}
  .lamina{aspect-ratio:794/850}
  .lamina .datos{display:none}
  .datos-movil{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
  .datos-movil>div{display:flex;gap:8px;align-items:center;background:var(--papel);border-radius:12px;padding:10px}
  .datos-movil img{width:30px;height:30px;object-fit:contain;flex:none}
  .datos-movil span{display:grid;min-width:0;line-height:1.15}
  .datos-movil small{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronce);font-weight:600}
  .datos-movil b{font-size:25px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .datos-movil em{font-style:normal;font-size:12px;color:var(--suave)}
  .tarjeta[style*="overflow-x"]{overflow:visible!important}
  table.planetas thead{display:none}
  table.planetas,.planetas tbody{display:block}
  .planetas tr{display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-template-areas:"gl nom casa" ". sig sig";column-gap:8px;padding:12px 0;border-bottom:1px solid #eee6da}
  .planetas tr:last-child{border-bottom:0}
  .planetas td{border:0;padding:0}
  .planetas td.gl{grid-area:gl;width:auto;font-size:19px}
  .planetas td:nth-child(2){grid-area:nom;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
  .planetas td:nth-child(2) small{display:inline}
  .planetas td:nth-child(3){grid-area:sig;margin-top:3px}
  .planetas .casa-col{display:block!important;grid-area:casa;font-size:12px;color:var(--bronce);font-weight:600}
  details.acordeon summary{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px}
  details.acordeon summary::after{grid-column:2;grid-row:1}
  .tienes{grid-column:1;grid-row:2;font-size:11.5px;margin-top:2px}
  .elem{grid-template-columns:70px 1fr 26px}
  .puntos9 .elem{grid-template-columns:118px 1fr 40px;font-size:13px}
  .cta{padding:28px 18px}
  .una .pregunta{border:0;padding:6px 0 0;min-height:340px}
  .una .pregunta p{font:500 23px/1.25 var(--f-titulo);margin:0 0 20px;min-height:3.75em}
  .una .escala{grid-template-columns:1fr;gap:9px}
  .una .escala button{font-size:16px;padding:14px 18px;text-align:left;color:var(--texto);border-radius:12px}
  .una .escala button[aria-pressed=true]{color:#fff}
  .una .progreso{position:static;padding:4px 0 14px}
  .lado{order:0;margin-top:16px}
  .eneatipo .lado{order:2}
  .una .nav-test{margin-top:14px}
}
@media (max-width:420px){
  .fila2{grid-template-columns:1fr}
}
@media (max-width:400px){
  .codigo > div{flex-wrap:wrap}
  .codigo input{flex:1 1 100%}
  .codigo .boton{flex:1 1 100%}
}
