/* ═══════════════════════════════════════════════════════════════
   PAPITEJE · DEMO V2 · LA CARTA DE TEJIDO
   Fondo = la calada. Alpaca cruda = tinta. Tinte real por categoría.
   Cuatro gestos: calada · pasada · peine · avance de urdimbre.
   ═══════════════════════════════════════════════════════════════ */

:root{
  --calada:#120E09; --calada2:#1B1610; --calada3:#262019;
  --cruda:#F4F0E7;  --cruda2:#CBC2B2;  --cruda3:#8C8273;
  --lino:#EDE7DC;   --lino2:#DCD3C3;   --tinta:#171209; --tinta2:#6B6254;
  --madera:#4A2B0D; --luz:#B08D56;
  --oro:#FBD058;
  --t-bufandas:#D80F8C; --t-chales:#B16624; --t-ruanas-y-ponchos:#AA2736;
  --t-chalecos:#76AD0E; --t-guantes-y-cuellos:#2053B4;
  --tinte:var(--t-chales);
  --hilo:rgba(244,240,231,.14); --hilo2:rgba(244,240,231,.30);
  --paso:cubic-bezier(.19,.62,.30,1);
  --pad:clamp(20px,5vw,72px);
  --gut:clamp(14px,2.4vw,34px);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--calada);color:var(--cruda);
  font-family:"Faustina",Georgia,serif;font-size:clamp(17px,1.15vw,19px);line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
h1,h2,h3,h4{font-family:"Archivo",Arial,sans-serif;margin:0;font-variation-settings:"wdth" 100;text-wrap:balance}
.mono,.eb{font-family:"Chivo Mono",ui-monospace,Menlo,monospace}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--oro);outline-offset:4px}
.skip{position:fixed;left:-9999px;top:0;z-index:200;background:var(--oro);color:#170f00;
  padding:12px 20px;font-family:"Archivo",sans-serif;font-weight:700;font-size:14px}
.skip:focus{left:0}

/* escala editorial */
.xxl{font-family:"Archivo",sans-serif;font-weight:800;font-variation-settings:"wdth" 82;
  font-size:clamp(52px,10.5vw,168px);line-height:.85;letter-spacing:-.045em;text-wrap:balance}
.xl{font-family:"Archivo",sans-serif;font-weight:800;font-variation-settings:"wdth" 84;
  font-size:clamp(38px,6.6vw,104px);line-height:.9;letter-spacing:-.038em}
.lg{font-family:"Archivo",sans-serif;font-weight:600;font-variation-settings:"wdth" 90;
  font-size:clamp(27px,3.6vw,56px);line-height:1.02;letter-spacing:-.028em}
.md{font-family:"Archivo",sans-serif;font-weight:600;font-variation-settings:"wdth" 94;
  font-size:clamp(20px,2.1vw,30px);line-height:1.14;letter-spacing:-.02em}
.eb{font-size:clamp(10px,.78vw,12px);letter-spacing:.28em;text-transform:uppercase;color:var(--cruda3)}
.body-lg{font-size:clamp(18px,1.45vw,23px);line-height:1.5;color:var(--cruda2);max-width:34ch}

/* ══ cabecera ══ */
.top{position:fixed;top:0;left:0;right:0;z-index:90;transition:background .5s var(--paso),backdrop-filter .5s}
.top.stuck{background:rgba(18,14,9,.86);backdrop-filter:blur(14px) saturate(150%);border-bottom:1px solid var(--hilo)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(14px,1.7vw,22px) var(--pad)}
.brand{display:block;flex:none}
.brand img{width:clamp(104px,10vw,150px);height:auto;opacity:.96}
.menu{display:flex;gap:clamp(16px,2.3vw,34px);list-style:none;margin:0;padding:0;
  font-family:"Archivo",sans-serif;font-size:clamp(11px,.85vw,13px);letter-spacing:.17em;
  text-transform:uppercase;font-weight:600;color:var(--cruda2)}
.menu a{position:relative;display:block;padding:3px 0}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:1px;
  background:var(--cruda);transition:right .55s var(--paso)}
.menu a:hover::after,.menu a:focus-visible::after{right:0}
.lang{font-family:"Chivo Mono",monospace;font-size:12px;letter-spacing:.1em;color:var(--cruda3);flex:none}
.lang b{color:var(--cruda);font-weight:400}
.lang a:hover{color:var(--oro)}
.burger{display:none;background:none;border:1px solid var(--hilo2);color:var(--cruda);
  padding:9px 13px;font-family:"Chivo Mono",monospace;font-size:11px;letter-spacing:.16em;cursor:pointer}

/* ══ HERO a viewport completo ══ */
.hero{position:relative;min-height:100svh;display:grid;grid-template-rows:1fr auto;overflow:hidden;background:#000}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img,.hero__media video{width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 50%)}
.hero__media video{position:absolute;inset:0;opacity:0;transition:opacity 1.4s var(--paso)}
.hero__media video.ready{opacity:1}
.hero__veil{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(18,14,9,.72) 0%,rgba(18,14,9,.10) 26%,rgba(18,14,9,.12) 52%,rgba(18,14,9,.88) 100%),
  linear-gradient(96deg,rgba(18,14,9,.62) 0%,rgba(18,14,9,.06) 58%)}
/* avance de urdimbre sobre el video: textura viva, no adorno */
.hero__warp{position:absolute;inset:-20% 0;z-index:2;pointer-events:none;opacity:.16;
  background:repeating-linear-gradient(90deg,var(--cruda) 0 1px,transparent 1px 11px);
  mix-blend-mode:overlay;animation:urdimbre 26s linear infinite}
@keyframes urdimbre{to{transform:translateY(11px)}}

.hero__marca{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;
  padding:clamp(80px,11vh,140px) var(--pad) 0}
.hero__marca img{width:clamp(190px,26vw,420px);height:auto;
  filter:drop-shadow(0 18px 46px rgba(0,0,0,.55))}
.hero__txt{position:relative;z-index:3;padding:0 var(--pad) clamp(26px,5vh,58px)}
.hero__txt h1{margin:0 0 clamp(14px,1.8vw,22px);max-width:11ch}
.hero__txt p{font-size:clamp(15px,1.32vw,21px);color:var(--cruda2);max-width:40ch;margin:0 0 clamp(20px,2.6vw,32px);line-height:1.45}
.hero__pie{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;flex-wrap:wrap}
.scrollcue{display:flex;align-items:center;gap:11px;color:var(--cruda3)}
.scrollcue i{display:block;width:52px;height:1px;background:var(--cruda3);position:relative;overflow:hidden}
.scrollcue i::after{content:"";position:absolute;inset:0;background:var(--oro);
  transform:translateX(-100%);animation:cue 2.8s var(--paso) infinite}
@keyframes cue{0%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}

.acts{display:flex;gap:clamp(8px,1vw,12px);flex-wrap:wrap;align-items:center}
.btn{display:inline-block;font-family:"Archivo",sans-serif;font-size:clamp(12px,.95vw,14px);font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;padding:clamp(13px,1.2vw,18px) clamp(22px,2.2vw,34px);
  background:var(--cruda);color:var(--calada);border:1px solid var(--cruda);
  transition:background .45s var(--paso),color .45s var(--paso),border-color .45s var(--paso)}
.btn:hover{background:var(--oro);border-color:var(--oro);color:#170f00}
.btn--g{background:transparent;color:var(--cruda);border-color:var(--hilo2);backdrop-filter:blur(3px)}
.btn--g:hover{background:transparent;color:var(--oro);border-color:var(--oro)}
.btn--oro{background:var(--oro);border-color:var(--oro);color:#170f00}
.btn--oro:hover{background:var(--cruda);border-color:var(--cruda);color:var(--calada)}
.btn--full{display:block;width:100%;text-align:center}

/* ══ manifiesto ══ */
.manifiesto{padding:clamp(74px,13vh,190px) var(--pad);max-width:1500px}
.manifiesto p{margin:0;max-width:17ch}
.manifiesto em{font-style:normal;color:var(--luz)}

/* ══ rótulo de sección ══ */
.rot{display:flex;align-items:center;gap:16px;padding:0 var(--pad) clamp(20px,2.6vw,34px)}
.tie{display:grid;grid-template-columns:repeat(4,5px);gap:1.5px;flex:none}
.tie i{width:5px;height:5px;background:var(--hilo2)}
.tie i.on{background:var(--tinte)}
.rot .lin{flex:1;height:1px;background:var(--hilo)}
.rot .mas{font-family:"Chivo Mono",monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cruda3);position:relative;padding-bottom:3px;flex:none}
.rot .mas::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--oro);transition:right .6s var(--paso)}
.rot .mas:hover{color:var(--oro)}.rot .mas:hover::after{right:0}

/* ══ MATERIA · tira asimétrica, verticales largas ══ */
.materia{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gut);padding:0 var(--pad);align-items:end}
.materia figure{margin:0;position:relative;overflow:hidden;background:#000}
.materia figure:nth-child(1){aspect-ratio:3/5}
.materia figure:nth-child(2){aspect-ratio:3/4;margin-bottom:clamp(22px,5vw,64px)}
.materia figure:nth-child(3){aspect-ratio:3/5.6}
.materia figure:nth-child(4){aspect-ratio:3/4.2;margin-bottom:clamp(40px,8vw,110px)}
.materia img{width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 50%);
  transform:scale(1.05);transition:transform 1.6s var(--paso)}
.materia figure:hover img{transform:scale(1)}
.materia figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(14px,1.6vw,22px);
  background:linear-gradient(to top,rgba(18,14,9,.94) 8%,rgba(18,14,9,.5) 60%,transparent)}
.materia b{font-family:"Archivo",sans-serif;font-weight:700;font-variation-settings:"wdth" 88;
  font-size:clamp(19px,2vw,32px);letter-spacing:-.022em;display:block;line-height:1}
.materia span{font-size:clamp(12.5px,.95vw,15px);color:var(--cruda2);display:block;margin-top:8px;line-height:1.4;max-width:26ch}

/* ══ OFICIO · imagen que atraviesa + texto superpuesto ══ */
.oficio{position:relative;margin-top:clamp(70px,11vh,150px)}
.oficio__full{position:relative;height:clamp(400px,78vh,860px);overflow:hidden;background:#000}
.oficio__full img{width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 50%)}
.oficio__full::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,14,9,.5) 0%,transparent 34%,rgba(18,14,9,.9) 100%)}
.oficio__cap{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:clamp(24px,4vw,54px);
  display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.oficio__cap h3{max-width:14ch}
.oficio__cap p{font-size:clamp(13.5px,1.05vw,17px);color:var(--cruda2);max-width:36ch;margin:0}
.oficio__par{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);padding:var(--gut) var(--pad) 0}
.oficio__par figure{margin:0;position:relative;overflow:hidden;background:#000;aspect-ratio:4/3}
.oficio__par figure:nth-child(2){margin-top:clamp(30px,7vw,110px)}
.oficio__par img{width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 50%)}
.oficio__par figcaption{padding:16px 0 0;font-size:clamp(13px,1vw,16px);color:var(--cruda2);line-height:1.5}
.oficio__par b{display:block;font-family:"Archivo",sans-serif;font-weight:700;font-size:clamp(13px,1vw,15px);
  letter-spacing:.18em;text-transform:uppercase;color:var(--cruda);margin-bottom:7px}

/* ══ FAMILIA · retrato grande con texto encima ══ */
.familia{position:relative;margin-top:clamp(70px,11vh,150px);min-height:clamp(520px,92vh,940px);
  display:flex;align-items:flex-end;justify-content:flex-end;overflow:hidden;background:#000}
.familia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 22%)}
.familia::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,14,9,.5) 0%,transparent 26%,rgba(18,14,9,.5) 58%,rgba(18,14,9,.97) 100%),
             linear-gradient(260deg,rgba(18,14,9,.86) 0%,rgba(18,14,9,.28) 42%,transparent 62%)}
.familia__tx{position:relative;z-index:2;padding:var(--pad);width:min(620px,100%);text-align:left}
.familia__tx h3{margin-bottom:clamp(14px,1.6vw,22px)}
.familia__tx p{font-size:clamp(14px,1.1vw,18px);color:var(--cruda2);line-height:1.6;margin:0 0 12px;max-width:52ch}
.familia__tx .via{font-family:"Chivo Mono",monospace;font-size:11px;color:var(--cruda3);letter-spacing:.1em;margin-top:16px}

/* ══ PIEZAS · bento asimétrico ══ */
.piezas{display:grid;gap:var(--gut);padding:0 var(--pad);
  grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(170px,auto)}
.cat{position:relative;overflow:hidden;background:#000;display:block;isolation:isolate}
.cat:nth-child(1){grid-column:span 4;grid-row:span 2}
.cat:nth-child(2){grid-column:span 2;grid-row:span 1}
.cat:nth-child(3){grid-column:span 2;grid-row:span 1}
.cat:nth-child(4){grid-column:span 3;grid-row:span 1}
.cat:nth-child(5){grid-column:span 3;grid-row:span 1}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 50%);
  transform:scale(1.04);transition:transform 1.6s var(--paso),opacity .7s var(--paso);opacity:1}
.cat:hover img{transform:scale(1);opacity:1}
.cat__sh{position:absolute;inset:0;background:linear-gradient(to top,rgba(18,14,9,.93) 0%,rgba(18,14,9,.16) 62%,transparent 100%)}
.cat__c{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,1.9vw,30px)}
.cat b{font-family:"Archivo",sans-serif;font-weight:700;font-variation-settings:"wdth" 86;
  font-size:clamp(20px,2.5vw,46px);letter-spacing:-.028em;display:block;line-height:.98}
.cat:nth-child(n+2) b{font-size:clamp(17px,1.7vw,28px)}
.cat span{font-family:"Chivo Mono",monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  display:block;margin-top:10px;color:var(--cruda2)}
.cat u{position:absolute;left:clamp(16px,1.9vw,30px);bottom:clamp(10px,1.2vw,18px);height:2px;width:34px;
  background:var(--tinte);transition:width .8s var(--paso)}
.cat:hover u,.cat:focus-visible u{width:calc(100% - clamp(32px,3.8vw,60px))}

/* ══ VISITA ══ */
.visita{position:relative;margin-top:clamp(70px,11vh,150px);min-height:clamp(480px,86vh,880px);
  display:flex;align-items:flex-end;overflow:hidden;background:#000}
.visita img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 56%)}
.visita::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,14,9,.5) 0%,transparent 32%,rgba(18,14,9,.94) 88%)}
.visita__tx{position:relative;z-index:2;padding:var(--pad);width:min(880px,100%);display:grid;gap:clamp(18px,2.4vw,30px)}
.dl{display:grid;gap:clamp(10px,1.2vw,16px);margin:0}
.dl>div{display:grid;grid-template-columns:clamp(78px,7vw,110px) 1fr;gap:18px;align-items:baseline}
.dl dt{font-family:"Chivo Mono",monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cruda3)}
.dl dd{margin:0;color:var(--cruda);font-size:clamp(14px,1.1vw,18px)}
.pend{color:var(--oro);font-family:"Chivo Mono",monospace;font-size:11.5px;letter-spacing:.06em}

/* ══ pie ══ */
.pie{margin-top:clamp(60px,9vh,120px);padding:clamp(30px,4vw,54px) var(--pad);border-top:1px solid var(--hilo);
  display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.pie__m{display:grid;gap:16px}
.pie__m img{width:clamp(120px,12vw,180px);height:auto;opacity:.9}
.pie .tag{border:1px solid var(--hilo2);padding:9px 15px;font-family:"Chivo Mono",monospace;
  font-size:10px;letter-spacing:.18em;color:var(--cruda2);text-transform:uppercase;justify-self:start}
.pie .mini{font-family:"Chivo Mono",monospace;font-size:11px;color:var(--cruda3);letter-spacing:.09em;
  text-align:right;line-height:1.9}
.pie .mini a:hover{color:var(--oro)}

/* ═══════ CATEGORÍA ═══════ */
.chead{position:relative;padding:calc(clamp(76px,10vh,120px) + clamp(20px,3vw,40px)) var(--pad) clamp(24px,3vw,42px);overflow:hidden}
.chead__bg{position:absolute;inset:0;z-index:0;opacity:.30}
.chead__bg img{width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 42%)}
.chead::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(18,14,9,.92) 0%,rgba(18,14,9,.72) 55%,var(--calada) 100%)}
.chead>*{position:relative;z-index:2}
.crumb{font-family:"Chivo Mono",monospace;font-size:11px;letter-spacing:.15em;color:var(--cruda3);text-transform:uppercase;margin:0}
.crumb a:hover{color:var(--oro)}
.chead h1{margin:clamp(12px,1.5vw,20px) 0 0}
.chead .intro{font-size:clamp(14px,1.15vw,19px);color:var(--cruda2);max-width:56ch;margin:clamp(14px,1.8vw,24px) 0 0;line-height:1.55}
.filtros{display:flex;border-top:1px solid var(--hilo);border-bottom:1px solid var(--hilo);
  padding:0 var(--pad);overflow-x:auto;scrollbar-width:none;position:sticky;top:0;z-index:60;
  background:rgba(18,14,9,.94);backdrop-filter:blur(12px)}
.filtros::-webkit-scrollbar{display:none}
.filtros button{background:none;border:0;border-right:1px solid var(--hilo);font-family:"Chivo Mono",monospace;
  font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--cruda3);padding:16px 20px;
  white-space:nowrap;cursor:pointer;transition:color .35s var(--paso),background .35s var(--paso)}
.filtros button:first-child{padding-left:0}
.filtros button:hover{color:var(--cruda)}
.filtros button[aria-pressed="true"]{background:var(--tinte);color:#fff}

/* ritmo del catálogo: no es un mosaico uniforme */
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gut);padding:clamp(28px,4vw,58px) var(--pad) 0}
.card{position:relative;display:block;grid-column:span 2}
.card--hero{grid-column:span 4}
.card--wide{grid-column:span 3}
.card__im{display:block;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--calada2)}
.card--hero .card__im{aspect-ratio:4/3.4}
.card--wide .card__im{aspect-ratio:4/3.6}
.card__im img{width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 34%);
  transform:scale(1.03);transition:transform 1.5s var(--paso)}
.card:hover .card__im img{transform:scale(1)}
/* la pasada: una línea de luz cruza la pieza */
.card__im .trama{position:absolute;top:0;bottom:0;left:-3px;width:2px;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);filter:blur(.4px)}
.card:hover .card__im .trama,.card:focus-visible .card__im .trama{animation:pasada .75s var(--paso) forwards}
@keyframes pasada{0%{left:-3px;opacity:1}100%{left:100%;opacity:0}}
.card__c{display:block;padding:clamp(12px,1.2vw,18px) 0 0}
.card b{font-family:"Archivo",sans-serif;font-weight:600;font-variation-settings:"wdth" 92;
  font-size:clamp(15px,1.35vw,23px);letter-spacing:-.018em;display:block;line-height:1.15;color:var(--cruda)}
.card--hero b{font-size:clamp(20px,2.2vw,36px);font-weight:700;font-variation-settings:"wdth" 88}
.card .meta{font-family:"Chivo Mono",monospace;font-size:10.5px;letter-spacing:.13em;color:var(--cruda3);
  display:block;margin-top:9px;text-transform:uppercase}
.card .cta{margin-top:12px;font-family:"Archivo",sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--cruda2);position:relative;display:inline-block;padding-bottom:4px}
.card .cta::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--tinte);transition:right .6s var(--paso)}
.card:hover .cta,.card:focus-visible .cta{color:var(--cruda)}
.card:hover .cta::after,.card:focus-visible .cta::after{right:0}
.card .swatch{position:absolute;top:12px;right:12px;width:16px;height:16px;
  border:1px solid rgba(255,255,255,.75);box-shadow:0 1px 5px rgba(0,0,0,.35);z-index:2}
.prov{position:absolute;top:12px;left:12px;background:rgba(18,14,9,.82);color:var(--oro);
  font-family:"Chivo Mono",monospace;font-size:9px;letter-spacing:.12em;padding:5px 9px;text-transform:uppercase;z-index:2}

/* respiro editorial dentro del catálogo */
.pausa{grid-column:span 2;display:flex;align-items:center;padding:clamp(10px,2vw,30px) 0}
.pausa p{font-family:"Archivo",sans-serif;font-weight:600;font-variation-settings:"wdth" 92;
  font-size:clamp(18px,1.8vw,30px);line-height:1.16;letter-spacing:-.022em;color:var(--cruda);margin:0;max-width:18ch}
.pausa span{display:block;font-family:"Chivo Mono",monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--tinte);margin-bottom:14px}

.gridpie{padding:clamp(28px,4vw,56px) var(--pad);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  align-items:center;font-family:"Chivo Mono",monospace;font-size:11px;letter-spacing:.13em;color:var(--cruda3);text-transform:uppercase}
.gridpie a{position:relative;padding-bottom:3px;color:var(--cruda2)}
.gridpie a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--tinte);transition:right .6s var(--paso)}
.gridpie a:hover::after{right:0}
.vacio{padding:clamp(30px,5vw,70px) var(--pad);color:var(--cruda2);font-size:clamp(16px,1.3vw,21px);max-width:46ch;line-height:1.55}

/* ═══════ FICHA ═══════ */
.ficha{display:grid;grid-template-columns:1.35fr 1fr;min-height:100svh}
.ficha__foto{position:relative;background:#000;overflow:hidden}
.ficha__foto .prov{top:calc(clamp(70px,9vh,110px) + 12px)}
.ficha__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 38%);
  opacity:0;transition:opacity .7s var(--paso)}
.ficha__foto img.on{opacity:1}
.thumbs{position:absolute;left:clamp(14px,1.6vw,26px);bottom:clamp(14px,1.6vw,26px);display:flex;gap:9px;z-index:3}
.thumbs button{width:clamp(44px,3.6vw,60px);aspect-ratio:3/4;border:1px solid rgba(255,255,255,.4);
  background-size:cover;background-position:center;padding:0;cursor:pointer;transition:border-color .4s var(--paso),transform .5s var(--paso)}
.thumbs button:hover{transform:translateY(-3px)}
.thumbs button[aria-current="true"]{border-color:#fff;border-width:2px}
.ficha__info{padding:calc(clamp(70px,9vh,110px) + clamp(16px,2vw,30px)) var(--pad) clamp(30px,4vw,56px);
  display:flex;flex-direction:column;gap:clamp(18px,2.2vw,30px);justify-content:center;background:var(--calada2)}
.ficha__info h1{margin:0}
.carta{border-top:1px solid var(--hilo);margin:0}
.carta>div{display:grid;grid-template-columns:auto clamp(84px,7vw,116px) 1fr;gap:16px;align-items:center;
  padding:clamp(11px,1.1vw,15px) 0;border-bottom:1px solid var(--hilo)}
.carta .g{display:grid;grid-template-columns:repeat(4,4px);gap:1.5px}
.carta .g i{width:4px;height:4px;background:rgba(244,240,231,.13)}
.carta .g i.on{background:var(--tinte)}
.carta dt{font-family:"Chivo Mono",monospace;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--cruda3)}
.carta dd{margin:0;font-size:clamp(14px,1.1vw,18px);color:var(--cruda)}
.carta dd .sw{display:inline-block;width:13px;height:13px;border:1px solid var(--hilo2);vertical-align:-2px;margin-right:9px}
.ficha__nota{font-size:clamp(13.5px,1vw,16px);color:var(--cruda2);line-height:1.6;margin:0;max-width:42ch}
.wa-prev{border:1px solid var(--hilo);background:var(--calada);padding:15px 17px;
  font-family:"Chivo Mono",monospace;font-size:11px;line-height:1.8;color:var(--cruda3);white-space:pre-wrap;margin:0}
.wa-prev b{color:var(--oro);font-weight:400}

.dosf{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);padding:clamp(40px,6vw,90px) var(--pad) 0}
.dosf figure{margin:0}
.dosf figure:nth-child(2){margin-top:clamp(30px,6vw,90px)}
.dosf .im{aspect-ratio:4/3;overflow:hidden;background:#000}
.dosf img{width:100%;height:100%;object-fit:cover;object-position:var(--fp,50% 50%)}
.dosf figcaption{padding:18px 0 0;font-size:clamp(13.5px,1.05vw,17px);color:var(--cruda2);line-height:1.55;max-width:42ch}
.dosf figcaption b{display:block;font-family:"Archivo",sans-serif;font-size:13px;letter-spacing:.19em;
  text-transform:uppercase;color:var(--cruda);margin-bottom:8px;font-weight:700}
.relac{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gut);padding:0 var(--pad)}
.relac .card{grid-column:auto}
.pasos{display:flex;justify-content:space-between;gap:16px;padding:clamp(26px,3.4vw,46px) var(--pad);
  margin-top:clamp(40px,5vw,70px);border-top:1px solid var(--hilo);
  font-family:"Chivo Mono",monospace;font-size:11px;letter-spacing:.14em;color:var(--cruda3);text-transform:uppercase}
.pasos a:hover{color:var(--oro)}
.barra{display:none}

/* ══ MOTION · los cuatro gestos ══ */
/* 1 · calada: se abre desde el centro, como la urdimbre al separarse */
.anim .g-calada{opacity:0;clip-path:inset(46% 0 46% 0);
  transition:clip-path 1s var(--paso),opacity .6s var(--paso)}
.anim .g-calada.vista{opacity:1;clip-path:inset(0 0 0 0)}
/* 2 · pasada: la imagen se descubre de izquierda a derecha */
.anim .g-pasada{clip-path:inset(0 100% 0 0);transition:clip-path 1.15s var(--paso)}
.anim .g-pasada.vista{clip-path:inset(0 0 0 0)}
/* 3 · peine: llega desde arriba y se asienta, sin rebote */
.anim .g-peine{opacity:0;transform:translateY(-26px);
  transition:transform .85s var(--paso),opacity .55s var(--paso)}
.anim .g-peine.vista{opacity:1;transform:none}
.anim .d1{transition-delay:.09s}.anim .d2{transition-delay:.18s}.anim .d3{transition-delay:.27s}
/* 4 · avance de urdimbre: rail lateral, lo único continuo */
.urdimbre{position:fixed;left:0;top:0;bottom:0;width:16px;z-index:70;pointer-events:none;opacity:.22;
  background:repeating-linear-gradient(0deg,var(--luz) 0 1px,transparent 1px 10px);will-change:transform}

@media (max-width:1180px){
  .materia{grid-template-columns:repeat(2,1fr);row-gap:clamp(20px,4vw,40px)}
  .relac{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:880px){
  :root{--pad:20px;--gut:12px}
  .burger{display:block}
  .menu{position:fixed;left:0;right:0;top:71px;padding:0;flex-direction:column;gap:0;
    background:rgba(18,14,9,.985);backdrop-filter:blur(20px);font-size:19px;letter-spacing:.14em;
    max-height:0;overflow:hidden;transition:max-height .7s var(--paso)}
  .menu[data-open="true"]{max-height:calc(100svh - 71px)}
  .menu li{border-top:1px solid var(--hilo)}
  .menu a{padding:20px var(--pad)}
  .menu a::after{display:none}
  .hero__marca{padding-top:clamp(88px,15vh,130px)}
  .hero__marca img{width:min(62vw,300px)}
  .oficio__par,.dosf,.piezas,.ficha{grid-template-columns:1fr}
  .oficio__par figure:nth-child(2),.dosf figure:nth-child(2){margin-top:0}
  .cat:nth-child(n){grid-column:auto;grid-row:auto;min-height:56vw}
  .cat:nth-child(1){min-height:84vw}
  .familia{min-height:118svh}
  .familia img{object-position:var(--fp-m,50% 18%)}
  .ficha__foto{min-height:0;aspect-ratio:4/5}
  .grid{grid-template-columns:repeat(2,1fr)}
  .card,.card--hero,.card--wide{grid-column:span 1}
  .card--hero{grid-column:span 2}
  .card--hero .card__im{aspect-ratio:4/3.4}
  .pausa{grid-column:span 2;padding:clamp(14px,4vw,26px) 0}
  .relac{grid-template-columns:repeat(2,1fr)}
  .urdimbre{width:8px;opacity:.16}
  .pie{flex-direction:column;align-items:flex-start}
  .pie .mini{text-align:left}
  .barra{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:11px var(--pad) calc(11px + env(safe-area-inset-bottom));
    background:rgba(27,22,16,.97);backdrop-filter:blur(14px);border-top:1px solid var(--hilo)}
  body.tiene-barra{padding-bottom:74px}
  .ficha__info .wa-btn{display:none}
  .dl>div{grid-template-columns:1fr;gap:3px}
}
@media (max-width:880px){
  .prov{font-size:7.5px;padding:3px 6px;letter-spacing:.09em;top:8px;left:8px}
  .card .swatch{width:13px;height:13px;top:8px;right:8px}
}
@media (max-width:520px){
  .materia{grid-template-columns:1fr}
  .materia figure:nth-child(n){aspect-ratio:4/5;margin-bottom:0}
  .grid{grid-template-columns:repeat(2,1fr)}
  .relac{grid-template-columns:repeat(2,1fr)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  .anim .g-calada,.anim .g-pasada,.anim .g-peine{opacity:1!important;clip-path:none!important;transform:none!important}
  .urdimbre,.hero__warp{display:none}
  .scrollcue i::after{display:none}
}
@media print{.top,.urdimbre,.barra,.hero__warp{display:none}}

/* Integración catálogo fotográfico 2026 · Carta de Tejido como estructura */
:root{--t-prendas-superiores:#B16624;--t-piezas-amplias:#8D6350;--t-ponchos-infantiles:#AA2736;--t-bufandas:#D80F8C;--t-calcetas:#6F8697;--t-guantes:#2053B4;--t-gorros:#7160A8;--t-pantuflas:#6D8C64;--t-cubrecamas:#A57A52;--t-lanas:#C7922D}
.catalogo-kicker{font-family:"Chivo Mono",monospace;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--oro);margin:0 0 14px}
.catalogo-home{padding-top:clamp(70px,11vh,150px)}
.piezas--catalogo{grid-auto-rows:minmax(240px,36vw)}
.piezas--catalogo .cat:nth-child(n){grid-column:span 2;grid-row:span 1;min-height:0}
.piezas--catalogo .cat:nth-child(1),.piezas--catalogo .cat:nth-child(10){grid-column:span 4}
.card__im img{object-fit:contain;object-position:center;transform:none;background:#17130e}
.card:hover .card__im img{transform:scale(1.015)}
.card__descriptor{display:block;margin-top:8px;color:var(--cruda2);font-size:clamp(13px,1vw,16px);line-height:1.35;max-width:40ch}
.ficha__foto{background:#0b0906}
.ficha__foto img{object-fit:contain;object-position:center;background:#0b0906}
.thumbs{right:clamp(14px,1.6vw,26px);overflow-x:auto;padding:5px;scrollbar-width:thin}
.photo-count{position:absolute;right:clamp(14px,1.6vw,26px);top:calc(clamp(70px,9vh,110px) + 12px);z-index:3;background:rgba(18,14,9,.82);padding:6px 9px;font-family:"Chivo Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--cruda2)}
.ficha__alerta,.category-notice{border:1px solid var(--hilo);background:var(--calada);padding:16px 18px;color:var(--cruda2);font-size:14px;line-height:1.55}
.ficha__alerta{margin:0}.ficha__alerta b,.category-notice b{color:var(--oro);font-weight:500}
.category-notice{margin:clamp(24px,4vw,52px) var(--pad) 0}.category-notice p{margin:0;max-width:74ch}
.support-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--gut);padding:var(--gut) var(--pad) 0}
.support-grid figure{margin:0;background:var(--calada2)}.support-grid img{width:100%;height:min(72vh,760px);object-fit:contain;background:#0b0906}
.support-grid figcaption{padding:14px 16px 18px;color:var(--cruda2);font-size:14px}
.support-grid--lana{grid-template-columns:repeat(4,1fr)}.support-grid--lana img{height:auto;aspect-ratio:3/4;object-fit:contain}
.familia--reservada img{filter:saturate(.65)}
.ficha>*{min-width:0}.ficha__info{min-width:0;overflow:hidden}.ficha__info h1,.carta dd{overflow-wrap:anywhere}
.section-intro{max-width:72ch;margin:clamp(24px,4vw,52px) var(--pad);color:var(--cruda2);font-size:clamp(17px,1.6vw,23px);line-height:1.5}
.materia-real,.familia-stage{padding-top:clamp(70px,11vh,150px)}
.material-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gut);padding:0 var(--pad)}.material-grid figure{margin:0;position:relative;background:#120f0a}.material-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.material-grid figcaption{position:absolute;left:12px;bottom:12px;padding:7px 9px;background:rgba(15,11,7,.76);color:var(--cruda2);font-family:"Chivo Mono",monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.texture-band{height:clamp(90px,11vw,170px);margin:clamp(42px,7vw,90px) var(--pad) 0;background-image:linear-gradient(90deg,rgba(18,14,9,.35),rgba(18,14,9,.72)),var(--texture);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:14px 18px;color:var(--cruda2);font-family:"Chivo Mono",monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.familia-stage{background:var(--calada)}.family-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:var(--gut);padding:clamp(28px,4vw,58px) var(--pad) 0}.family-grid figure{position:relative;margin:0;background:#17130e}.family-grid img{display:block;width:100%;height:min(68vh,720px);object-fit:cover;object-position:center}.family-grid figcaption{display:flex;justify-content:space-between;gap:16px;padding:15px 17px;color:var(--cruda)}.family-grid figcaption small{color:var(--cruda2);text-align:right}.consent{position:absolute;left:14px;top:14px;background:#a82b32;color:#fff;padding:8px 10px;font-family:"Chivo Mono",monospace;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.stage-note{margin:0;padding:18px var(--pad) clamp(44px,7vw,86px);color:var(--cruda2);font-size:13px}
.gallery-label{display:none;position:absolute;left:clamp(16px,2vw,30px);bottom:clamp(84px,11vh,118px);z-index:4;background:rgba(18,14,9,.84);padding:8px 10px;color:var(--cruda2);font-family:"Chivo Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.gallery-label b{color:var(--oro);margin-right:10px}.ficha__foto img.on+.gallery-label{display:block}
.hierarchy{display:flex;align-items:stretch;gap:7px;margin:22px 0 26px}.hierarchy p{margin:0;min-width:0;flex:1;padding:10px;border-top:2px solid var(--tinte);background:var(--calada)}.hierarchy b,.hierarchy span{display:block}.hierarchy b{font-family:"Chivo Mono",monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--cruda2)}.hierarchy span{margin-top:5px;font-size:14px;color:var(--cruda)}.hierarchy>i{align-self:center;color:var(--oro);font-style:normal}
.relation-lists{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);margin-bottom:22px}.relation-lists section{border-top:1px solid var(--hilo);padding-top:12px}.relation-lists h2{margin:0 0 10px;font-family:"Chivo Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--oro)}.relation-lists ol{list-style:none;margin:0;padding:0}.relation-lists li{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:5px 0;color:var(--cruda2);font-size:12px;line-height:1.35}.relation-lists li span{font-family:"Chivo Mono",monospace;font-size:9px;color:var(--tinte)}.fusion-note{padding:12px 14px;border-left:3px solid var(--tinte);background:var(--calada);font-size:12px;line-height:1.5;color:var(--cruda2)}
@media(max-width:1040px){.menu{gap:16px}.menu a{font-size:9px}}
@media(max-width:880px){.piezas--catalogo{grid-auto-rows:minmax(260px,78vw)}.piezas--catalogo .cat:nth-child(n){grid-column:span 1;min-height:0}.piezas--catalogo .cat:nth-child(1),.piezas--catalogo .cat:nth-child(10){grid-column:span 2}.support-grid,.support-grid--lana{grid-template-columns:1fr 1fr}.material-grid{grid-template-columns:1fr 1fr}.family-grid{grid-template-columns:1fr}.family-grid img{height:auto;aspect-ratio:4/3}.family-grid figure:last-child img{aspect-ratio:4/5}.ficha__foto{aspect-ratio:4/5}.ficha__foto img{padding-top:72px;padding-bottom:84px}.photo-count{top:82px}.thumbs{bottom:12px}.gallery-label{bottom:82px}}
@media(max-width:520px){.rot{flex-wrap:wrap}.rot .mas{flex-basis:calc(100% - 37px);width:calc(100% - 37px);margin-left:37px;white-space:normal;line-height:1.4}.consent{top:58px}.piezas--catalogo{grid-template-columns:1fr;grid-auto-rows:minmax(340px,118vw)}.piezas--catalogo .cat:nth-child(n){grid-column:span 1}.support-grid,.support-grid--lana,.material-grid{grid-template-columns:1fr}.card__im{aspect-ratio:3/4}.grid{grid-template-columns:1fr}.card,.card--hero,.card--wide,.pausa{grid-column:span 1}.ficha__info{padding-top:30px}.carta>div{grid-template-columns:auto 72px minmax(0,1fr);gap:8px}.photo-count{left:26px;right:auto;max-width:calc(100% - 52px);white-space:normal}.pasos{font-size:9px;letter-spacing:.08em}.xxl{font-size:clamp(48px,15vw,76px)}.hierarchy{display:grid;grid-template-columns:1fr 1fr}.hierarchy>i{display:none}.relation-lists{grid-template-columns:1fr}.family-grid figcaption{display:block}.family-grid figcaption small{display:block;text-align:left;margin-top:4px}.gallery-label{left:26px;max-width:calc(100% - 52px)}}
