/* Herramientas del Atelier: identidad Noche (la misma que la web). Inter 400/600, una atmósfera Marea,
   un vidrio, la cápsula como única forma que se pulsa, un solo azul por pantalla. */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2")}
:root{
  --bg:#0A0B0D; --ink:#F2F2EE; --ink2:#A1A1A6; --ink3:#8E8E93; --line:#2A2D33;
  --blue:#8DB4E2; --m1:#1E3A5F; --m2:#2F5D8F; --e1:#7FB0E6; --e2:#E1EEFB;
  --glass:rgba(22,24,30,.45);
  --f:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-padding-top:calc(88px + env(safe-area-inset-top,0px))}
body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.5;
  -webkit-font-smoothing:antialiased;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:600;text-wrap:balance}
a{color:inherit}
[hidden]{display:none!important}
.wrap{width:100%;max-width:760px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* Cabecera fija translúcida, como la web */
header{position:sticky;top:0;z-index:10;background:rgba(10,11,13,.72);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
header .wrap{max-width:1080px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.mark{display:flex;flex-direction:column;font-weight:600;font-size:15px;line-height:1.15;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}
.mark span:last-child{color:var(--ink2)}

/* Cápsulas */
.cap{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;
  font:600 15px/1.2 var(--f);text-decoration:none;border:1px solid var(--line);color:var(--ink);background:transparent;cursor:pointer;
  text-align:center;transition:background .2s,border-color .2s,color .2s;-webkit-tap-highlight-color:transparent}
.cap.solid,.cap[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
/* El borde claro solo con ratón: en el móvil se quedaba marcado tras tocar */
@media (hover:hover){.cap:not(:disabled):hover{border-color:var(--ink3)}.cap.solid:not(:disabled):hover,.cap[aria-pressed="true"]:hover{background:#fff;border-color:#fff}}
.cap:disabled{opacity:.4;cursor:default}
.cap:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
/* Opciones: mismo peso y tamaño marcadas o no, para que nada se mueva al tocar (como en la web) */
.opciones{display:flex;flex-wrap:wrap;gap:8px}
.opciones .cap{padding:0 18px}
.opciones .cap.num{padding:0;min-width:44px}

/* Iconos de línea: funcionales (identifican cada herramienta), trazo 1,5, sin relleno, siempre en ink-2 */
.ico{width:24px;height:24px;fill:none;stroke:var(--ink2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tile{width:56px;height:56px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);display:grid;place-items:center;flex:none}
.tile .ico{width:28px;height:28px}
.tile.grande{width:72px;height:72px;border-radius:24px}
.tile.grande .ico{width:36px;height:36px}
.cap .ico{width:20px;height:20px;margin-left:-4px}
.cap.solid .ico,.cap[aria-pressed="true"] .ico{stroke:var(--bg)}

/* Escena con una atmósfera Marea y un vidrio */
main{flex:1;position:relative;isolation:isolate;overflow:hidden}
main::before,main::after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(80px);pointer-events:none}
main::before{width:60vw;height:60vw;max-width:540px;max-height:540px;min-width:260px;min-height:260px;background:var(--m1);opacity:.55;left:-10%;top:12%}
main::after{width:50vw;height:50vw;max-width:440px;max-height:440px;min-width:220px;min-height:220px;background:var(--m2);opacity:.4;right:-8%;top:48%}
.glass{background:var(--glass);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);
  border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 24px 48px -24px rgba(0,0,0,.6);border-radius:24px;
  padding:clamp(20px,5vw,40px)}

/* Titulares de dos tonos: la segunda frase recibe el degradado (Revelado) */
.titulo{font-size:clamp(34px,7vw,48px);line-height:1.06;letter-spacing:-.03em}
.titulo span{display:block}
.titulo .b{color:var(--ink2)}
html.listo .titulo .b{background:linear-gradient(90deg,var(--e1),var(--e2));-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
html.mv .titulo .b{transition:-webkit-text-fill-color .6s ease-in-out,color .6s ease-in-out}
.lead{font-size:clamp(18px,2.4vw,21px);color:var(--ink2);max-width:40ch}
.h2{font-size:clamp(24px,4.6vw,32px);line-height:1.15;letter-spacing:-.02em}
.h3{font-size:22px;line-height:1.25;letter-spacing:-.01em}
.small{font-size:15px;color:var(--ink2)}
.caption{font-size:13px;color:var(--ink2)}

.escena{padding-block:clamp(32px,8vw,80px) clamp(48px,9vw,96px);display:flex;flex-direction:column;gap:28px}
.escena > .tile{margin-bottom:-8px}
.cierre{display:flex;flex-direction:column;gap:16px;padding-top:8px}
/* Formularios Noche: fondo casi negro, contorno 1 px, radio 12, Inter 17, foco azul */
.campo{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);
  color:var(--ink);font:400 17px/1.3 var(--f)}
.campo::placeholder{color:var(--ink3)}
.campo:focus{outline:2px solid var(--blue);outline-offset:0;border-color:transparent}
.consent{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:15px;color:var(--ink2);cursor:pointer}
.consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--ink)}
/* Herramientas con IA: preferencias, fotos y respuesta */
.ajustes{display:flex;flex-direction:column;gap:18px}
.ajuste{display:flex;flex-direction:column;gap:10px}
.ajuste .etq{font-size:15px;color:var(--ink2)}
.seccion-aj{display:flex;flex-direction:column;gap:18px}
.seccion-aj + .seccion-aj{padding-top:22px;border-top:1px solid var(--line)}
.seccion-aj .caption{margin-top:-12px}
.tit-aj{font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.fotos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fotos:empty{display:none}
.mini{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.mini img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block}
.mini .cap{min-height:44px;padding:0 12px}
.foto{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.leyendo{color:var(--ink2)}
html.mv .leyendo{animation:late 1.2s ease-in-out infinite}
@keyframes late{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){html.mv .leyendo{animation:none}}
.resp{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-top:1px solid var(--line)}
.resp:first-child{border-top:0;padding-top:0}
.resp .etq{font-size:15px;color:var(--ink2);font-variant-numeric:tabular-nums}
.resp b{font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.25}
.resp p{color:var(--ink2)}
.resp .ojo{color:var(--ink)}
.lista-ia{list-style:none;margin:0;padding:0}
.lista-ia li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:7px 0;border-top:1px solid var(--line)}
.lista-ia li span:last-child{color:var(--ink2);text-align:right;font-variant-numeric:tabular-nums;max-width:9.5em}
.resumen{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}
.resumen p{flex:1 1 200px;min-width:0}
.resumen .etq-r{display:block;font-size:13px;color:var(--ink3)}
.fotos{max-width:300px}
.acciones:empty{display:none}
.contador{font-size:15px;color:var(--ink2);font-variant-numeric:tabular-nums;margin-top:-8px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.aviso-campo{font-size:15px;color:var(--ink)}
.codigo{font-size:22px;letter-spacing:.3em;font-variant-numeric:tabular-nums;max-width:220px}
.precio{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;color:var(--ink2)}
.precio b{font-size:clamp(34px,7vw,48px);font-weight:600;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.incluido{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.opcion{display:flex;flex-direction:column;gap:12px}
.escena > .aviso-ia{margin-top:-14px}
.paso .small a,.paso .caption a{color:inherit;text-underline-offset:3px}
.bloque-ia{display:flex;flex-direction:column;gap:12px}
.bloque-ia > .h2{margin-top:8px}
.tanda-ia{list-style:none;margin:0;padding:0}
.tanda-ia li{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.tanda-ia li:first-child{border-top:0}
.tanda-ia .min{font-weight:600;color:var(--ink2);font-variant-numeric:tabular-nums}
.semana-ia{list-style:none;margin:0;padding:0}
.semana-ia li{display:grid;grid-template-columns:96px 1fr;gap:4px 12px;padding:12px 0;border-top:1px solid var(--line)}
.semana-ia li:first-child{border-top:0}
.semana-ia .dia{font-weight:600}
.semana-ia .que{display:flex;flex-direction:column;gap:4px}
.semana-ia .donde{color:var(--ink2);font-size:15px}
.compra-ia h3{font-size:15px;font-weight:600;color:var(--ink2);padding:16px 0 6px}
.compra-ia h3:first-child{padding-top:0}
.lista-ia li.tengo span{color:var(--ink3)}
@media (max-width:420px){.semana-ia li{grid-template-columns:1fr}}
#resultado{display:flex;flex-direction:column;gap:20px}
#resultado:empty{display:none}
.pasos-ia{margin:0;padding:0;list-style:none;counter-reset:p}
.pasos-ia li{counter-increment:p;display:grid;grid-template-columns:24px 1fr;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.pasos-ia li::before{content:counter(p);font-weight:600;color:var(--ink2);font-variant-numeric:tabular-nums}
.plato-ia{display:flex;flex-direction:column;gap:10px}
.plato-ia + .plato-ia{padding-top:24px;border-top:1px solid var(--line)}
.maqueta{font-size:13px;color:var(--ink2);border:1px dashed var(--line);border-radius:12px;padding:10px 14px}
.paso{display:flex;flex-direction:column;gap:22px}
.progreso{font-size:15px;color:var(--ink2);font-variant-numeric:tabular-nums}
.acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.acciones .cap.solid{min-width:160px}
.nota{font-size:15px;color:var(--ink2)}

/* Pie, como la web */
footer{border-top:1px solid var(--line)}
footer .wrap{max-width:1080px;padding-block:32px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-end}
footer .legal{display:flex;flex-direction:column;gap:6px;max-width:56ch;font-size:13px;color:var(--ink2)}
footer .legal a{color:var(--ink2);text-underline-offset:3px}
footer .links{display:flex;flex-wrap:wrap;gap:4px 16px}
footer .links a{display:inline-flex;align-items:center;min-height:32px}

/* Aparecer, sin rebotes */
html.mv .entra{animation:entra .6s ease-in-out both}
@keyframes entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html.mv .entra{animation:none}}

/* Al imprimir o guardar en PDF: Lienzo, como los documentos del cliente */
@media print{
  :root{--ink:#1C1C1E;--ink2:#6E6E73;--ink3:#8E8E93;--line:#DEDEDE;color-scheme:light}
  html,body{background:#FAFAF7!important;color:#1C1C1E}
  header,footer .links,.acciones,.no-imprimir{display:none!important}
  main::before,main::after{display:none}
  .glass{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}
  html.listo .titulo .b{-webkit-text-fill-color:#6E6E73;color:#6E6E73;background:none}
  .escena{padding-block:0 24px}
  body{font-size:12pt}
}

/* «Cómo funciona»: el vídeo de 15 s, a pantalla completa sobre la herramienta */
.visor-como{position:fixed;inset:0;z-index:50;background:rgba(10,11,13,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px))}
.visor-como[hidden]{display:none}
.visor-como video{max-height:calc(100dvh - 120px);max-width:100%;aspect-ratio:9/16;border-radius:20px;border:1px solid var(--line);background:#000}
