/* oficio.html · «De dónde vengo» (línea de vida Horno → Torno). Origen: web/prototipos/oficio-linea-color.html, aprobado 2026-10-18 */
:root{
  --warm-bg:#f3ece2; --warm-ink:#2b2118; --warm-mut:#6f5b47; --warm-acc:#8a4b1e; --warm-line:#c7a25a;
  --cool-bg:#0a1522; --cool-ink:#e9eff5; --cool-mut:#a9b8c9; --cool-acc:#5b8cff;
}
body.pg-oficio{background:var(--warm-bg)}
figure{margin:0;overflow:hidden}
figure img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- línea de vida ---------- */
/* Cada punto: .lead (año + punto + texto, que se mueven juntos) y .ims (fotos y vídeos) */
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:118px;top:0;bottom:0;width:2px;background:var(--line-c)}
.tl>li{display:grid;grid-template-columns:100px 36px minmax(0,1fr) minmax(0,1fr);gap:0 1.4rem;padding-bottom:3rem;align-items:start;position:relative}
.lead{grid-column:1/4;display:grid;grid-template-columns:100px 36px minmax(0,1fr);gap:0 1.4rem;align-items:start}
.tl>li>.ims{grid-column:4}
.yr{font-family:var(--display);font-size:1.5rem;text-align:right;line-height:1.1;padding-top:.1rem;color:var(--acc)}
html[data-lang="zh"] .yr{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-size:1.2rem;font-weight:700}
.dot{width:14px;height:14px;margin:.45rem 0 0 4px;background:var(--bg-c);border:3px solid var(--acc);border-radius:50%;position:relative;z-index:1}
.tl h3{font-size:1.55rem;margin:0 0 .35rem}
.tl p{margin:0 0 .5rem;max-width:48ch;color:var(--mut)}
/* el bloque año + punto + texto acompaña a sus fotos mientras bajan (solo ordenador) */
@media (min-width:860px){.lead{position:sticky;top:calc(var(--bar-h,104px) + 24px)}}

.ims{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ims figure{aspect-ratio:4/3}
.ims .shot{flex:none}
.ims .shot-btn{aspect-ratio:auto;height:100%}
.ims figure.big{grid-column:1/-1;aspect-ratio:16/9}
.ims.tall figure{aspect-ratio:3/4}
.ims.y19{grid-template-columns:repeat(3,1fr)}
.ims.y19 figure{aspect-ratio:3/4}
.ims.y19 .big2{grid-row:span 2;aspect-ratio:auto}

/* vídeos: en bucle y sin sonido; botón para verlos en grande y botón de pausa */
.vid{position:relative}
.vid video{display:block;width:100%;height:100%;object-fit:cover;background:#000}
.vid-btn{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#000;cursor:zoom-in}
.vid-ico,.vid-pausa{position:absolute;width:36px;height:36px;border-radius:50%;background:rgba(10,21,34,.78);box-shadow:0 0 0 1.5px rgba(255,255,255,.75);color:#fff;display:grid;place-items:center}
.vid-ico{right:8px;bottom:8px}
.vid-pausa{left:8px;bottom:8px;border:0;padding:0;cursor:pointer}
.vid-pausa:hover,.vid-btn:hover .vid-ico{background:rgba(31,85,224,.9)}
.vid-pausa .i-play{display:none}
.vid-pausa[aria-pressed="true"] .i-pausa{display:none}
.vid-pausa[aria-pressed="true"] .i-play{display:block}
@media (hover:hover) and (pointer:fine){.vid-btn video{transition:transform .35s ease}.vid-btn:hover video{transform:scale(1.03)}}
.vlb{position:fixed;inset:0;z-index:60;background:rgba(7,12,18,.95);display:flex;align-items:center;justify-content:center;padding:1rem}
.vlb[hidden]{display:none}
.vlb video{max-width:min(96vw,1100px);max-height:86vh;background:#000}
.vlb .x{position:absolute;top:.8rem;right:.8rem;width:2.8rem;height:2.8rem;border:1px solid #e9eff5;background:rgba(10,21,34,.7);color:#e9eff5;font-size:1.6rem;line-height:1;cursor:pointer}

.ck{list-style:none;margin:.7rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ck li{padding:.28rem .6rem;border:1px solid #33496a;color:#dbe4ee;font:500 .8rem var(--body)}

/* ---------- parte cálida: el horno ---------- */
.horno{--bg-c:var(--warm-bg);--acc:var(--warm-acc);--mut:var(--warm-mut);--line-c:var(--warm-line);background:var(--warm-bg);color:var(--warm-ink)}
.hd{padding-block:3.2rem 2.4rem;max-width:760px}
.hd h1{font-size:clamp(2.8rem,5.4vw,4.6rem);line-height:.9;margin:0 0 .8rem}
.hd p{margin:0;color:var(--warm-mut);font-size:1.1rem;max-width:50ch}

/* ---------- transición: Horno → Torno ---------- */
/* Dos capas iguales: abajo la cálida («Horno»), encima la fría («Torno»).
   Una barra fina con flecha sube y arrastra la cortina azul; al subir la página hace lo mismo al revés. */
.trans{position:relative;height:160vh}
.trans .pin{position:sticky;top:0;height:100vh;overflow:hidden}
.trans .ly{position:absolute;inset:0;display:grid;place-items:center}
.trans .warm{background:var(--warm-bg);color:var(--warm-acc)}
.trans .cool{background:var(--cool-bg);color:var(--cool-acc);clip-path:inset(var(--cut,100%) 0 0 0)}
.trans .rail{position:absolute;top:0;bottom:0;width:2px;left:var(--rail-x,118px)}
.trans .warm .rail{background:var(--warm-line)}
.trans .cool .rail{background:var(--cool-acc)}
.word{font-family:var(--display);font-weight:700;font-size:clamp(5rem,17vw,15rem);line-height:.85;letter-spacing:-.01em;margin:0}
html[data-lang="zh"] .word{font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;font-size:clamp(4rem,13vw,11rem);letter-spacing:.04em}
.word .l{display:inline-block;width:.52em;text-align:center}  /* H y T ocupan lo mismo: «orno» no se mueve */
.trans .edge{position:absolute;left:0;right:0;top:0;height:0;transform:translateY(var(--bar-y,100vh));will-change:transform;z-index:3;pointer-events:none}
.trans .edge::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,var(--warm-line),var(--cool-acc));box-shadow:0 0 10px rgba(91,140,255,.45)}
.trans .edge .flecha{position:absolute;left:50%;top:0;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;background:#0a1522;border:2px solid var(--cool-acc);color:#e9eff5;display:grid;place-items:center;transition:transform .3s cubic-bezier(.2,.8,.2,1);transform:rotate(180deg)}
.trans .edge.sube .flecha{transform:none}  /* bajando la página la flecha mira arriba (la barra sube); subiendo, abajo */
.trans .edge .flecha svg{display:block;animation:hint-baja 1.8s cubic-bezier(.45,0,.25,1) infinite}
@keyframes hint-baja{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}

/* ---------- parte fría: el torno ---------- */
.torno{--bg-c:var(--cool-bg);--acc:var(--cool-acc);--mut:var(--cool-mut);--line-c:var(--cool-acc);background:var(--cool-bg);color:var(--cool-ink);padding-top:1rem}
.torno h2.sec-t{font-size:clamp(2.2rem,4vw,3.2rem);line-height:.95;margin:0;padding-top:1.2rem;margin-bottom:1.6rem}

/* tarjeta: lo que me llevé del taller */
.aprendido{margin:1rem 0 0;background:#0f1f33;border:1px solid #22364f;padding:clamp(1.4rem,3vw,2.4rem)}
.aprendido h3{font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1;margin:0 0 .5rem}
.ap-h{display:flex;justify-content:space-between;align-items:center;gap:1.4rem;margin:0 0 1.8rem}
.ap-logo{display:block;height:clamp(64px,7vw,92px);width:auto;flex:none}
.aprendido .intro{margin:0;color:var(--cool-mut);max-width:60ch}
.ap-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem;margin:0}
.ap-g>div{border-top:2px solid var(--cool-acc);padding-top:.9rem}
.ap-g dt{font-family:var(--display);font-size:1.15rem;margin:0 0 .5rem;color:#fff}
.ap-g dd{margin:0;color:var(--cool-mut);line-height:1.55}
.ap-g ul{list-style:none;margin:0;padding:0}
.ap-g ul:not(.ck) li{padding:.25rem 0;border-bottom:1px solid #1c2f48}
.ap-g .ck{margin:0}
.ap-logos{margin:2rem 0 0;padding-top:1.4rem;border-top:1px solid #22364f}
.ap-logos h4{margin:0 0 1rem;font:600 .95rem var(--body);color:#fff}
.ap-logos ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.2rem 1.6rem;align-items:center}
.ap-logos img{display:block;width:100%;height:64px;object-fit:contain}

.pnav2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-block:2.4rem 5rem}
.pnav2 a{text-decoration:none;color:inherit;padding:1rem 1.2rem;border:1px solid #22364f;background:#11233a}
.pnav2 a:hover{border-color:var(--cool-acc)}
.pnav2 small{display:block;color:var(--cool-mut);font-size:.8rem}
.pnav2 b{font-family:var(--display);font-size:1.3rem}
.pnav2 a+a{text-align:right}

@media (max-width:859px){
  .tl::before{left:9px}
  .tl>li{grid-template-columns:20px minmax(0,1fr);gap:.4rem .9rem}
  .lead{grid-column:1/-1;grid-template-columns:20px minmax(0,1fr);gap:.4rem .9rem}
  .yr{grid-column:2;grid-row:1;text-align:left;font-size:1.2rem}
  .dot{grid-column:1;grid-row:1;margin-left:2px}
  .tx{grid-column:2}
  .tl>li>.ims{grid-column:2}
  .torno .sec-h{grid-template-columns:1fr;gap:1rem}.torno h2.sec-t,  .ap-g{grid-template-columns:1fr}.ap-logos ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pnav2 b{font-size:1.02rem}
}
@media (prefers-reduced-motion:reduce){
  .trans{height:auto}.trans .pin{position:relative;height:60vh}.trans .cool{clip-path:none}.trans .edge{display:none}
  .trans .edge .flecha svg{animation:none}
}
