/* =========================================================
   GENESIS PERERA — Estilos del sitio (Fase 2)
   Identidad aprobada en Fase 1. No cambiar colores ni fuentes.
   ========================================================= */
:root{
  /* Paleta aprobada */
  --crema:#FFF8F0; --arena:#EFE5D9; --linea:#E4D6C7;
  --choco:#382B2A; --choco2:#2A201F; --gris:#5C4A47; --texto2:#4A3C3A;
  --gris-pie:#B8A89C; --coral:#FF6F61; --coraltx:#B5473D; --turq:#42B7AD; --amar:#F6C453; --blanco:#FFFFFF;
  /* Tipografías aprobadas */
  --display:'Bodoni Moda',Didot,'Bodoni 72',Georgia,serif;
  --body:Montserrat,'Helvetica Neue',Arial,sans-serif;
  --acento:'Instrument Serif',Georgia,serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--crema);color:var(--choco);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility;font-synthesis:none}
img{max-width:100%;display:block}
/* Títulos: misma Bodoni Moda, con más peso y un corte óptico de menos contraste para que los trazos finos se lean mejor en pantalla */
h1,h2,h3,h4{font-family:var(--display);font-weight:600;font-variation-settings:"opsz" 36;letter-spacing:.004em;text-wrap:balance;margin:0;line-height:1.1;-webkit-font-smoothing:auto}
h1 i,h2 i,h3 i,h4 i{font-weight:500}
p{margin:0}
a{color:var(--coraltx)}
a:hover{color:#8E352D}
:focus-visible{outline:2px solid var(--coraltx);outline-offset:3px;border-radius:2px}
.salto{position:absolute;left:-9999px;top:0;background:var(--choco);color:var(--crema);padding:10px 16px;z-index:50}
.salto:focus{left:16px;top:16px}

/* Contenedor */
.w{max-width:1200px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.angosto{max-width:760px}
.ey{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.ey-coral{color:var(--coraltx)}
.nota{font-size:13px;color:var(--gris)}
.lead{font-size:18px;color:var(--texto2);max-width:58ch}
.bloque{padding-block:72px}
.bg-arena{background:var(--arena)}
.sec-h{display:flex;flex-direction:column;gap:10px}
.sec-h h2{font-size:clamp(32px,4.4vw,46px)}
.fila-h{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}
.col{display:flex;flex-direction:column;gap:22px;min-width:0}

/* ===== Logo (sistema aprobado) ===== */
.pt{display:inline-block;flex:none;width:.2em;height:.2em;border-radius:50%;background:var(--coral)}
.lg{display:inline-flex;align-items:center;font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 96;text-transform:uppercase;letter-spacing:.17em;line-height:1;white-space:nowrap}
.lg .pt{margin:0 .38em 0 .2em;transform:translateY(-.02em)}
.lg .ult{margin-right:-.17em}
.vert{display:inline-flex;flex-direction:column;align-items:center;gap:.34em;font-family:var(--display);font-weight:500;font-variation-settings:"opsz" 96;line-height:.78}
.vert .vf{display:flex;justify-content:space-between;width:5.5em}
.vert .pt{width:.18em;height:.18em}

/* ===== Botones ===== */
.b{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font:600 14px/1.2 var(--body);letter-spacing:.03em;text-decoration:none;text-align:center;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.b-p{background:var(--choco);color:var(--crema)}
.b-p:hover{background:var(--coraltx);color:var(--crema)}
.b-s{border-color:var(--choco);color:var(--choco);background:transparent}
.b-s:hover{background:var(--choco);color:var(--crema)}
.b-c{background:var(--coral);color:var(--choco2)}
.b-c:hover{background:#FF8A7E;color:var(--choco2)}
.b-claro{border-color:var(--crema);color:var(--crema)}
.b-claro:hover{background:var(--crema);color:var(--choco)}
.b[aria-disabled="true"],.b:disabled{background:var(--arena);color:var(--gris);border-color:var(--linea);cursor:not-allowed}
.enlace{font-size:14px;font-weight:600;text-decoration:none}
.enlace:hover{text-decoration:underline}
.botones{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media (prefers-reduced-motion:reduce){.b{transition:none}}

/* Etiquetas */
.tag{display:inline-block;padding:3px 10px;border-radius:999px;border:1px dashed var(--coraltx);color:var(--coraltx);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--crema);line-height:1.6}
.ph{background:repeating-linear-gradient(135deg,#EFE5D9 0 14px,#E9DDCF 14px 28px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:var(--gris);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:12px;max-width:100%}
.ph small{font-weight:500;letter-spacing:.04em;text-transform:none;font-size:11px}

/* ===== Cabecera y menú ===== */
.cab{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--crema);border-bottom:1px solid var(--linea)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--crema);z-index:21}
.cab-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.marca{color:var(--choco);text-decoration:none;flex:none}
.marca .lg{font-size:19px}
.nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:500}
.nav a{color:var(--choco);text-decoration:none;padding-block:6px;border-bottom:1.5px solid transparent}
.nav a:hover{border-bottom-color:var(--coral)}
.nav a[aria-current="page"]{border-bottom-color:var(--choco)}
.nav .b{min-height:40px;padding:0 18px;font-size:12px;border-bottom:1.5px solid var(--choco)}
.nav .b[aria-current="page"]{background:var(--choco);color:var(--crema)}
.menu-btn{display:none;width:44px;height:44px;border:none;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;padding:0}
.menu-btn span{width:22px;height:1.5px;background:var(--choco);transition:transform .2s,opacity .2s}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
@media (max-width:1199px){
  .menu-btn{display:flex}
  .cab-in{min-height:64px}
  .marca .lg{font-size:15px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--crema);border-bottom:1px solid var(--linea);padding:8px max(24px,env(safe-area-inset-left,0px)) 24px;box-shadow:0 18px 30px rgba(56,43,42,.08);max-height:calc(100vh - 64px);overflow-y:auto}
  .nav.abierto{display:flex}
  .nav a{font-size:16px;font-weight:600;padding:14px 0;border-bottom:1px solid var(--linea)}
  .nav a:hover{border-bottom-color:var(--linea);color:var(--coraltx)}
  .nav a[aria-current="page"]{border-bottom-color:var(--linea);color:var(--coraltx)}
  .nav .b{margin-top:16px;min-height:48px;font-size:14px}
}

/* ===== Encabezado de páginas interiores ===== */
.portadilla{padding-block:64px 48px;display:flex;flex-direction:column;gap:16px}
.portadilla h1{font-size:clamp(42px,6vw,72px);line-height:1.04}
.portadilla .lead{font-size:19px}

/* ===== Inicio ===== */
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;padding-block:64px}
.hero h1{font-size:clamp(42px,6vw,68px);line-height:1.04}
.hero p{color:var(--texto2);max-width:46ch}
.hero .ph{aspect-ratio:4/5;border-radius:220px 220px 6px 6px}
.hero-foto{position:relative;min-width:0}
.chip{position:absolute;left:-18px;bottom:30px;background:var(--crema);padding:14px 18px;border-radius:6px;box-shadow:0 12px 30px rgba(56,43,42,.12);max-width:230px}
.chip p{margin-top:2px;font-family:var(--display);font-style:italic;font-weight:500;font-variation-settings:"opsz" 24;font-size:16px;line-height:1.3}
.tl{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:28px;list-style:none;padding:0}
.tl a{border-top:1.5px solid var(--choco);padding:14px 12px 0 0;display:flex;flex-direction:column;gap:4px;color:var(--choco);text-decoration:none;height:100%}
.tl a:hover .t{color:var(--coraltx)}
.tl .n{font-family:var(--display);font-size:26px;font-weight:600;color:var(--coraltx);line-height:1}
.tl .t{font-family:var(--display);font-size:16px;font-weight:600;font-variation-settings:"opsz" 24;line-height:1.25}
.guia{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:64px;align-items:center}
/* Portada de la guía: mismo tratamiento en las tres ubicaciones */
.portada{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 18px 40px rgba(56,43,42,.14);justify-self:center}
.guia .portada{max-width:340px}
.pasos{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid var(--linea);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;font-size:14px}
.pasos li{display:flex;gap:10px}
.pasos b{font-family:var(--display);color:var(--coraltx);font-weight:600;min-width:14px}
.com{background:var(--choco);color:var(--crema);border-radius:8px;padding:clamp(28px,4vw,48px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:center}
.com h2{font-size:clamp(28px,3.6vw,38px);line-height:1.12}
.com ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.com li{display:flex;gap:12px;align-items:baseline}
.com li .pt{font-size:40px;transform:translateY(-.06em)}
.com .ey{color:var(--amar)}
.com .nota{color:var(--linea)}
.ts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.ts .ph{aspect-ratio:16/11;border-radius:6px}
.com-guia .portada{max-width:280px}

/* ===== My Finds ===== */
.cats{display:flex;flex-wrap:wrap;gap:8px}
.cats a,.filtro{padding:9px 16px;border:1px solid var(--linea);border-radius:999px;background:var(--blanco);color:var(--choco);text-decoration:none;font:500 13px/1.3 var(--body);cursor:pointer;min-height:40px;display:inline-flex;align-items:center}
.cats a:hover,.filtro:hover{border-color:var(--choco)}
.filtro[aria-pressed="true"]{background:var(--choco);color:var(--crema);border-color:var(--choco)}
.filtros{position:sticky;top:calc(env(safe-area-inset-top,0px) + 76px);z-index:5;background:var(--crema);padding-block:14px;border-bottom:1px solid var(--linea)}
@media (max-width:1199px){.filtros{top:calc(env(safe-area-inset-top,0px) + 64px)}}
.grid-p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.grid-p.cuatro{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.prod{display:flex;flex-direction:column;gap:10px;min-width:0}
.prod .ph{aspect-ratio:1/1;border-radius:6px}
.prod h3{font-size:21px;line-height:1.2}
.prod .tit{font-family:var(--acento);font-style:italic;font-size:19px;color:var(--coraltx);line-height:1.25}
.prod p{font-size:14px;color:var(--texto2)}
.prod .det{font-size:12px;color:var(--gris);border-top:1px solid var(--linea);padding-top:8px}
.prod .acciones{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:6px}
.prod .b{min-height:44px;padding:0 20px;font-size:13px}
.prod.historia{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;background:var(--arena);border-radius:8px;padding:28px}
.prod.historia .ph{background:repeating-linear-gradient(135deg,#E9DDCF 0 14px,#E2D3C3 14px 28px)}
.prod.historia h3{font-size:28px}
.prod.historia .cuerpo{display:flex;flex-direction:column;gap:12px;min-width:0}
.vacio{padding:40px 0;color:var(--gris)}
.aviso{border-top:1px solid var(--linea);padding-top:16px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--gris)}
.aviso b{color:var(--choco);font-weight:600}
.benable{background:var(--choco);color:var(--crema);border-radius:8px;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;align-items:center}
.benable h2{font-size:clamp(30px,4vw,44px)}
.benable p{color:var(--linea)}
.benable .ey{color:var(--amar)}
.benable .sello{justify-self:end;font-family:var(--acento);font-style:italic;font-size:clamp(40px,6vw,72px);line-height:1;color:var(--crema);opacity:.9;text-align:right}

/* ===== Academias ===== */
.acad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.ficha{background:var(--blanco);border:1px solid var(--linea);border-radius:8px;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:16px;min-width:0}
.bg-arena .ficha{background:var(--crema);border-color:transparent}
.ficha h3{font-size:clamp(26px,3vw,32px)}
.ficha .tema{font-family:var(--acento);font-style:italic;font-size:20px;color:var(--coraltx)}
.ficha .precio{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-top:1px solid var(--linea);padding-top:14px}
.ficha .precio b{font-family:var(--display);font-size:28px;font-weight:600;font-variation-settings:"opsz" 36;font-variant-numeric:tabular-nums}
.ficha .acciones{margin-top:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-start}

/* ===== Mi historia ===== */
.indice{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.indice a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--linea);border-radius:999px;background:var(--blanco);color:var(--choco);text-decoration:none;font-size:13px;font-weight:500;min-height:40px}
.indice a b{font-family:var(--display);color:var(--coraltx);font-weight:600}
.indice a:hover{border-color:var(--choco)}
.cap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;padding-block:72px;border-top:1px solid var(--linea);scroll-margin-top:90px}
.cap:nth-of-type(even) .cap-foto{order:2}
.cap-foto .ph{aspect-ratio:4/5;border-radius:6px;position:sticky;top:110px}
.cap-txt{display:flex;flex-direction:column;gap:18px;min-width:0}
.cap-num{display:flex;align-items:baseline;gap:16px}
.cap-num .n{font-family:var(--display);font-size:64px;font-weight:600;font-variation-settings:"opsz" 36;line-height:.9;color:var(--coraltx)}
.cap h2{font-size:clamp(32px,4vw,46px)}
.cap-txt p{font-size:17px;line-height:1.75;max-width:62ch}
.cap-txt strong{font-weight:600;color:var(--choco)}
.cap-txt p:first-of-type::first-letter{font-family:var(--display);float:left;font-size:3.6em;line-height:.82;padding:6px 10px 0 0;color:var(--choco)}
.cita{padding-block:64px;text-align:center}
.cita p{font-family:var(--display);font-style:italic;font-weight:500;font-variation-settings:"opsz" 36;font-size:clamp(30px,4.6vw,50px);line-height:1.15;max-width:22ch;margin:0 auto}
.pendiente{border:1px dashed var(--coraltx);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:8px;background:var(--blanco)}

/* ===== Recursos ===== */
.recurso{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.recurso .portada{max-width:360px;position:sticky;top:110px;justify-self:start}
.contenido{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contenido div{border-top:1.5px solid var(--choco);padding-top:12px;display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--texto2)}
.contenido b{font-family:var(--display);font-size:19px;font-weight:600;font-variation-settings:"opsz" 24;color:var(--choco)}
.descarga{background:var(--arena);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:10px}

/* ===== Trabaja conmigo ===== */
.ugc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:center}
.fotos3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fotos3 .ph{aspect-ratio:3/4;border-radius:8px}
.serv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.serv li{border-top:1.5px solid var(--choco);padding-top:12px;display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--texto2)}
.serv b{font-family:var(--display);font-size:20px;font-weight:600;font-variation-settings:"opsz" 24;color:var(--choco)}
.serv p{margin:0}
.serv li{gap:8px}
.serv strong{font-weight:600;color:var(--choco)}
.correo{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--blanco);border:1px solid var(--linea);border-radius:999px;padding:6px 6px 6px 18px;max-width:100%}
.correo span{font-weight:600;font-size:14px;word-break:break-all}
.correo button{min-height:40px;padding:0 16px;border-radius:999px;border:none;background:var(--arena);color:var(--choco);font:600 12px var(--body);cursor:pointer}
.correo button:hover{background:var(--linea)}

/* ===== Pie de página ===== */
.pie{background:var(--choco2);color:var(--linea);padding-block:56px 32px;font-size:14px}
.pie-in{display:flex;flex-direction:column;gap:36px}
.pie .fila{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.pie a{color:var(--crema);text-decoration:none}
.pie a:hover{color:var(--coral)}
.pie .cols{display:flex;gap:48px;flex-wrap:wrap}
.pie .cols div{display:flex;flex-direction:column;gap:8px}
.pie .ey{color:var(--amar);font-size:10px}
.pie .legal{border-top:1px solid var(--texto2);padding-top:20px;display:flex;flex-direction:column;gap:6px;font-size:12px}
.pie .vert{font-size:24px;color:var(--crema)}
/* Aviso de afiliación: discreto, legible (contraste 6.8:1 sobre el pie) */
.pie .aviso-af{margin:0 0 6px;font-family:var(--body);font-weight:400;font-size:11.5px;line-height:1.65;letter-spacing:.01em;color:var(--gris-pie);max-width:76ch}

/* ===== Adaptación a pantallas ===== */
@media (max-width:980px){
  .grid-p,.grid-p.cuatro{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:24px}
}
@media (max-width:760px){
  .w{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
  .bloque{padding-block:52px}
  .hero,.guia,.com,.ts,.acad,.ugc,.benable,.recurso,.cap,.contenido{grid-template-columns:minmax(0,1fr)}
  .hero{padding-block:24px 48px;gap:24px}
  .hero-foto{order:-1}
  .chip{left:10px;bottom:18px}
  .tl{grid-template-columns:minmax(0,1fr);margin-top:16px}
  .tl a{flex-direction:row;align-items:baseline;gap:12px;padding:10px 0;border-top-width:1px}
  .tl .n{font-size:20px;min-width:28px}
  .guia .portada,.recurso .portada,.com-guia .portada{max-width:min(260px,72vw);margin:0 auto;position:static;justify-self:center}
  .guia,.recurso{gap:32px}
  .pasos{grid-template-columns:minmax(0,1fr)}
  .cats{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .cats a,.filtro{flex:none}
  .grid-p,.grid-p.cuatro{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .prod h3{font-size:17px}
  .prod .tit{font-size:16px}
  .prod p{font-size:13px}
  .prod .b{width:100%;padding:0 12px}
  .prod.historia{grid-column:1/-1;grid-template-columns:minmax(0,1fr);padding:20px}
  .benable .sello{justify-self:start;text-align:left}
  .cap{gap:24px;padding-block:52px}
  .cap:nth-of-type(even) .cap-foto{order:0}
  .cap-foto .ph{position:static;aspect-ratio:4/3}
  .cap-num .n{font-size:48px}
  .serv,.fotos3{grid-template-columns:minmax(0,1fr)}
  .fotos3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .pie .fila,.pie .cols{flex-direction:column;gap:22px}
}
@media (max-width:420px){
  .grid-p,.grid-p.cuatro{grid-template-columns:minmax(0,1fr)}
  .prod .ph{aspect-ratio:4/3}
}

/* Texto solo para lectores de pantalla */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* =========================================================
   REVISIÓN TIPOGRÁFICA GLOBAL (legibilidad en Safari y móvil)
   - Bodoni Moda: peso 600 y corte óptico bajo (trazos finos más
     gruesos). En Safari el suavizado "antialiased" adelgazaba
     las letras: se usa el suavizado normal del sistema.
   - Textos secundarios: mínimo 12–13 px y tonos chocolate.
   ========================================================= */
:root{--choco-suave:#4A3C3A}
h1,h2,h3,h4{font-variation-settings:"opsz" 28;letter-spacing:.006em}
h1 i,h2 i,h3 i,h4 i{font-weight:600}
.hero h1,.portadilla h1{font-variation-settings:"opsz" 32}

/* Etiquetas superiores */
.ey{font-size:12px;letter-spacing:.14em;color:var(--gris)}
.nota{font-size:14px;line-height:1.6;color:var(--gris)}

/* Índice «Detrás de mis sueños» (Inicio) */
.tl{gap:0 18px;margin-top:32px}
.tl a{padding:16px 4px 0 0;gap:8px}
.tl .n{font-size:28px;font-weight:600;font-variation-settings:"opsz" 28;color:var(--coraltx)}
.tl .t{font-size:18px;font-weight:600;font-variation-settings:"opsz" 14;letter-spacing:.012em;line-height:1.25;color:var(--choco)}
.tl .tl-m{font-family:var(--body);font-size:12.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--choco-suave);line-height:1.4}

/* Mi historia: capítulos e índice superior */
.indice a{font-size:14px;font-weight:500;color:var(--choco)}
.indice a b{font-size:16px;font-weight:600;font-variation-settings:"opsz" 14}
.cap-num .n{font-variation-settings:"opsz" 28}
.cap-num .ey{font-size:13px;font-weight:600;color:var(--choco-suave)}
.cap-txt p{color:var(--choco)}
.cita p{font-weight:600;font-variation-settings:"opsz" 28}
.chip p{font-size:17px;font-weight:600;font-variation-settings:"opsz" 14}

/* Textos de apoyo en tarjetas y bloques */
.hero p{font-size:17px;color:var(--choco-suave)}
.pasos{font-size:15px}
.pasos b{font-size:16px}
.contenido div{font-size:15px;color:var(--choco-suave)}
.contenido b{font-size:20px;font-variation-settings:"opsz" 14}
.serv li{font-size:15px;color:var(--choco-suave)}
.serv b{font-size:21px;font-variation-settings:"opsz" 14}

/* My Finds */
.cats a,.filtro{font-size:14px}
.prod h3{font-size:21px;font-variation-settings:"opsz" 14}
.prod .tit{font-size:21px;color:var(--coraltx)}
.prod p{font-size:15px;color:var(--choco-suave)}
.prod .det{font-size:13px;color:var(--gris)}
.prod .ey{font-size:11.5px}

/* Academias */
.ficha .tema{font-size:21px}
.ficha h3{font-variation-settings:"opsz" 28}
.ficha .precio b{font-variation-settings:"opsz" 28}
.ficha dt{font-size:12px}

/* Bloques oscuros (comunidad, Benable, Tu Sushi 305) */
.com .nota{font-size:14px;color:#D9CABC}
.com li{font-size:16px}
.benable p{font-size:17px}

/* Menú y pie de página */
.nav{font-size:14px}
.pie .ey{font-size:11.5px}
.pie a,.pie .cols span{font-size:15px}
.pie .legal > span{font-size:13px;color:#D9CABC}
/* El aviso de afiliación se mantiene secundario (11.5 px, contraste 6.8:1) */

@media (max-width:760px){
  .tl .t{font-size:18px}
  .tl a{flex-wrap:wrap;column-gap:12px;row-gap:2px;padding:12px 0}
  .tl .n{font-size:22px;min-width:32px}
  .tl .tl-m{flex-basis:100%;padding-left:44px}
  .prod h3{font-size:18px}
  .prod .tit{font-size:18px}
  .prod p{font-size:14.5px}
  .pie a,.pie .cols span{font-size:15px}
}
@media (max-width:420px){
  .indice a{font-size:14px}
}

/* Logo a tamaño pequeño (menú y pie): versión «chico» aprobada en la Fase 1.
   Con el corte para tamaños grandes, Safari pierde los trazos finos de la N y la A. */
.marca .lg{font-variation-settings:"opsz" 14;font-weight:600;letter-spacing:.15em}
.marca .lg .ult{margin-right:-.15em}
.pie .vert{font-variation-settings:"opsz" 18;font-weight:600}

/* Contraste del coral oscuro sobre fondo arena (4.3 → 4.8): mismo tono, un punto más profundo solo ahí */
.bg-arena,.prod.historia,.descarga{--coraltx:#A23F35}
/* Frase del pie en cursiva: peso y corte legibles */
.pie i{font-weight:600;font-variation-settings:"opsz" 14;font-size:17px}
/* Pequeños textos de interfaz */
.nav .b{font-size:13px}
.correo button{font-size:13px}
.prod .ey{font-size:12px}


/* =========================================================
   FOTOGRAFÍAS REALES
   Sin filtros ni cambios de color. Encuadre con object-position
   para mantener siempre visibles los rostros.
   ========================================================= */
.foto{display:block;width:100%;height:auto;max-width:100%;object-fit:cover;background:var(--arena)}
.foto-hero{aspect-ratio:4/5;border-radius:220px 220px 6px 6px;object-position:52% 28%}
.foto-cap7{aspect-ratio:4/5;border-radius:6px;position:sticky;top:110px;object-position:50% 40%}
.ts-fotos{grid-template-columns:minmax(0,1fr);justify-items:center}
.ts-fotos .foto-sushi{max-width:560px}
.foto-sushi{aspect-ratio:4/5;border-radius:6px;object-position:50% 58%}
.ts-fotos .ph{aspect-ratio:4/5}
.foto-trabaja{aspect-ratio:4/5;border-radius:6px;object-position:50% 20%;max-width:440px;justify-self:center}
.foto-com{width:132px;height:132px;aspect-ratio:1/1;border-radius:50%;object-position:50% 34%;border:3px solid var(--crema);box-shadow:0 0 0 1px rgba(255,248,240,.25)}
@media (max-width:760px){
  .foto-hero{object-position:52% 26%}
  .foto-cap7{position:static;aspect-ratio:4/3;object-position:50% 41%}
  .ts-fotos{grid-template-columns:minmax(0,1fr)}
  .foto-sushi{aspect-ratio:auto;height:auto}
  .ts-fotos .ph{aspect-ratio:4/3}
  .foto-trabaja{max-width:min(380px,100%)}
  .foto-com{width:112px;height:112px}
}

/* Capítulo 01: Seikami Venezuela · Capítulo 04: dos fotos de Seikami Miami en un mismo cuadro */
.foto-seikami{aspect-ratio:auto;height:auto;object-fit:contain;border-radius:6px;position:sticky;top:110px}
.duo{position:sticky;top:110px;aspect-ratio:4/5;width:100%}
.duo .foto{position:absolute;aspect-ratio:1/1;border-radius:6px}
.duo-a{left:0;top:0;width:78%;object-position:50% 55%}
.duo-b{right:0;bottom:0;width:56%;object-position:35% 50%;border:6px solid var(--crema);box-shadow:0 14px 34px rgba(56,43,42,.16)}
.bg-arena .duo-b{border-color:var(--arena)}
@media (max-width:760px){
  .foto-seikami{position:static;aspect-ratio:auto;height:auto}
  .duo{position:relative;top:auto;aspect-ratio:1/1}
  .duo-a{width:72%}
  .duo-b{width:52%;border-width:5px}
}

/* Capítulo 05: los inicios de Tu Sushi 305 en casa · 2020 */
.foto-cap5{aspect-ratio:4/5;border-radius:6px;position:sticky;top:110px;object-position:50% 60%}
@media (max-width:760px){.foto-cap5{position:static;aspect-ratio:4/3;object-position:50% 62%}}

/* Capítulo 06: de casa a nuestro local */
.foto-cap6{aspect-ratio:4/5;border-radius:6px;position:sticky;top:110px;object-position:50% 40%}
@media (max-width:760px){.foto-cap6{position:static;aspect-ratio:4/5;object-position:50% 45%}}

/* Inicio: bloque Tu Sushi 305 con la foto de Genesis y Angel (vertical) */
.foto-ts-inicio{aspect-ratio:4/5;border-radius:6px;object-position:50% 58%;max-width:480px;justify-self:center}
@media (max-width:760px){.foto-ts-inicio{max-width:100%}}

/* Capítulo 02: dos fotos verticales del viaje en un mismo cuadro · Capítulo 03: la playa de Miami */
.duo-v .duo-a{aspect-ratio:9/16;width:58%;object-position:50% 40%}
.duo-v .duo-b{aspect-ratio:3/4;width:50%;object-position:50% 55%}
.foto-cap3{aspect-ratio:4/5;border-radius:6px;position:sticky;top:110px;object-position:62% 50%}
@media (max-width:760px){
  .duo-v{aspect-ratio:1/1}
  .duo-v .duo-a{width:50%}
  .duo-v .duo-b{width:48%}
  .foto-cap3{position:static;aspect-ratio:4/3;object-position:60% 50%}
}

/* Academias: imagen de portada en cada tarjeta */
.ficha-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:var(--arena)}

/* Aprende conmigo: tarjetas completas de academias */
.ficha-texto{display:flex;flex-direction:column;gap:10px;color:var(--texto2)}
.beneficios{list-style:none;margin:2px 0 0;padding:14px 0 0;border-top:1px solid var(--linea);display:flex;flex-direction:column;gap:8px;font-size:15px;color:var(--choco)}
.beneficios li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.beneficios .check{flex:none;margin-top:.15em;color:var(--coraltx)}
.ficha .precio .moneda{font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--gris)}
.nota-acad{margin-top:22px;max-width:80ch;font-size:13px}
.precio-completo .nota{flex-basis:100%;margin-top:-4px}

/* My Finds: aviso de afiliados de Amazon como nota secundaria, legible y discreta */
.aviso-discreto{margin-top:24px;padding-top:10px;gap:2px;max-width:82ch;line-height:1.55}
.aviso-discreto b{font-size:12px;font-weight:500;color:#6F5F58}
.aviso-discreto span{font-size:11.5px;color:#76655E}

/* Pie: aviso general de transparencia */
.pie .aviso-af .aviso-tit{display:block;margin-bottom:3px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#D9CABC}

/* Pie: enlaces legales */
.pie .legales{display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px 0 2px}
.pie .legales a{font-size:13px;color:#D9CABC;text-decoration:underline;text-decoration-color:rgba(217,202,188,.4);text-underline-offset:3px}
.pie .legales a:hover{color:var(--coral)}

/* Páginas legales */
.texto-legal{display:flex;flex-direction:column;gap:14px;color:var(--texto2);font-size:16px;line-height:1.7}
.texto-legal h2{margin-top:22px;font-size:clamp(22px,2.6vw,26px);line-height:1.25;color:var(--choco)}
.texto-legal h2:first-child{margin-top:0}
.texto-legal ul,.texto-legal ol{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px}
.texto-legal b{color:var(--choco);font-weight:600}
.texto-legal a{color:var(--coraltx)}
mark.pendiente{background:#FBE3C8;color:var(--choco);padding:1px 5px;border-radius:3px;font-size:.92em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* Aprende conmigo: proceso de inscripción */
.ficha .nota-entrega{font-size:13px;line-height:1.55;color:var(--gris);max-width:44ch}
.proceso .pasos{grid-template-columns:minmax(0,1fr);font-size:15px;gap:10px}
.proceso .ayuda a{color:var(--coraltx)}
.texto-legal > *{max-width:760px}
.ficha .nota-entrega b{color:var(--choco);font-weight:600}
.ficha .nota-entrega a{color:var(--coraltx)}

/* ---------- Selector de idioma ES | EN ---------- */
.nav .idioma{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--texto2)}
.nav .idioma a{padding:6px 2px;color:var(--texto2);border-bottom:1.5px solid transparent}
.nav .idioma a:hover{color:var(--choco);border-bottom-color:var(--coral)}
.nav .idioma a[aria-current="true"]{color:var(--choco);border-bottom-color:var(--choco)}
.nav .idioma span{opacity:.5}
@media (max-width:1199px){
  .nav .idioma{margin-top:18px;gap:12px;font-size:13px;justify-content:center}
  .nav .idioma a{font-size:13px;font-weight:600;padding:10px 6px;border-bottom:1.5px solid transparent}
  .nav .idioma a[aria-current="true"]{color:var(--choco);border-bottom-color:var(--choco)}
}
/* Con el selector, el menú completo necesita un poco más de ancho: en pantallas
   menores de 1200 px se usa el menú desplegable y los enlaces nunca se parten en dos líneas. */
@media (min-width:1200px){
  .nav{gap:16px}
  .nav a{white-space:nowrap}
}

/* Mi historia: capítulos sin fotografía — una sola columna centrada, con ancho de lectura cómodo */
.cap-solo{grid-template-columns:minmax(0,1fr)}
.cap-solo .cap-txt{width:100%;max-width:760px;margin-inline:auto}
.cap-solo .cap-txt p{max-width:none}
/* Mi historia: foto de infancia — se muestra completa, sin recortes ni deformaciones */
.foto-infancia{aspect-ratio:1122/1402;object-fit:cover}
/* Línea de tiempo de Inicio en teléfono: los títulos largos se ajustan junto a su número */
@media (max-width:760px){.tl .t{flex:1 1 0;min-width:0}}
